帮助中心 helper



根据系统位宽(x86 or x64)设置安装目录

发布于:2017-05-11 16:56 编辑:Surou  浏览:

用于制作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