我正在尝试使用“x64.nsh”将默认安装目录设置为PROGRAMFILES64
if 在 64 位主机上。安装程序脚本类似于以下内容:
!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
.
我看过一些例子(尤其是这个),但似乎没有一个对我有用。有没有完整的例子?
这是否与 nsis 创建一个 32 位安装程序 ( PE32 executable (GUI) Intel 80386
) 的事实有关,即使在 64 位操作系统上打包 64 位代码时也是如此?
编辑:我实际上不介意只有 64 位的安装程序,因为有(并且可能不会有)32 位版本。但我似乎无法Program Files (x86)
从$PROGRAMFILES64
变量中得到。