1

I use ArchitecturesInstallIn64BitMode=x64 and it works fine on 64-bit Vista/Win7, but on XP x64 it causes problems (regserver fails), so I want to set it only if the OS is not XP x64.

Is that possible?

4

1 回答 1

1

无法有条件地设置ArchitecturesInstallIn64BitMode指令,也无法决定是否要以任何方式从脚本以 32 位或 64 位安装模式运行安装程序(甚至ArchitecturesAllowed不能有条件地设置)。我建议作为您的问题的解决方法是使用RegisterServer从代码传递到其第一个参数条件的函数,当您将在 64 位 Vista 以上系统上时返回 True。使用参考中的代码,它可能看起来像这样(以下伪代码应将 OCX 扩展注册为 64 位,仅在上面装有 Windows Vista 的 64 位系统上):

RegisterServer(IsWin64 and (GetWindowsVersion >= $06000000), 
  ExpandConstant('{sys}\hhctrl.ocx'), False);
于 2012-10-18T12:31:04.380 回答