188 lines
7.6 KiB
NSIS
188 lines
7.6 KiB
NSIS
|
|
!define VERSION_NUM "v1.12.1"
|
|
|
|
!define DRIVE_D "G:"
|
|
!define SECOND_LEVEL_NAME "APack"
|
|
!define RUN_ENVIRONMENT_DIR "${DRIVE_D}\${SECOND_LEVEL_NAME}\pack\Environment"
|
|
!define INSTALL_NAME "RTM_x64"
|
|
!define INSTALL_DIR "C:\ZOYON\RTM"
|
|
!define SPLIT_TOOL_DIR "${DRIVE_D}\${SECOND_LEVEL_NAME}\pack\工程切分工具20230606\工程切分工具20230606"
|
|
!define RTM_CAPTURE_DIR "${DRIVE_D}\${SECOND_LEVEL_NAME}\pack\ReleaseXML5"
|
|
!define RTM_CAPTURE_XML "${DRIVE_D}\${SECOND_LEVEL_NAME}\pack\XML"
|
|
!define RTM_XML_CONFIG_DIR "${DRIVE_D}\${SECOND_LEVEL_NAME}\pack\RTMConfiger"
|
|
!define RTM_CHANNEL_SHOW_DIR "${DRIVE_D}\${SECOND_LEVEL_NAME}\pack\ChannelShow"
|
|
!define MONITOR_DIR "${DRIVE_D}\${SECOND_LEVEL_NAME}\pack\Monitor_RealseV20.12.1"
|
|
!define RTM_VERSION_DIR "${DRIVE_D}\${SECOND_LEVEL_NAME}\pack"
|
|
|
|
; Build Unicode installer
|
|
Unicode True
|
|
; The default installation directory
|
|
InstallDir "${INSTALL_DIR}"
|
|
; Registry key to check for directory (so if you install again, it will
|
|
; overwrite the old one automatically)
|
|
InstallDirRegKey HKLM "Software\${INSTALL_NAME}" "${INSTALL_DIR}"
|
|
LoadLanguageFile "${NSISDIR}\Contrib\Language files\SimpChinese.nlf"
|
|
LangString Name ${LANG_SIMPCHINESE} "Simplified Chinese"
|
|
Name "${INSTALL_NAME}"
|
|
OutFile "x64采集软件安装包${VERSION_NUM}.exe"
|
|
|
|
RequestExecutionLevel admin
|
|
!include "${NSISDIR}\Contrib\Modern UI\System.nsh"
|
|
Page license
|
|
Page components
|
|
Page directory
|
|
Page instfiles
|
|
|
|
UninstPage uninstConfirm
|
|
UninstPage instfiles
|
|
|
|
; 停止指定的Windows服务
|
|
Function un.StopService
|
|
; 使用System plug-in的nsExec插件执行命令
|
|
; nsExec::ExecToLog 'net stop "CaptProcMgr"'
|
|
nsExec::Exec 'net stop "CaptProcMgr"'
|
|
nsExec::Exec 'net stop "CaptWarnMgr"'
|
|
Sleep 1000
|
|
FunctionEnd
|
|
Function StopService
|
|
; 使用System plug-in的nsExec插件执行命令
|
|
nsExec::Exec 'net stop "CaptProcMgr"'
|
|
nsExec::Exec 'net stop "CaptWarnMgr"'
|
|
Sleep 1000
|
|
FunctionEnd
|
|
|
|
; 停止指定的进程
|
|
Function un.StopProcess
|
|
; 使用System plug-in的nsExec插件执行命令
|
|
nsExec::ExecToLog 'taskkill /F /IM "Web.Master.exe"'
|
|
nsExec::ExecToLog 'taskkill /F /IM "NavExe.exe"'
|
|
FunctionEnd
|
|
Function StopProcess
|
|
; 使用System plug-in的nsExec插件执行命令
|
|
nsExec::ExecToLog 'taskkill /F /IM "Web.Master.exe"'
|
|
nsExec::ExecToLog 'taskkill /F /IM "NavExe.exe"'
|
|
FunctionEnd
|
|
|
|
Section "卸载程序"
|
|
SectionIn RO
|
|
Call StopProcess
|
|
Call StopService
|
|
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|
SectionEnd
|
|
|
|
; 设定许可协议文本
|
|
LicenseData "${RTM_VERSION_DIR}\license.txt"
|
|
|
|
Section "切割工具"
|
|
SetOutPath "$INSTDIR\Tool"
|
|
File /nonfatal /r "${SPLIT_TOOL_DIR}\*.*"
|
|
CreateShortCut "$DESKTOP\切分工具.lnk" $INSTDIR\Tool\SplitTaskApp.exe "" \
|
|
"$INSTDIR\Tool\Kid Mac Os.ico" 0 SW_SHOWNORMAL "" "Split Tool"
|
|
SectionEnd
|
|
|
|
Section "RTM配置工具"
|
|
SetOutPath "$INSTDIR\RTMConfiger"
|
|
File /nonfatal /r "${RTM_XML_CONFIG_DIR}\*.*"
|
|
CreateShortCut "$DESKTOP\RTM配置.lnk" $INSTDIR\RTMConfiger\RTMConfiger.exe "" \
|
|
"$INSTDIR\RTMConfiger\RTMConfiger.exe" 0 SW_SHOWNORMAL "" "采集软件RTM配置文件修改工具。"
|
|
SectionEnd
|
|
|
|
Section "监控程序"
|
|
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\Web.Master.lnk"
|
|
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\NavExe.lnk"
|
|
Delete "$STARTMENU\Web.Master.lnk"
|
|
Delete "$STARTMENU\NavExe.lnk"
|
|
Delete "$SMSTARTUP\Web.Master.lnk"
|
|
Delete "$SMSTARTUP\NavExe.lnk"
|
|
SetOutPath "$INSTDIR\Monitor"
|
|
File /nonfatal /r "${MONITOR_DIR}\*.*"
|
|
File "/oname=$INSTDIR\Monitor\dotnet-sdk-3.1.404-win-x64.exe" \
|
|
"${RUN_ENVIRONMENT_DIR}\dotnet-sdk-3.1.404-win-x64.exe"
|
|
SetOutPath "$INSTDIR\Monitor\Service"
|
|
CreateShortCut "$DESKTOP\Web.Master.lnk" $INSTDIR\Monitor\Service\Web.Master.exe "" \
|
|
"$INSTDIR\Monitor\Service\Web.Master.exe" 0 SW_SHOWNORMAL "" "Web监控服务器。"
|
|
;$STARTMENU
|
|
CreateShortCut "$SMSTARTUP\Web.Master.lnk" $INSTDIR\Monitor\Service\Web.Master.exe "" \
|
|
"$INSTDIR\Monitor\Service\Web.Master.exe" 0 SW_SHOWNORMAL "" "Web监控服务器。"
|
|
SetOutPath "$INSTDIR\Monitor\MainFrame"
|
|
CreateShortCut "$DESKTOP\ZyFrame.lnk" $INSTDIR\Monitor\MainFrame\App.ZyMainFrame.exe "" \
|
|
"$INSTDIR\Monitor\MainFrame\App.ZyMainFrame.exe" 0 SW_SHOWNORMAL "" "Web监控界面。"
|
|
; CreateShortCut "$DESKTOP\ZyMain.lnk" $INSTDIR\Monitor\MainFrame\ZyLaunch.exe "" \
|
|
; "$INSTDIR\Monitor\MainFrame\ZyLaunch.exe" 0 SW_SHOWNORMAL "" "Web监控界面。"
|
|
SetOutPath "$INSTDIR\Monitor\NavUIExe"
|
|
CreateShortCut "$SMSTARTUP\NavExe.lnk" $INSTDIR\Monitor\NavUIExe\NavExe.exe "" \
|
|
"$INSTDIR\Monitor\NavUIExe\NavExe.exe" 0 SW_SHOWNORMAL "" "NavExe 服务"
|
|
|
|
nsExec::Exec 'sc stop CaptWarnMgr'
|
|
nsExec::Exec 'sc delete CaptWarnMgr'
|
|
nsExec::Exec 'sc create CaptWarnMgr binPath="$INSTDIR\Monitor\Warn\WNS.Detection.exe" start=auto'
|
|
SectionEnd
|
|
|
|
Section "RTM采集软件"
|
|
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\Web.Master.lnk"
|
|
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\NavExe.lnk"
|
|
SetOutPath "$INSTDIR"
|
|
File /nonfatal /r "${RTM_CAPTURE_DIR}\*.*"
|
|
CreateDirectory "$INSTDIR\Plugin"
|
|
File "/oname=$INSTDIR\Plugin\mysql-connector-odbc-8.0.29-winx64.msi" \
|
|
"${RUN_ENVIRONMENT_DIR}\mysql-connector-odbc-8.0.29-winx64.msi"
|
|
File "/oname=$INSTDIR\Plugin\强制关闭本机所有采集.bat" \
|
|
"${RUN_ENVIRONMENT_DIR}\强制关闭本机所有采集.bat"
|
|
File "/oname=$INSTDIR\Plugin\Dalsa库剔除.bat" \
|
|
"${RUN_ENVIRONMENT_DIR}\Dalsa库剔除.bat"
|
|
; File "/oname=$INSTDIR\Plugin\Basler库剔除.bat" \
|
|
; "${RUN_ENVIRONMENT_DIR}\Basler库剔除.bat"
|
|
ExecWait "$INSTDIR\BUS.RegisterPC.exe"
|
|
|
|
; CreateDirectory "$INSTDIR\RTM_Version"
|
|
; File "/oname=$INSTDIR\RTM_Version\version.txt" \
|
|
; "${RTM_VERSION_DIR}\version.txt"
|
|
|
|
; Write the installation path into the registry
|
|
WriteRegStr HKLM SOFTWARE\${INSTALL_NAME} "$INSTDIR" "$INSTDIR"
|
|
|
|
; Write the uninstall keys for Windows
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL_NAME}" "DisplayName" "${INSTALL_NAME}"
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL_NAME}" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL_NAME}" "NoModify" 1
|
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL_NAME}" "NoRepair" 1
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL_NAME}" "Publisher" "ZOYON"
|
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL_NAME}" "DisplayVersion" "${VERSION_NUM}"
|
|
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|
SectionEnd
|
|
|
|
Section "采集XML配置文件"
|
|
SetOutPath "$INSTDIR"
|
|
File /nonfatal /r "${RTM_CAPTURE_XML}\*.*"
|
|
SectionEnd
|
|
|
|
Section "通道查看工具"
|
|
SetOutPath "$INSTDIR\ChannelShow"
|
|
File /nonfatal /r "${RTM_CHANNEL_SHOW_DIR}\*.*"
|
|
CreateShortCut "$DESKTOP\通道查看器.lnk" $INSTDIR\ChannelShow\ChannelDataShow.exe "" \
|
|
"$INSTDIR\ChannelShow\ChannelDataShow.exe" 0 SW_SHOWNORMAL "" "采集卡通道查看工具。"
|
|
SectionEnd
|
|
|
|
Section "Uninstall"
|
|
; 卸载前停止服务和进程
|
|
Call un.StopService
|
|
Call un.StopProcess
|
|
RMDir /r /REBOOTOK "$INSTDIR"
|
|
Delete "$SMSTARTUP\Web.Master.lnk"
|
|
Delete "$SMSTARTUP\NavExe.lnk"
|
|
Delete "$DESKTOP\切分工具.lnk"
|
|
Delete "$DESKTOP\RTM配置.lnk"
|
|
Delete "$DESKTOP\通道查看器.lnk"
|
|
Delete "$DESKTOP\Web.Master.lnk"
|
|
Delete "$STARTMENU\Web.Master.lnk"
|
|
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\Web.Master.lnk"
|
|
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\NavExe.lnk"
|
|
Delete "$STARTMENU\Web.Master.lnk"
|
|
Delete "$STARTMENU\NavExe.lnk"
|
|
Delete "$DESKTOP\ZyFrame.lnk"
|
|
Delete "$DESKTOP\ZyMain.lnk"
|
|
Delete "$INSTDIR\Uninstall.exe"
|
|
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL_NAME}"
|
|
DeleteRegKey HKLM SOFTWARE\${INSTALL_NAME}
|
|
SectionEnd
|