Inno setup Inno设置-强制在32位模式下运行

Inno setup Inno设置-强制在32位模式下运行,inno-setup,Inno Setup,所以,我制作了一个组合安装程序,如果在64位机器上运行,应该安装一组文件,如果在32位机器上运行,应该安装另一组文件 我目前在一台64位机器上。那么,有没有命令行参数或任何其他方式来模拟在32位模式下运行的呢?我只是想看看它是否按预期工作 我的代码如下所示: [Setup] ... ArchitecturesInstallIn64BitMode=x64 [Files] Source: "Win64Data\filename.ext"; DestDir: "{app}"; Flags: igno

所以,我制作了一个组合安装程序,如果在64位机器上运行,应该安装一组文件,如果在32位机器上运行,应该安装另一组文件

我目前在一台64位机器上。那么,有没有命令行参数或任何其他方式来模拟在32位模式下运行的呢?我只是想看看它是否按预期工作

我的代码如下所示:

[Setup]
...
ArchitecturesInstallIn64BitMode=x64

[Files]
Source: "Win64Data\filename.ext"; DestDir: "{app}"; Flags: ignoreversion; Check: IsWin64
Source: "Win32Data\filename.ext"; DestDir: "{app}"; Flags: ignoreversion; Check: not IsWin64

没有。没有通用的方法来模拟32位系统

当然,您可以创建32位虚拟机


虽然对于你的具体情况,你有完全的控制权。因此,只需将替换为允许使用命令行开关进行重写的自定义函数:

[文件]
来源:“Win64Data\filename.ext”。。。;检查:ISWIN64可重写
来源:“Win32Data\filename.ext”。。。;检查:不可重写
[守则]
{@TLama的函数来自https://stackoverflow.com/q/14392921/850848 }
函数CmdLineParamExists(常量值:字符串):布尔值;
变量
I:整数;
开始
结果:=假;
对于I:=1的参数
如果CompareText(ParamStr(I),Value)=0,则
开始
结果:=真;
出口
结束;
结束;
函数ISWIN64可重写:布尔值;
开始
结果:=IsWin64和(不是CmdLineParamExists('/Win32'));
结束;

添加了示例脚本