From 43f118bd4e0b8c6ec7746e2d794f3a629e24504b Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Sat, 2 May 2020 22:03:20 +0200 Subject: [PATCH] Add experimental windows installer This nsis script should create a windows installer. Although the installer worked for the first tests you should handle it with care and consider it highly experimental --- windows-installer/README.md | 14 +++++++++ windows-installer/dino.nsi | 52 +++++++++++++++++++++++++++++++ windows-installer/input/logo.ico | Bin 0 -> 24838 bytes windows-installer/input/logo.svg | 1 + 4 files changed, 67 insertions(+) create mode 100644 windows-installer/README.md create mode 100644 windows-installer/dino.nsi create mode 100644 windows-installer/input/logo.ico create mode 100644 windows-installer/input/logo.svg diff --git a/windows-installer/README.md b/windows-installer/README.md new file mode 100644 index 00000000..5b74622c --- /dev/null +++ b/windows-installer/README.md @@ -0,0 +1,14 @@ +# Dino Windows Installer + +## Requirements + +To create the Dino windows installer you need this: +* nsis (e.g. `apt install nsis` on Debian) +* Dino compiled for windows in input directory +* logo.ico in input directory + * Download https://dino.im/img/logo.svg + * Convert it to ico (e.g. `onvert -background transparent -define 'icon:auto-resize=16,24,32,64' logo.svg logo.ico` (requires imagemagick) + +## Create installer + +Simply run `makensis dino.nsi` diff --git a/windows-installer/dino.nsi b/windows-installer/dino.nsi new file mode 100644 index 00000000..efaf6bf1 --- /dev/null +++ b/windows-installer/dino.nsi @@ -0,0 +1,52 @@ +Unicode True + +!define MUI_PRODUCT "Dino" +!define MUI_PRODUCT_NAME ${MUI_PRODUCT} +!define PRODUCT_WEBSITE "https://dino.im" +!define MUI_ICON "input/logo.ico" +!define ICON "input/logo.ico" + +# define installer name +OutFile "dino-installer.exe" + +BrandingText "Dino - Communication happyness" + +# set install directory +InstallDir $PROGRAMFILES64\dino + +# default section start +Section + +# Install binary and DLLs +SetOutPath $INSTDIR\bin +File input/*.dll input/dino.exe + +# Install the libs and shared files +SetOutPath $INSTDIR +File /r /x dino.exe /x plugins /x ./*.dll input/* + +# Install the plugins +SetOutPath $INSTDIR\lib\dino\plugins +File input/plugins/* + +# define uninstaller name +WriteUninstaller $INSTDIR\uninstaller.exe + +# Create a shortcut for startmenu +CreateShortcut "$SMPROGRAMS\dino.lnk" "$INSTDIR\bin\dino.exe" "" "$INSTDIR\logo.ico" + +# default section end +SectionEnd + +# Uninsaller section +Section "Uninstall" + +# Always delete uninstaller first +Delete $INSTDIR\uninstaller.exe + +# now delete installed file +Delete $INSTDIR\* + +# Delete the directory +RMDir /r $INSTDIR +SectionEnd diff --git a/windows-installer/input/logo.ico b/windows-installer/input/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..f6a111eedf65e4d3f3ccbbc9d113564ac07d9852 GIT binary patch literal 24838 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ⅈ1zzRpJ9T)=3fQDbvu*rUfA;74-U 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 literal 0 HcmV?d00001 diff --git a/windows-installer/input/logo.svg b/windows-installer/input/logo.svg new file mode 100644 index 00000000..b62f8c32 --- /dev/null +++ b/windows-installer/input/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file