微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NSIS安装程序在安装后不会停止

如何解决NSIS安装程序在安装后不会停止

安装该程序后,我的自定义NSIS安装程序不会停止运行。但是,安装成功。 NSIS安装程序会运行并消耗大量cpu

下面是.nsi脚本

############################################################################################
#      NSIS Installation Script created by NSIS Quick Setup Script Generator v1.09.18
#               Entirely Edited with NullSoft Scriptable Installation System                
#              by Vlasis K. Barkas aka Red Wine red_wine@freemail.gr Sep 2006               
############################################################################################
UNICODE True

!define APP_NAME "PaperBuilder"
!define COMP_NAME "IISER-M Students"
!define WEB_SITE "https://iiserm.github.io/PaperBuilder"
!define VERSION "00.01.00.00"
!define copYRIGHT ""
!define DESCRIPTION "Create beautiful Latex projects with Markdown"
!define INSTALLER_NAME "..\release\PaperBuilder-Setup.exe"
!define MAIN_APP_EXE "PaperBuilder.bat"
!define INSTALL_TYPE "SetShellVarContext current"
!define REG_ROOT "HKCU"
!define REG_APP_PATH "Software\Microsoft\Windows\CurrentVersion\App Paths\${MAIN_APP_EXE}"
!define UNINSTALL_PATH "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APP_NAME}"

######################################################################

VIProductVersion  "${VERSION}"
VIAddVersionKey "ProductName"  "${APP_NAME}"
VIAddVersionKey "CompanyName"  "${COMP_NAME}"
VIAddVersionKey "Legalcopyright"  "${copYRIGHT}"
VIAddVersionKey "FileDescription"  "${DESCRIPTION}"
VIAddVersionKey "FiLeversion"  "${VERSION}"

######################################################################

SetCompressor ZLIB
Name "${APP_NAME}"
Caption "${APP_NAME}"
OutFile "${INSTALLER_NAME}"
brandingText "${APP_NAME}"
XPStyle on
InstallDirRegKey "${REG_ROOT}" "${REG_APP_PATH}" ""
InstallDir "$PROGRAMFILES64\PaperBuilder"

######################################################################

!include "FileFunc.nsh"

!insertmacro GetParent

!include "MUI.nsh"

!define MUI_ABORTWARNING
!define MUI_UNABORTWARNING

!insertmacro MUI_PAGE_WELCOME

!ifdef LICENSE_TXT
!insertmacro MUI_PAGE_LICENSE "${LICENSE_TXT}"
!endif

!insertmacro MUI_PAGE_DIRECTORY

!ifdef REG_START_MENU
!define MUI_startmenuPAGE_NOdisABLE
!define MUI_startmenuPAGE_DEFAULTFOLDER "PaperBuilder"
!define MUI_startmenuPAGE_REGISTRY_ROOT "${REG_ROOT}"
!define MUI_startmenuPAGE_REGISTRY_KEY "${UNINSTALL_PATH}"
!define MUI_startmenuPAGE_REGISTRY_VALUENAME "${REG_START_MENU}"
!insertmacro MUI_PAGE_startmenu Application $SM_Folder
!endif

!insertmacro MUI_PAGE_INSTFILES

!define MUI_FINISHPAGE_RUN "$INSTDIR\${MAIN_APP_EXE}"
!insertmacro MUI_PAGE_FINISH

!insertmacro MUI_UNPAGE_CONFIRM

!insertmacro MUI_UNPAGE_INSTFILES

!insertmacro MUI_UNPAGE_FINISH

!insertmacro MUI_LANGUAGE "English"

######################################################################

Section -MainProgram
${INSTALL_TYPE}
Setoverwrite ifnewer
SetoutPath "$INSTDIR"
File /r "..\build\*"
SectionEnd

######################################################################

Section -Icons_Reg
SetoutPath "$INSTDIR"
WriteUninstaller "$INSTDIR\bin\uninstall.exe"

EnVar::SetHKLM
EnVar::AddValueEx "Path" $INSTDIR
Pop $0
DetailPrint "EnVar::AddValue returned=|$0|"

!ifdef REG_START_MENU
!insertmacro MUI_startmenu_WRITE_BEGIN Application
CreateDirectory "$SMPROGRAMS\$SM_Folder"
CreateShortCut "$SMPROGRAMS\$SM_Folder\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}"
CreateShortCut "$SMPROGRAMS\$SM_Folder\Uninstall ${APP_NAME}.lnk" "$INSTDIR\bin\uninstall.exe"

!ifdef WEB_SITE
WriteIniStr "$INSTDIR\${APP_NAME} website.url" "InternetShortcut" "URL" "${WEB_SITE}"
CreateShortCut "$SMPROGRAMS\$SM_Folder\${APP_NAME} Website.lnk" "$INSTDIR\${APP_NAME} website.url"
!endif
!insertmacro MUI_startmenu_WRITE_END
!endif

!ifndef REG_START_MENU
CreateDirectory "$SMPROGRAMS\PaperBuilder"
CreateShortCut "$SMPROGRAMS\PaperBuilder\${APP_NAME}.lnk" "$INSTDIR\${MAIN_APP_EXE}"
CreateShortCut "$SMPROGRAMS\PaperBuilder\Uninstall ${APP_NAME}.lnk" "$INSTDIR\bin\uninstall.exe"

!ifdef WEB_SITE
WriteIniStr "$INSTDIR\${APP_NAME} website.url" "InternetShortcut" "URL" "${WEB_SITE}"
CreateShortCut "$SMPROGRAMS\PaperBuilder\${APP_NAME} Website.lnk" "$INSTDIR\${APP_NAME} website.url"
!endif
!endif

WriteRegStr ${REG_ROOT} "${REG_APP_PATH}" "" "$INSTDIR\${MAIN_APP_EXE}"
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "displayName" "${APP_NAME}"
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "UninstallString" "$INSTDIR\bin\uninstall.exe"
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "displayIcon" "$INSTDIR\${MAIN_APP_EXE}"
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "displayVersion" "${VERSION}"
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "Publisher" "${COMP_NAME}"

!ifdef WEB_SITE
WriteRegStr ${REG_ROOT} "${UNINSTALL_PATH}"  "URLInfoAbout" "${WEB_SITE}"
!endif

ExecWait '"msiexec" /i "$INSTDIR\prereq\pandoc.msi"'

SectionEnd

######################################################################

Section Uninstall

${GetParent} $INSTDIR $R0
Var /GLOBAL ROOT
Strcpy $ROOT $R0

Delete "$INSTDIR\bin\uninstall.exe"

Delete "$INSTDIR\..\default\*"
RMDir "$INSTDIR\..\default"

ExecWait '"msiexec" /i "$ROOT\prereq\pandoc.msi"'
Delete "$INSTDIR\..\prereq\*"
#RMDir "$INSTDIR\..\prereq"

Delete "$INSTDIR\..\bibliography.bib"
Delete "$INSTDIR\..\PaperBuilder website.url"
Delete "$INSTDIR\..\PaperBuilder.bat"
Delete "$INSTDIR\..\template.md"

RMDir /REBOOTOK /r $INSTDIR
RMDir "$INSTDIR\.."

!ifdef REG_START_MENU
!insertmacro MUI_startmenu_GETFOLDER "Application" $SM_Folder
Delete "$SMPROGRAMS\$SM_Folder\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\$SM_Folder\Uninstall ${APP_NAME}.lnk"
!ifdef WEB_SITE
Delete "$SMPROGRAMS\$SM_Folder\${APP_NAME} Website.lnk"
!endif
RMDir "$SMPROGRAMS\$SM_Folder"
!endif

!ifndef REG_START_MENU
Delete "$SMPROGRAMS\PaperBuilder\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\PaperBuilder\Uninstall ${APP_NAME}.lnk"
!ifdef WEB_SITE
Delete "$SMPROGRAMS\PaperBuilder\${APP_NAME} Website.lnk"
!endif
RMDir "$SMPROGRAMS\PaperBuilder"
!endif

DeleteRegKey ${REG_ROOT} "${REG_APP_PATH}"
DeleteRegKey ${REG_ROOT} "${UNINSTALL_PATH}"
SectionEnd

######################################################################

我的项目文件夹结构如下-

-root
|_ windows
| |_ build.nsi
|_ build
| |_ files...
|_ prereq
| |_ files
|_ release

编辑- NSIS版本-3.06.1

现在看来一切正常。有什么我想念的吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。