5.0.2
читать дальше »
Код:

!define PRODUCT_NAME "NetWorx"
!define PRODUCT_VERSION "5.0.2 Rus"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define BRANDING "By Happy Bulldozer860"
!define pkgdir "d:\package"
; MUI 1.67 compatible ------
!include "MUI.nsh"
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "${pkgdir}\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
; installer pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
; Uninstaller pages
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
; Language files
!insertmacro MUI_LANGUAGE "Russian"
; MUI end ------
Name "${PRODUCT_NAME}"
Caption "Установка ${PRODUCT_NAME} ${PRODUCT_VERSION}"
UninstallCaption "Удаление ${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
ShowInstDetails show
ShowUninstDetails show
BrandingText "${BRANDING}"
Section "${PRODUCT_NAME}" SEC01
SetOutPath "$INSTDIR"
File /r "${pkgdir}\NetWorx\*.*"
;RegDLL "$INSTDIR\UnlockerCOM.dll"
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\AutoUpdate" "AutoCheckEnabled" "0"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\AutoUpdate" "QueryForAutoCheck" "0"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Graph" "ShowInTray" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Graph" "StayOnTop" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Graph" "Sticky" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "DisplayOnStartup" "0"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "EnableAutoRun" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "EnableGradient" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "EnableGridLines" "1"
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "UserLanguage" "Russian"
SetShellVarContext all
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Сайт ${PRODUCT_NAME}.lnk" "$INSTDIR\networx.url"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Справка ${PRODUCT_NAME}.lnk" "$INSTDIR\networx.chm"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\networx.exe"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Удалить ${PRODUCT_NAME}.lnk" "$INSTDIR\uninst.exe"
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "networx" "$\"$INSTDIR\networx.exe$\" /auto"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\networx.exe"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
SetAutoClose true
SectionEnd
Section Uninstall
;UnRegDLL "$INSTDIR\UnlockerCOM.dll"
RMDir /r "$INSTDIR"
DeleteRegKey HKCU "Software\SoftPerfect\NetWorx"
SetShellVarContext all
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
DeleteRegKey HKLM "${PRODUCT_UNINST_KEY}"
DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "networx"
SetAutoClose true
SectionEnd
Function un.onInit
again:
FindWindow $0 "" "Networx"
IsWindow $0 0 done
MessageBox MB_ABORTRETRYIGNORE|MB_ICONSTOP "Приложение Networx сейчас выполняется. Его следует закрыть перед удалением" IDRETRY again IDIGNORE done
Abort
done:
FunctionEnd
Нового в скрипте:
WriteRegStr HKCU "Software\SoftPerfect\NetWorx\Main" "UserLanguage" "Russian"
Тестировалось в Windows 7 6.1.7600