diff options
author | Toni Uhlig <matzeton@googlemail.com> | 2023-07-07 12:37:21 +0200 |
---|---|---|
committer | Toni Uhlig <matzeton@googlemail.com> | 2023-07-07 12:37:21 +0200 |
commit | febaef00017278ac65cb7e285564ebc9d5dadfe5 (patch) | |
tree | 940ac1386117785496334432dc03a3c0cfa02de5 /qhexedit2/deploy.nsi | |
parent | f41f2dce18111c923c331a3fe6900edee731d040 (diff) | |
parent | 004b73ed7ef33cb407897f7eccbec5f3861f99d7 (diff) |
Merge commit '004b73ed7ef33cb407897f7eccbec5f3861f99d7' as 'qhexedit2'
Diffstat (limited to 'qhexedit2/deploy.nsi')
-rw-r--r-- | qhexedit2/deploy.nsi | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/qhexedit2/deploy.nsi b/qhexedit2/deploy.nsi new file mode 100644 index 0000000..1238fea --- /dev/null +++ b/qhexedit2/deploy.nsi @@ -0,0 +1,167 @@ +#!define VERSION "0.0.1" +!define QT "C:\Qt\5.5\mingw492_32\bin\" +!define BUILD_DIR "C:\dev\qhexedit\build\release\" +!define TRANS_DIR "C:\dev\qhexedit\example\translations\" +!define OUTFILE_NAME "C:\dev\qhexedit\build\QHexEdit.exe" +!define INSTALLATIONNAME "QHexEdit" + +;-------------------------------- +;Include Modern UI + + !include "MUI2.nsh" + +;-------------------------------- +;General + + ;Name and file + Name ${INSTALLATIONNAME} + OutFile ${OUTFILE_NAME} + + SetCompressor lzma + + ;Default installation folder + InstallDir "$PROGRAMFILES\QHexEdit" + + ;Get installation folder from registry if available + InstallDirRegKey HKCU "Software\${INSTALLATIONNAME}" "" + + ;Request application privileges for Windows Vista + !define MULTIUSER_EXECUTIONLEVEL Highest + !define MULTIUSER_MUI + !define MULTIUSER_INSTALLMODE_COMMANDLINE + !include MultiUser.nsh + +;-------------------------------- +;Interface Settings + +# !define MUI_HEADERIMAGE +# !define MUI_HEADERIMAGE_BITMAP "cm_header.bmp" +# !define MUI_HEADERIMAGE_UNBITMAP "cm_un-header.bmp" +# !define MUI_WELCOMEFINISHPAGE_BITMAP "cm_wizard.bmp" +# !define MUI_UNWELCOMEFINISHPAGE_BITMAP "cm_un-wizard.bmp" +# !define MUI_ICON "myIcons.ico" +# !define MUI_UNICON "unicon.ico" + + !define MUI_ABORTWARNING + + ;Show all languages, despite user's codepage +# !define MUI_LANGDLL_ALLLANGUAGES + +;-------------------------------- +;Language Selection Dialog Settings + + ;Remember the installer language + !define MUI_LANGDLL_REGISTRY_ROOT "SHCTX" + !define MUI_LANGDLL_REGISTRY_KEY "Software\${INSTALLATIONNAME}" + !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" + + ;Start Menu Folder Page Configuration + !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX" + !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${INSTALLATIONNAME}" + !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" + +;-------------------------------- +;Pages + !insertmacro MUI_PAGE_WELCOME +# !insertmacro MUI_PAGE_LICENSE $(license) + !insertmacro MUI_PAGE_COMPONENTS + !insertmacro MULTIUSER_PAGE_INSTALLMODE + !insertmacro MUI_PAGE_DIRECTORY + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_PAGE_FINISH + + !insertmacro MUI_UNPAGE_WELCOME + !insertmacro MUI_UNPAGE_CONFIRM + !insertmacro MUI_UNPAGE_INSTFILES + !insertmacro MUI_UNPAGE_FINISH + +;-------------------------------- +;Languages + + !insertmacro MUI_LANGUAGE "English" ;first language is the default Language + !insertmacro MUI_LANGUAGE "German" + +;-------------------------------- +;Reserve Files + + ;If you are using solid compression, files that are required before + ;the actual installation should be stored first in the data block, + ;because this will make your installer start faster. + + !insertmacro MUI_RESERVEFILE_LANGDLL + +;-------------------------------- +;Installer Sections + +Section "" + SetOutPath $INSTDIR + File ${BUILD_DIR}qhexedit.exe + File /r ${BUILD_DIR}*.dll + File ${TRANS_DIR}*.qm + WriteUninstaller $INSTDIR\uninstall.exe + WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALLATIONNAME}" "DisplayName" "QHexEdit Installer" + WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALLATIONNAME}" "UninstallString" '"$INSTDIR\uninstall.exe"' + WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALLATIONNAME}" "NoModify" 1 + WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALLATIONNAME}" "NoRepair" 1 + WriteRegStr SHCTX "Software\${INSTALLATIONNAME}" "" $INSTDIR +SectionEnd + +Section $(startmenu) Startmenu + CreateDirectory "$SMPROGRAMS\${INSTALLATIONNAME}" + CreateShortCut "$SMPROGRAMS\${INSTALLATIONNAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 + CreateShortCut "$SMPROGRAMS\${INSTALLATIONNAME}\QHexEdit.lnk" "$INSTDIR\qhexedit.exe" "" "$INSTDIR\qhexedit.exe" 0 +SectionEnd + +Section /o $(desktop) Desktop + CreateShortCut "$DESKTOP\QHexEdit.lnk" "$INSTDIR\qhexedit.exe" "" "$INSTDIR\qhexedit.exe" 0 +SectionEnd + +;-------------------------------- +;Installer Functions + +Function .onInit + !insertmacro MULTIUSER_INIT + !insertmacro MUI_LANGDLL_DISPLAY +FunctionEnd + +;-------------------------------- +;Descriptions + +#LicenseLangString license ${LANG_ENGLISH} license.rtf +#LicenseLangString license ${LANG_GERMAN} license_de.rtf + +LangString startmenu ${LANG_ENGLISH} "Add to Start Menu" +LangString startmenu ${LANG_GERMAN} "Eintrag ins Startmenü" +LangString DESC_Startmenu ${LANG_ENGLISH} "Add an Entry to the Start Menu" +LangString DESC_Startmenu ${LANG_GERMAN} "Einen Eintrag ins Startmenü hinzufügen" + +LangString desktop ${LANG_ENGLISH} "Add a Desktop Icon" +LangString desktop ${LANG_GERMAN} "Zum Desktop hinzufügen" +LangString DESC_Desktop ${LANG_ENGLISH} "Add an Icon to the Desktop" +LangString DESC_Desktop ${LANG_GERMAN} "Einen Eintrag zum Desktop hinzufügen" + +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${Startmenu} $(DESC_Startmenu) + !insertmacro MUI_DESCRIPTION_TEXT ${Desktop} $(DESC_Desktop) +!insertmacro MUI_FUNCTION_DESCRIPTION_END + +;-------------------------------- +;Uninstaller Section + +Section "Uninstall" + DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALLATIONNAME}" + DeleteRegKey SHCTX "Software\${INSTALLATIONNAME}" + RMDir /r $INSTDIR + Delete "$SMPROGRAMS\${INSTALLATIONNAME}\Uninstall.lnk" + Delete "$SMPROGRAMS\${INSTALLATIONNAME}\QHexEdit.lnk" + Delete "$DESKTOP\QHexEdit.lnk" + RMDir "$SMPROGRAMS\${INSTALLATIONNAME}" +SectionEnd + +;-------------------------------- +;Uninstaller Functions + +Function un.onInit + !insertmacro MULTIUSER_UNINIT + !insertmacro MUI_UNGETLANGUAGE +FunctionEnd |