!define PACKAGE_NAME "RCS-Translate" !define INSTALLER_PREFIX "rcs-translate" !include "common.nsh" ;Pages !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_INSTFILES ; Uninstaller pages !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_INSTFILES ; Language !insertmacro MUI_LANGUAGE "English" ; Installer Sections Section "Install Section" SecInstall SetDetailsPrint "both" DetailPrint "Stopping RCS Translate..." SimpleSC::StopService "RCSTranslate" 1 !cd '..' SetOutPath "$INSTDIR\DB\lib\rcs-translate-release" File /r "lib\rcs-translate-release\*.*" SetOutPath "$INSTDIR\DB\bin" File /r "bin-release\rcs-translate" SetDetailsPrint "both" DetailPrint "done" ReadRegDWORD $R0 HKLM "Software\HT\RCS" "translate" IntCmp $R0 1 alreadyinstalled DetailPrint "Creating service RCS Translate..." nsExec::Exec "$INSTDIR\DB\bin\nssm.exe install RCSTranslate $INSTDIR\Ruby\bin\ruby.exe $INSTDIR\DB\bin\rcs-translate" SimpleSC::SetServiceFailure "RCSTranslate" "0" "" "" "1" "60000" "1" "60000" "1" "60000" WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\RCSTranslate" "DisplayName" "RCS Translate" WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\RCSTranslate" "Description" "Remote Control System Translate processor" nsExec::Exec 'sc config RCSTranslate depend= RCSMasterRouter' DetailPrint "done" WriteRegDWORD HKLM "Software\HT\RCS" "translate" 0x00000001 alreadyinstalled: DetailPrint "Starting RCS Translate..." SimpleSC::StartService "RCSTranslate" "" 30 !cd "nsis" DetailPrint "Writing uninstall informations..." SetDetailsPrint "textonly" WriteUninstaller "$INSTDIR\setup\RCS-ORC-uninstall.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\RCSTranslate" "DisplayName" "RCS Translate" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\RCSTranslate" "DisplayIcon" "$INSTDIR\setup\RCS.ico" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\RCSTranslate" "DisplayVersion" "${PACKAGE_VERSION}" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\RCSTranslate" "UninstallString" "$INSTDIR\setup\RCS-Translate-uninstall.exe" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\RCSTranslate" "NoModify" 0x00000001 WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\RCSTranslate" "NoRepair" 0x00000001 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\RCSTranslate" "InstDir" "$INSTDIR" SetDetailsPrint "both" SectionEnd Section Uninstall DetailPrint "Stopping RCS Translate Services..." SimpleSC::StopService "RCSTranslate" 1 DetailPrint "done" DetailPrint "Removing RCS Translate Services..." SimpleSC::RemoveService "RCSTranslate" DetailPrint "done" DetailPrint "" DetailPrint "Deleting files..." SetDetailsPrint "textonly" ReadRegStr $INSTDIR HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\RCS" "InstDir" RMDir /r "$INSTDIR\DB\lib\rcs-translate-release" Delete "$INSTDIR\DB\lib\rcs-translate.rb" SetDetailsPrint "both" DetailPrint "done" DetailPrint "" DetailPrint "Removing registry keys..." DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\RCSTranslate" DeleteRegValue HKLM "Software\HT\RCS" "translate" DetailPrint "done" SectionEnd Function .onInit !insertmacro CheckInstalled !insertmacro CheckVersion !insertmacro CheckOS FunctionEnd .