如果操作系统是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
我查看了 64BitTwoArch.iss
示例,但它告诉我们如何进行32位或64位安装而不是32位和64位安装 .
2 回答
我在以下方面取得了成功:
无法使用
{app}
变量,因为您希望同时安装在两个目的地上 .通过像这样硬编码程序文件文件夹来解决它
这适合我 . Windows通过这种方式为32位应用程序加载32位dll,为64位应用程序加载64位dll .