Ali*_*Ali 7 inno-setup 32bit-64bit
如果操作系统是64位我想安装32位DLL到Program Files (x86)文件夹和64位DLL到Program Files文件夹并分别注册它们.如果是32位操作系统,我只想将文件复制到普通程序文件夹并注册.
我怎么能在Inno Setup中做到这一点?64位regsvr32程序也会注册64位DLL 吗?
到目前为止,这是我的代码.它在32位操作系统上工作正常,但在64位操作系统上它会转储两组文件Program Files (x86).
[Files]
Source: D:\..\32bit files\mylibrary.dll; DestDir: {app}; \
Flags: restartreplace ignoreversion regserver 32bit
Source: D:\..\64bit files\mylibrary.dll; DestDir: {app}; \
Flags: restartreplace ignoreversion regserver 64bit; Check: IsWin64
Run Code Online (Sandbox Code Playgroud)
我看过这个64BitTwoArch.iss例子,但它告诉我们如何进行32位或64位安装而不是32位和64位安装.
无法让它仅使用{app}变量,因为您想同时安装在两个目标上。
通过像这样对程序文件夹进行硬编码来解决它
#define MyAppName "TestAPP"
[Files]
Source: D:\..\32bit files\mylibrary.dll; DestDir: {pf32}\{#MyAppName}; \
Flags: restartreplace ignoreversion regserver 32bit
Source: D:\..\64bit files\mylibrary.dll; DestDir: {pf64}\{#MyAppName}; \
Flags: restartreplace ignoreversion regserver 64bit; Check: IsWin64
Run Code Online (Sandbox Code Playgroud)
这对我有用。Windows 以这种方式自动加载 32 位应用程序的 32 位 dll 和 64 位应用程序的 64 位 dll。
| 归档时间: |
|
| 查看次数: |
8325 次 |
| 最近记录: |