如果操作系统是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位安装。 最佳答案
我在以下方面取得了成功:
[Files]
Source: D:\..\32bit files\mylibrary.dll; DestDir: {app}; \
Flags: restartreplace ignoreversion regserver 32bit; **Check: "not IsWin64"**
Source: D:\..\64bit files\mylibrary.dll; DestDir: {app}; \
Flags: restartreplace ignoreversion regserver 64bit; Check: IsWin64