根据系统位宽(x86 or x64)设置安装目录
用于制作x64&x86软件的双版合一安装包,根据系统位宽自动释放文件到Program Files或Program Files (x86)下!以下仅示例脚本结构:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | !define PRODUCT_NAME "AppName" !define PRODUCT_VERSION "1.0.0.0" !define PRODUCT_DIR_REGKEY "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_NAME}.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" # 需要引入的nsh脚本 !include "x64.nsh" Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "${PRODUCT_NAME}_${PRODUCT_VERSION}_setup.exe" InstallDirRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" # 这里不用定义下面的“InstallDir” # InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" Section "Test" Test SetOutPath "$INSTDIR" SectionEnd Function .onInit # 安装目录设置 ${If} ${RunningX64} StrCpy $INSTDIR "$PROGRAMFILES64\${PRODUCT_NAME}" ${ else } StrCpy $INSTDIR "$PROGRAMFILES\${PRODUCT_NAME}" ${EndIf} FunctionEnd |
文章来源:nsisfans