diff --git a/installer/windows/install_script_hmenergy.nsi b/installer/windows/install_script_hmenergy.nsi new file mode 100644 index 0000000..c674404 --- /dev/null +++ b/installer/windows/install_script_hmenergy.nsi @@ -0,0 +1,113 @@ +; 该脚本使用 HM VNISEdit 脚本编辑器向导产生 + +; 安装程序初始定义常量 +!define PRODUCT_NAME "" +!define PRODUCT_VERSION "1.0" +!define PRODUCT_PUBLISHER "GZHM" +!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\workBench.exe" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" + +SetCompressor lzma + +; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------ +!include "MUI.nsh" + +; MUI 预定义常量 +!define MUI_ABORTWARNING +!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\rqeh6000.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\rqeh6000.ico" + +; 欢迎页面 +!insertmacro MUI_PAGE_WELCOME +; 安装目录选择页面 +!insertmacro MUI_PAGE_DIRECTORY +; 安装过程页面 +!insertmacro MUI_PAGE_INSTFILES +; 安装完成页面 +!define MUI_FINISHPAGE_RUN "$INSTDIR\product\windows10_debug\workBench.exe" +!insertmacro MUI_PAGE_FINISH + +; 安装卸载过程页面 +!insertmacro MUI_UNPAGE_INSTFILES + +; 安装界面包含的语言设置 +!insertmacro MUI_LANGUAGE "SimpChinese" + +; 安装预释放文件 +!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS +; ------ MUI 现代界面定义结束 ------ + +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +OutFile "HMEnergy_install.exe" +InstallDir "D:\HMEnergy" +InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" +ShowInstDetails show +ShowUnInstDetails show +BrandingText "广州宏茂" + +Section "MainSection" SEC01 + SetOutPath "$INSTDIR" + SetOverwrite ifnewer + File ".\rqeh6000package\product\windows10_debug\workBench.exe" + CreateDirectory "$SMPROGRAMS\HMEnergy" + CreateShortCut "$SMPROGRAMS\HMEnergy\HMEnergy.lnk" "$INSTDIR\product\windows10_debug\workBench.exe" + CreateShortCut "$DESKTOP\HMEnergy.lnk" "$INSTDIR\product\windows10_debug\workBench.exe" + File /r ".\rqeh6000package\*.*" +SectionEnd + +Section -AdditionalIcons + CreateShortCut "$SMPROGRAMS\HMEnergy\Uninstall.lnk" "$INSTDIR\uninst.exe" +SectionEnd + +#启动服务 +Section -StartService +#ExecWait "$INSTDIR\installer\StartService.bat" +nsExec::Exec "$INSTDIR\installer\StartService.bat" +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\workBench.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\workBench.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" +SectionEnd + +/****************************** + * 以下是安装程序的卸载部分 * + ******************************/ + +Section Uninstall + + #卸载数据库 + #ExecWait "$INSTDIR\installer\StopService.bat" + nsExec::Exec "$INSTDIR\installer\StopService.bat" + + Delete "$SMPROGRAMS\HMEnergy\Uninstall.lnk" + Delete "$DESKTOP\HMEnergy.lnk" + Delete "$SMPROGRAMS\HMEnergy\HMEnergy.lnk" + RMDir "$SMPROGRAMS\HMEnergy" + + RMDir /r "$INSTDIR" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" + SetAutoClose true +SectionEnd + +#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--# + +Function un.onInit + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "请确认您已关闭程序且完成工程备份?" IDYES +2 + Abort + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2 + Abort +FunctionEnd + +Function un.onUninstSuccess + HideWindow + MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。" +FunctionEnd diff --git a/installer/windows/install_script_hmenergy_release.nsi b/installer/windows/install_script_hmenergy_release.nsi new file mode 100644 index 0000000..eccc568 --- /dev/null +++ b/installer/windows/install_script_hmenergy_release.nsi @@ -0,0 +1,113 @@ +; 该脚本使用 HM VNISEdit 脚本编辑器向导产生 + +; 安装程序初始定义常量 +!define PRODUCT_NAME "" +!define PRODUCT_VERSION "1.0" +!define PRODUCT_PUBLISHER "GZHM" +!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\workBench.exe" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" + +SetCompressor lzma + +; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------ +!include "MUI.nsh" + +; MUI 预定义常量 +!define MUI_ABORTWARNING +!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\rqeh6000.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\rqeh6000.ico" + +; 欢迎页面 +!insertmacro MUI_PAGE_WELCOME +; 安装目录选择页面 +!insertmacro MUI_PAGE_DIRECTORY +; 安装过程页面 +!insertmacro MUI_PAGE_INSTFILES +; 安装完成页面 +!define MUI_FINISHPAGE_RUN "$INSTDIR\product\windows10_release\workBench.exe" +!insertmacro MUI_PAGE_FINISH + +; 安装卸载过程页面 +!insertmacro MUI_UNPAGE_INSTFILES + +; 安装界面包含的语言设置 +!insertmacro MUI_LANGUAGE "SimpChinese" + +; 安装预释放文件 +!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS +; ------ MUI 现代界面定义结束 ------ + +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +OutFile "HMEnergy_install.exe" +InstallDir "D:\HMEnergy" +InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" +ShowInstDetails show +ShowUnInstDetails show +BrandingText "远信储能" + +Section "MainSection" SEC01 + SetOutPath "$INSTDIR" + SetOverwrite ifnewer + File ".\rqeh6000package\product\windows10_release\workBench.exe" + CreateDirectory "$SMPROGRAMS\HMEnergy" + CreateShortCut "$SMPROGRAMS\HMEnergy\HMEnergy.lnk" "$INSTDIR\product\windows10_release\workBench.exe" + CreateShortCut "$DESKTOP\HMEnergy.lnk" "$INSTDIR\product\windows10_release\workBench.exe" + File /r ".\rqeh6000package\*.*" +SectionEnd + +Section -AdditionalIcons + CreateShortCut "$SMPROGRAMS\HMEnergy\Uninstall.lnk" "$INSTDIR\uninst.exe" +SectionEnd + +#启动服务 +Section -StartService +#ExecWait "$INSTDIR\installer\StartService.bat" +nsExec::Exec "$INSTDIR\installer\StartService.bat" +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\workBench.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\workBench.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" +SectionEnd + +/****************************** + * 以下是安装程序的卸载部分 * + ******************************/ + +Section Uninstall + + #卸载数据库 + #ExecWait "$INSTDIR\installer\StopService.bat" + nsExec::Exec "$INSTDIR\installer\StopService.bat" + + Delete "$SMPROGRAMS\HMEnergy\Uninstall.lnk" + Delete "$DESKTOP\HMEnergy.lnk" + Delete "$SMPROGRAMS\HMEnergy\HMEnergy.lnk" + RMDir "$SMPROGRAMS\HMEnergy" + + RMDir /r "$INSTDIR" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" + SetAutoClose true +SectionEnd + +#-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--# + +Function un.onInit + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "请确认您已关闭程序且完成工程备份?" IDYES +2 + Abort + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2 + Abort +FunctionEnd + +Function un.onUninstSuccess + HideWindow + MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。" +FunctionEnd