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