如果操作系统是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

10-07 19:09
查看更多