打开文件新建向导出现如下界面
点击下一步,填写信息
点击下一步,修改安装程序文件 名称
点击下一步
点击下一步
点击下一步
点击添加AddDirTree,出现如下界面,选择exe所在目录,并勾选包含子目录
确定后下一步,其中XXX为应用程序的名称
下一步
最后保存编译
添加到环境变量
; 安装程序初始定义常量下添加如下代码:
!define PATH_KEY "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
Section -Post 上面添加 Var vPath
在WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" 下面添加如下代码:
ReadRegStr $vPath ${PRODUCT_UNINST_ROOT_KEY} "${PATH_KEY}" "Path"
strcpy $vPath "$vPath$INSTDIR;"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PATH_KEY}" "Path" "$vPath"
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" //这是刷新环境变量
卸载删除环境变量
添加头文件:!include "WordFunc.nsh"
Section Uninstall 下写如下代码:
ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
${WordReplace} $R0 ";$INSTDIR" "" "+" $R1
;MessageBox MB_OK|MB_USERICON '$R0 - $INSTDIR - $R1 '
WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$R1"
向注册表添加注册路径
在安装程序初始定义常量下
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\clientits"
在Section-Post下添加
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR"
注:修改环境变量会导致系统命令无效,为了解决这个问题,在环境变量添加系统路径C:\Windows\System32;,如下代码:
添加环境变量代码:
ReadRegStr $vPath ${PRODUCT_UNINST_ROOT_KEY} "${PATH_KEY}" "Path"
strcpy $vPath "$vPath;$INSTDIR;C:\Windows\System32;"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PATH_KEY}" "Path" "$vPath"
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment"
删除环境变量代码:
ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
${WordReplace} $R0 ";$INSTDIR;C:\Windows\System32;" "" "+" $R1
;MessageBox MB_OK|MB_USERICON '$R0 - $INSTDIR - $R1 '
WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$R1"
注册表开机启动项
添加蓝色代码:
!define MUI_FINISHPAGE_SHOWREADME
!define MUI_FINISHPAGE_SHOWREADME_Function AutoBoot
!define MUI_FINISHPAGE_SHOWREADME_TEXT "开机自动启动"
Function AutoBoot
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "server""$INSTDIR\Server.exe"
FunctionEnd
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Run"
文件名的修改
Rename $INSTDIR\server.exe $INSTDIR\KIPACS.exe
从此网址转载:https://blog.csdn.net/u010434924/article/details/46011721