zint.nsi 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;
  3. ; @(#) $Id: zint.nsi,v 1.1 2009/11/17 22:23:06 hooper114 Exp $
  4. ;
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6. ; Script generated by the HM NIS Edit Script Wizard.
  7. ; HM NIS Edit Wizard helper defines
  8. ; ver 1.0.0.1 20090914 tgotic removed WinSxS check
  9. ;******************************************************************************
  10. !define PRODUCT_NAME "Zint"
  11. !define PRODUCT_EXE "qtZint.exe"
  12. !define PRODUCT_VERSION "2.13.0.9"
  13. !define PRODUCT_WEB_SITE "http://www.zint.org.uk"
  14. !define PRODUCT_PUBLISHER "Robin Stuart & BogDan Vatra"
  15. !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\${PRODUCT_EXE}"
  16. !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
  17. !define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir"
  18. ;******************************************************************************
  19. Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
  20. OutFile "Setup_${PRODUCT_NAME}_${PRODUCT_VERSION}.exe"
  21. BrandingText "GPLv3, ${PRODUCT_PUBLISHER}"
  22. ;******************************************************************************
  23. ;ShowInstDetails show -ne zapisuje podatke u log datoteku
  24. ShowInstDetails show
  25. ShowUnInstDetails show
  26. XPStyle on
  27. SetCompress auto
  28. SetCompressor lzma
  29. AutoCloseWindow false
  30. CRCCheck force
  31. ;******************************************************************************
  32. ; MUI 1.8 compatible ------
  33. !define MULTIUSER_EXECUTIONLEVEL Highest
  34. !define MULTIUSER_MUI
  35. !define MULTIUSER_INSTALLMODE_COMMANDLINE
  36. !define MULTIUSER_INSTALLMODE_INSTDIR "${PRODUCT_NAME}\"
  37. !define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
  38. !define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME "InstallLocation"
  39. ;******************************************************************************
  40. !include MultiUser.nsh
  41. !include MUI2.nsh
  42. !include LogicLib.nsh
  43. !include WinMessages.nsh
  44. !include FileFunc.nsh
  45. ;******************************************************************************
  46. ; MUI Settings
  47. !define MUI_ABORTWARNING
  48. ; odkomentirati za prikaz MUI_PAGE_INSTFILES
  49. !define MUI_FINISHPAGE_NOAUTOCLOSE
  50. !define MUI_UNFINISHPAGE_NOAUTOCLOSE
  51. ;******************************************************************************
  52. Var USER
  53. Var ICONS_GROUP
  54. ;******************************************************************************
  55. ; Welcome page
  56. !insertmacro MUI_PAGE_WELCOME
  57. !insertmacro MUI_PAGE_LICENSE "gpl-3.0.txt"
  58. ; Mixed mode instalation page
  59. !insertmacro MULTIUSER_PAGE_INSTALLMODE
  60. ; Components page
  61. ; !insertmacro MUI_PAGE_COMPONENTS
  62. ; Directory page
  63. !insertmacro MUI_PAGE_DIRECTORY
  64. !define MUI_STARTMENUPAGE_NODISABLE
  65. !define MUI_STARTMENUPAGE_DEFAULTFOLDER "${PRODUCT_NAME}"
  66. !define MUI_STARTMENUPAGE_REGISTRY_ROOT SHCTX
  67. !define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
  68. !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}"
  69. !insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP
  70. ; Instfiles page
  71. !insertmacro MUI_PAGE_INSTFILES
  72. ;Finish page
  73. !insertmacro MUI_PAGE_FINISH
  74. ; Uninstaller pages
  75. !insertmacro MUI_UNPAGE_CONFIRM
  76. !insertmacro MUI_UNPAGE_INSTFILES
  77. !insertmacro MUI_UNPAGE_FINISH
  78. ; MUI end ------
  79. ;******************************************************************************
  80. ; Language files
  81. !insertmacro MUI_LANGUAGE "English"
  82. !insertmacro MUI_RESERVEFILE_LANGDLL
  83. ;******************************************************************************
  84. Function .onInit
  85. !insertmacro MULTIUSER_INIT
  86. FunctionEnd
  87. ;******************************************************************************
  88. Function startInstall
  89. SetOutPath "$INSTDIR"
  90. StrCpy $USER 0
  91. UserInfo::GetName
  92. Pop $USER
  93. ${GetTime} "" "L" $0 $1 $2 $3 $4 $5 $6
  94. # LogSet on
  95. DetailPrint "--------------------------------------------------------------------------------"
  96. DetailPrint "Install start $2-$1-$0 $4:$5:$6 user:$USER ($MultiUser.Privileges)"
  97. DetailPrint "--------------------------------------------------------------------------------"
  98. FunctionEnd
  99. ;******************************************************************************
  100. ;******************************************************************************
  101. Section ${PRODUCT_NAME} SEC01
  102. SectionIn RO
  103. Call startInstall
  104. SetOverwrite ifnewer
  105. File ".\frontend_qt4\release\${PRODUCT_EXE}"
  106. File ".\win32\Release\zint.exe"
  107. WriteUninstaller "$INSTDIR\uninst.exe"
  108. !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
  109. CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
  110. CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Zint Barcode Studio.lnk" "$INSTDIR\${PRODUCT_EXE}"
  111. CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" "$INSTDIR\uninst.exe"
  112. !insertmacro MUI_STARTMENU_WRITE_END
  113. SectionEnd
  114. ;******************************************************************************
  115. Section -Post
  116. WriteRegStr SHCTX "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\${PRODUCT_EXE}"
  117. WriteRegStr SHCTX "${PRODUCT_DIR_REGKEY}" "Path" "$INSTDIR"
  118. WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}"
  119. WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
  120. WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXE}"
  121. WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
  122. WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
  123. WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "URLUpdateInfo" "${PRODUCT_WEB_SITE}"
  124. WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
  125. WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "InstallLocation" "$INSTDIR"
  126. WriteRegStr SHCTX "${PRODUCT_UNINST_KEY}" "InstallSource" "$EXEDIR"
  127. WriteRegDWORD SHCTX "${PRODUCT_UNINST_KEY}" "NoModify" 1
  128. WriteRegDWORD SHCTX "${PRODUCT_UNINST_KEY}" "NoRepair" 1
  129. DetailPrint "--------------------------------------------------------------------------------"
  130. ClearErrors
  131. SectionEnd
  132. ;******************************************************************************
  133. LangString MSG1 ${LANG_ENGLISH} "$(^Name) was successfully removed from your computer."
  134. LangString MSG2 ${LANG_ENGLISH} "${PRODUCT_EXE} could not be closed.$\r$\nTry again?"
  135. LangString MSG3 ${LANG_ENGLISH} "Are you sure you want to completely remove $(^Name) and all of its components?"
  136. LangString MSG4 ${LANG_ENGLISH} "$(^Name) application"
  137. LangString MSG5 ${LANG_ENGLISH} "Unable to create $INSTDIR"
  138. ;******************************************************************************
  139. Function un.onInit
  140. !insertmacro MULTIUSER_UNINIT
  141. StrCpy $USER 0
  142. UserInfo::GetName
  143. Pop $USER
  144. ${GetTime} "" "L" $0 $1 $2 $3 $4 $5 $6
  145. # LogSet on
  146. DetailPrint "--------------------------------------------------------------------------------"
  147. DetailPrint "Uninstall start $2-$1-$0 $4:$5:$6 user:$USER ($MultiUser.Privileges)"
  148. DetailPrint "--------------------------------------------------------------------------------"
  149. MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 $(MSG3) /SD IDYES IDYES +2
  150. Abort
  151. FunctionEnd
  152. ;******************************************************************************
  153. Function un.onUninstSuccess
  154. HideWindow
  155. MessageBox MB_ICONINFORMATION|MB_OK $(MSG1) /SD IDOK
  156. DetailPrint "--------------------------------------------------------------------------------"
  157. DetailPrint "*** Uninstall finish OK ***"
  158. DetailPrint "--------------------------------------------------------------------------------"
  159. FunctionEnd
  160. ;******************************************************************************
  161. Function un.onUninstFailed
  162. DetailPrint "--------------------------------------------------------------------------------"
  163. DetailPrint "*** Uninstall finish FAILED ***"
  164. DetailPrint "--------------------------------------------------------------------------------"
  165. FunctionEnd
  166. ;******************************************************************************
  167. Section Uninstall
  168. DetailPrint "--------------------------------------------------------------------------------"
  169. DeleteRegKey SHCTX "${PRODUCT_UNINST_KEY}"
  170. DeleteRegKey SHCTX "${PRODUCT_DIR_REGKEY}"
  171. !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP
  172. RmDir /r "$SMPROGRAMS\$ICONS_GROUP"
  173. Delete /REBOOTOK "$INSTDIR\${PRODUCT_EXE}"
  174. Delete /REBOOTOK "$INSTDIR\zint.exe"
  175. Delete /REBOOTOK "$INSTDIR\uninst.exe"
  176. Delete /REBOOTOK "$INSTDIR\install.log"
  177. RmDir /REBOOTOK "$INSTDIR"
  178. SectionEnd
  179. ;******************************************************************************
  180. VIProductVersion ${PRODUCT_VERSION}
  181. VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${PRODUCT_NAME}"
  182. VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "${PRODUCT_PUBLISHER}"
  183. VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${PRODUCT_NAME} Setup"
  184. VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${PRODUCT_VERSION}"
  185. VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright © 2020 Robin Stuart & BogDan Vatra"
  186. VIAddVersionKey /LANG=${LANG_ENGLISH} "License" "GNU General Public License version 3"
  187. VIAddVersionKey /LANG=${LANG_ENGLISH} "WWW" "${PRODUCT_WEB_SITE}"
  188. ;******************************************************************************