前人留下的打包代码,对NSIS一知半解的情况下改了改,记住用户上次安装路径。
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\demo.exe"
!define DIR "$PROGRAMFILES\demo" ;默认路径
;判断 为INSTDIR赋值
Function Page.1
ReadRegStr $R0 ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_DIR_REGKEY}" "Path"
${If} $R0 != ""
StrCpy $INSTDIR $R0
${Else}
StrCpy $INSTDIR ${DIR}
${EndIf}
FunctionEnd
;安装结束写注册表
Section -Post
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_DIR_REGKEY}" "Path" "$INSTDIR"
SectionEnd
;卸载时删除 (如果希望下次再安装时可以记住安装路径 则无需删除)
Section Uninstall
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
SectionEnd