如果在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
。
答案 0 :(得分:4)
正如@leppie指出的那样,将64位二进制文件安装到c:\Program Files
(而不是c:
Program Files (x86)
是正确的,因为我认为安装了其他一些64位软件。一个64位的安装程序可以使用{{ 1}}直接。