From 469c20ad0072ebf8a0d7740c5fbedff905d5d81e Mon Sep 17 00:00:00 2001 From: Mitchell Date: Tue, 8 Mar 2016 19:42:01 +0100 Subject: [PATCH 1/5] Change: Massivly improved the Windows installer --- contrib/build-wine/build-electrum-git.sh | 1 + contrib/build-wine/electrum.ico | Bin 0 -> 17790 bytes contrib/build-wine/electrum.nsi | 140 ++++++++++++++++------- 3 files changed, 101 insertions(+), 40 deletions(-) create mode 100644 contrib/build-wine/electrum.ico diff --git a/contrib/build-wine/build-electrum-git.sh b/contrib/build-wine/build-electrum-git.sh index 7a52719c..7cdccc21 100755 --- a/contrib/build-wine/build-electrum-git.sh +++ b/contrib/build-wine/build-electrum-git.sh @@ -60,6 +60,7 @@ rm -rf dist/ $PYTHON "C:/pyinstaller/pyinstaller.py" --noconfirm --ascii -w deterministic.spec # build NSIS installer +# $VERSION could be passed to the electrum.nsi script, but this would require some rewriting in the script iself. wine "$WINEPREFIX/drive_c/Program Files (x86)/NSIS/makensis.exe" electrum.nsi cd dist diff --git a/contrib/build-wine/electrum.ico b/contrib/build-wine/electrum.ico new file mode 100644 index 0000000000000000000000000000000000000000..3b4d53a0a700058758c5f52b61560d41f367f0d7 GIT binary patch literal 17790 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 literal 0 HcmV?d00001 diff --git a/contrib/build-wine/electrum.nsi b/contrib/build-wine/electrum.nsi index 4a41c8f3..d5191d9a 100644 --- a/contrib/build-wine/electrum.nsi +++ b/contrib/build-wine/electrum.nsi @@ -2,47 +2,84 @@ ;Include Modern UI !include "MUI2.nsh" + +;-------------------------------- +;Variables + + !define PRODUCT_NAME "Electrum" + !define PRODUCT_VERSION 2.6.2.0 + !define PRODUCT_WEB_SITE "https://github.com/spesmilo/electrum" + !define PRODUCT_PUBLISHER "Electrum Technologies GmbH" + !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" ;-------------------------------- ;General ;Name and file - Name "Electrum" + Name "${PRODUCT_NAME}" OutFile "dist/electrum-setup.exe" ;Default installation folder - InstallDir "$PROGRAMFILES\Electrum" + InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" ;Get installation folder from registry if available - InstallDirRegKey HKCU "Software\Electrum" "" + InstallDirRegKey HKCU "Software\${PRODUCT_NAME}" "" ;Request application privileges for Windows Vista RequestExecutionLevel admin -;-------------------------------- -;Variables + ;Specifies whether or not the installer will perform a CRC on itself before allowing an install + CRCCheck on + + ;Sets whether or not the details of the install are shown. Can be 'hide' (the default) to hide the details by default, allowing the user to view them, or 'show' to show them by default, or 'nevershow', to prevent the user from ever seeing them. + ShowInstDetails show + + ;Sets whether or not the details of the uninstall are shown. Can be 'hide' (the default) to hide the details by default, allowing the user to view them, or 'show' to show them by default, or 'nevershow', to prevent the user from ever seeing them. + ShowUninstDetails show + + ;Sets the colors to use for the install info screen (the default is 00FF00 000000. Use the form RRGGBB (in hexadecimal, as in HTML, only minus the leading '#', since # can be used for comments). Note that if "/windows" is specified as the only parameter, the default windows colors will be used. + InstallColors /windows + + ;This command sets the compression algorithm used to compress files/data in the installer. (http://nsis.sourceforge.net/Reference/SetCompressor) + SetCompressor /SOLID lzma + + ;Sets the dictionary size in megabytes (MB) used by the LZMA compressor (default is 8 MB). + SetCompressorDictSize 64 + + ;Sets the text that is shown (by default it is 'Nullsoft Install System vX.XX') in the bottom of the install window. Setting this to an empty string ("") uses the default; to set the string to blank, use " " (a space). + BrandingText "${PRODUCT_NAME} Installer v${PRODUCT_VERSION}" + + ;Sets what the titlebars of the installer will display. By default, it is 'Name Setup', where Name is specified with the Name command. You can, however, override it with 'MyApp Installer' or whatever. If you specify an empty string (""), the default will be used (you can however specify " " to achieve a blank string) + Caption "${PRODUCT_NAME}" + + ;Adds the Product Version on top of the Version Tab in the Properties of the file. + VIProductVersion ${PRODUCT_VERSION} + + ;VIAddVersionKey - Adds a field in the Version Tab of the File Properties. This can either be a field provided by the system or a user defined field. + VIAddVersionKey ProductName "${PRODUCT_NAME} Installer" + VIAddVersionKey Comments "The installer for ${PRODUCT_NAME}" + VIAddVersionKey CompanyName "${PRODUCT_NAME}" + VIAddVersionKey LegalCopyright "2013-2016 ${PRODUCT_PUBLISHER}" + VIAddVersionKey FileDescription "${PRODUCT_NAME} Installer" + VIAddVersionKey FileVersion ${PRODUCT_VERSION} + VIAddVersionKey ProductVersion ${PRODUCT_VERSION} + VIAddVersionKey InternalName "${PRODUCT_NAME} Installer" + VIAddVersionKey LegalTrademarks "${PRODUCT_NAME} is a trademark of ${PRODUCT_PUBLISHER}" + VIAddVersionKey OriginalFilename "${PRODUCT_NAME}.exe" ;-------------------------------- ;Interface Settings !define MUI_ABORTWARNING - + !define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort the installation of ${PRODUCT_NAME}?" + + !define MUI_ICON "electrum.ico" + ;-------------------------------- ;Pages - ;!insertmacro MUI_PAGE_LICENSE "tmp/LICENCE" - ;!insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_DIRECTORY - - ;Start Menu Folder Page Configuration - !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" - !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Electrum" - !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" - - ;!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES @@ -54,51 +91,74 @@ ;-------------------------------- ;Installer Sections +;Check if we have Administrator rights +Function .onInit + UserInfo::GetAccountType + pop $0 + ${If} $0 != "admin" ;Require admin rights on NT4+ + MessageBox mb_iconstop "Administrator rights required!" + SetErrorLevel 740 ;ERROR_ELEVATION_REQUIRED + Quit + ${EndIf} +FunctionEnd + Section + SetOutPath $INSTDIR - SetOutPath "$INSTDIR" - - ;ADD YOUR OWN FILES HERE... - file /r dist\electrum\*.* + ;Files to pack into the installer + File /r "dist\electrum\*.*" + File "electrum.ico" ;Store installation folder - WriteRegStr HKCU "Software\Electrum" "" $INSTDIR + WriteRegStr HKCU "Software\${PRODUCT_NAME}" "" $INSTDIR ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" - - CreateShortCut "$DESKTOP\Electrum.lnk" "$INSTDIR\electrum.exe" "" + CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum.exe" "" ;create start-menu items - CreateDirectory "$SMPROGRAMS\Electrum" - CreateShortCut "$SMPROGRAMS\Electrum\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0 - CreateShortCut "$SMPROGRAMS\Electrum\Electrum.lnk" "$INSTDIR\electrum.exe" "" "$INSTDIR\electrum.exe" 0 + CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0 + CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum.exe" "" "$INSTDIR\electrum.exe" 0 + ;Links bitcoin: URI's to Electrum + WriteRegStr HKCU "Software\Classes\bitcoin" "" "URL:bitcoin Protocol" + WriteRegStr HKCU "Software\Classes\bitcoin" "URL Protocol" "" + WriteRegStr HKCU "Software\Classes\bitcoin" "DefaultIcon" "$\"$INSTDIR\electrum.ico, 0$\"" + WriteRegStr HKCU "Software\Classes\bitcoin\shell\open\command" "" "$\"$INSTDIR\electrum.exe$\" $\"%1$\"" + + ;Adds an uninstaller possibilty to Windows Uninstall or change a program section + WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\Uninstall.exe" + WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" + WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" + WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\electrum.exe" + + ;Fixes Windows broken size estimates + ;Currently commented out because ${GetSize} does not work as it requires another header and I don't know if that will be a problem or not + ;${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 + ;IntFmt $0 "0x%08X" $0 + ;WriteRegDWORD HKCU "${PRODUCT_UNINST_KEY}" "EstimatedSize" "$0" SectionEnd ;-------------------------------- ;Descriptions - ;Assign language strings to sections - ;!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - ; !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy) - ;!insertmacro MUI_FUNCTION_DESCRIPTION_END - ;-------------------------------- ;Uninstaller Section Section "Uninstall" - - ;ADD YOUR OWN FILES HERE... RMDir /r "$INSTDIR\*.*" RMDir "$INSTDIR" - Delete "$DESKTOP\Electrum.lnk" - Delete "$SMPROGRAMS\Electrum\*.*" - RmDir "$SMPROGRAMS\Electrum" - - DeleteRegKey /ifempty HKCU "Software\Electrum" - + Delete "$DESKTOP\${PRODUCT_NAME}.lnk" + Delete "$SMPROGRAMS\${PRODUCT_NAME}\*.*" + RMDir "$SMPROGRAMS\${PRODUCT_NAME}" + + DeleteRegKey HKCU "Software\Classes\bitcoin" + DeleteRegKey HKCU "Software\${PRODUCT_NAME}" + DeleteRegKey HKCU "${PRODUCT_UNINST_KEY}" SectionEnd From 25fd2aca7eaf16bdb952d7751b3e7e4ec976283e Mon Sep 17 00:00:00 2001 From: Mitchell Date: Wed, 9 Mar 2016 19:41:54 +0100 Subject: [PATCH 2/5] The build version is now added to the installer --- contrib/build-wine/build-electrum-git.sh | 2 +- contrib/build-wine/electrum.nsi | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/contrib/build-wine/build-electrum-git.sh b/contrib/build-wine/build-electrum-git.sh index 7cdccc21..43547496 100755 --- a/contrib/build-wine/build-electrum-git.sh +++ b/contrib/build-wine/build-electrum-git.sh @@ -61,7 +61,7 @@ $PYTHON "C:/pyinstaller/pyinstaller.py" --noconfirm --ascii -w deterministic.spe # build NSIS installer # $VERSION could be passed to the electrum.nsi script, but this would require some rewriting in the script iself. -wine "$WINEPREFIX/drive_c/Program Files (x86)/NSIS/makensis.exe" electrum.nsi +wine "$WINEPREFIX/drive_c/Program Files (x86)/NSIS/makensis.exe" /DPRODUCT_VERSION=$VERSION electrum.nsi cd dist mv electrum.exe $NAME_ROOT-$VERSION.exe diff --git a/contrib/build-wine/electrum.nsi b/contrib/build-wine/electrum.nsi index d5191d9a..a0fb198a 100644 --- a/contrib/build-wine/electrum.nsi +++ b/contrib/build-wine/electrum.nsi @@ -7,7 +7,6 @@ ;Variables !define PRODUCT_NAME "Electrum" - !define PRODUCT_VERSION 2.6.2.0 !define PRODUCT_WEB_SITE "https://github.com/spesmilo/electrum" !define PRODUCT_PUBLISHER "Electrum Technologies GmbH" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" @@ -53,7 +52,7 @@ Caption "${PRODUCT_NAME}" ;Adds the Product Version on top of the Version Tab in the Properties of the file. - VIProductVersion ${PRODUCT_VERSION} + VIProductVersion 1.0.0.0 ;VIAddVersionKey - Adds a field in the Version Tab of the File Properties. This can either be a field provided by the system or a user defined field. VIAddVersionKey ProductName "${PRODUCT_NAME} Installer" @@ -106,7 +105,7 @@ Section SetOutPath $INSTDIR ;Files to pack into the installer - File /r "dist\electrum\*.*" + ;File /r "dist\electrum\*.*" File "electrum.ico" ;Store installation folder From 8e92fefe13120a4d0c4030df7698b884e99ae023 Mon Sep 17 00:00:00 2001 From: Mitchell Date: Wed, 9 Mar 2016 19:47:14 +0100 Subject: [PATCH 3/5] Removed electrum.ico --- contrib/build-wine/electrum.ico | Bin 17790 -> 0 bytes contrib/build-wine/electrum.nsi | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 contrib/build-wine/electrum.ico diff --git a/contrib/build-wine/electrum.ico b/contrib/build-wine/electrum.ico deleted file mode 100644 index 3b4d53a0a700058758c5f52b61560d41f367f0d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17790 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 diff --git a/contrib/build-wine/electrum.nsi b/contrib/build-wine/electrum.nsi index a0fb198a..e5b011ee 100644 --- a/contrib/build-wine/electrum.nsi +++ b/contrib/build-wine/electrum.nsi @@ -72,7 +72,7 @@ !define MUI_ABORTWARNING !define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort the installation of ${PRODUCT_NAME}?" - !define MUI_ICON "electrum.ico" + !define MUI_ICON "..\..\icons\electrum.ico" ;-------------------------------- ;Pages @@ -106,7 +106,7 @@ Section ;Files to pack into the installer ;File /r "dist\electrum\*.*" - File "electrum.ico" + File "..\..\icons\electrum.ico" ;Store installation folder WriteRegStr HKCU "Software\${PRODUCT_NAME}" "" $INSTDIR From be6f208b5e992a54dc76e5470063d012aa5a7d69 Mon Sep 17 00:00:00 2001 From: Mitchell Date: Wed, 9 Mar 2016 19:55:04 +0100 Subject: [PATCH 4/5] Enabled GetSize function --- contrib/build-wine/electrum.nsi | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/contrib/build-wine/electrum.nsi b/contrib/build-wine/electrum.nsi index e5b011ee..e3f7d634 100644 --- a/contrib/build-wine/electrum.nsi +++ b/contrib/build-wine/electrum.nsi @@ -1,6 +1,6 @@ ;-------------------------------- ;Include Modern UI - + !include "TextFunc.nsh" ;Needed for the $GetSize fuction. I know, doesn't sound logical, it isn't. !include "MUI2.nsh" ;-------------------------------- @@ -133,13 +133,12 @@ Section WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" - WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\electrum.exe" + WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\electrum.ico" ;Fixes Windows broken size estimates - ;Currently commented out because ${GetSize} does not work as it requires another header and I don't know if that will be a problem or not - ;${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 - ;IntFmt $0 "0x%08X" $0 - ;WriteRegDWORD HKCU "${PRODUCT_UNINST_KEY}" "EstimatedSize" "$0" + ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2 + IntFmt $0 "0x%08X" $0 + WriteRegDWORD HKCU "${PRODUCT_UNINST_KEY}" "EstimatedSize" "$0" SectionEnd ;-------------------------------- @@ -160,4 +159,4 @@ Section "Uninstall" DeleteRegKey HKCU "Software\Classes\bitcoin" DeleteRegKey HKCU "Software\${PRODUCT_NAME}" DeleteRegKey HKCU "${PRODUCT_UNINST_KEY}" -SectionEnd +SectionEnd \ No newline at end of file From dfe53d8e19c5f3f0c9fe9d5c8683b6c3ac864275 Mon Sep 17 00:00:00 2001 From: Mitchell Date: Wed, 9 Mar 2016 19:58:43 +0100 Subject: [PATCH 5/5] Forget to readd this part --- contrib/build-wine/electrum.nsi | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/contrib/build-wine/electrum.nsi b/contrib/build-wine/electrum.nsi index e3f7d634..4495652c 100644 --- a/contrib/build-wine/electrum.nsi +++ b/contrib/build-wine/electrum.nsi @@ -105,18 +105,22 @@ Section SetOutPath $INSTDIR ;Files to pack into the installer - ;File /r "dist\electrum\*.*" + File /r "dist\electrum\*.*" File "..\..\icons\electrum.ico" ;Store installation folder WriteRegStr HKCU "Software\${PRODUCT_NAME}" "" $INSTDIR ;Create uninstaller + DetailPrint "Creating uninstaller..." WriteUninstaller "$INSTDIR\Uninstall.exe" + ;Create desktop shortcut + DetailPrint "Creating desktop shortcut..." CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum.exe" "" - ;create start-menu items + ;Create start-menu items + DetailPrint "Creating start-menu items..." CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0 CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum.exe" "" "$INSTDIR\electrum.exe" 0