在64位主机上安装到“Program Files(x86)”

时间:2012-12-30 09:23:00

标签: 64-bit nsis

如果在64位主机上,我试图使用“x64.nsh”将默认安装目录设置为PROGRAMFILES64。安装程序脚本与此类似:

!include x64.nsh
# set to default here, override in .onInit if on 64bit
InstallDir "$PROGRAMFILES\AppName"

function .onInit
    ${If} ${RunningX64}
        SetRegView 64
        StrCpy $INSTDIR "$PROGRAMFILES64\AppName"
    ${EndIf}
functionEnd

但它固执地安装到c:\Program Files\AppName

我见过几个例子(特别是this one),但似乎没有一个例子适合我。有没有完整的例子?

是否与nsis创建32位安装程序(PE32 executable (GUI) Intel 80386)有关,即使在64位操作系统上打包64位代码也是如此?

编辑:我实际上并不介意拥有一个只有64位的安装程序,因为有(也可能不会)32位版本。但我似乎无法从Program Files (x86)变量获得$PROGRAMFILES64

1 个答案:

答案 0 :(得分:4)

正如@leppie指出的那样,将64位二进制文​​件安装到c:\Program Files(而不是c: Program Files (x86)是正确的,因为我认为安装了其他一些64位软件。一个64位的安装程序可以使用{{ 1}}直接。