Inno设置ISPP,如何定义处理器架构......?

时间:2015-10-27 23:07:18

标签: inno-setup

我正在尝试使用此代码在Inno Setup中定义x86 x64预处理器变量,但它不起作用:

#if IsWin64
 #define OSBITS "x64"
#else
 #define OSBITS "x86"
#endif

有人可以帮我定义OSBITS吗?

提前致谢...

1 个答案:

答案 0 :(得分:0)

#if是预处理程序指令。因此,它在编译时进行评估。您不能使用它来选择基于目标机器架构的值,因为它仅在运行时(安装时)已知。

由于这个原因,甚至没有IsWin64预处理器功能。

如果您需要在某些Inno Setup指令中使用x64 / x86值,通常可以使用scripted constant

一个简单的例子:

[Setup]
AppName=My Program {code:OSBits}

[Code]

function OSBits(Param: String): string;
begin
  if IsWin64 then
    Result := 'x64'
  else
    Result := 'x86';
end;