From c3909d7500954717ae52e5344989fac813564ce8 Mon Sep 17 00:00:00 2001 From: Mus Date: Tue, 7 May 2019 13:48:27 -0400 Subject: [PATCH] Improve installer appearance --- Makefile | 2 +- contrib/windows/build-installer.nsi | 27 +++++++++++++++++++++------ contrib/windows/julia-banner.bmp | Bin 0 -> 154542 bytes 3 files changed, 22 insertions(+), 7 deletions(-) create mode 100755 contrib/windows/julia-banner.bmp diff --git a/Makefile b/Makefile index 3ab8f9444f932..6946b312288a7 100644 --- a/Makefile +++ b/Makefile @@ -462,7 +462,7 @@ ifeq ($(OS), WINNT) cd $(BUILDROOT)/julia-$(JULIA_COMMIT) && find * | sed -e 's/\//\\/g' -e 's/$$/\r/g' > etc/uninstall.log # build nsis package - cd $(BUILDROOT) && $(call spawn,$(JULIAHOME)/dist-extras/nsis/makensis.exe) -NOCD -DVersion=$(JULIA_VERSION) -DArch=$(ARCH) -DCommit=$(JULIA_COMMIT) -DMUI_ICON="$(call cygpath_w,$(JULIAHOME)/contrib/windows/julia.ico)" $(call cygpath_w,$(JULIAHOME)/contrib/windows/build-installer.nsi) | iconv -f latin1 + cd $(BUILDROOT) && $(call spawn,$(JULIAHOME)/dist-extras/nsis/makensis.exe) -NOCD -DVersion=$(JULIA_VERSION) -DArch=$(ARCH) -DCommit=$(JULIA_COMMIT) -DJULIAHOME="$(call cygpath_w,$(JULIAHOME))" $(call cygpath_w,$(JULIAHOME)/contrib/windows/build-installer.nsi) | iconv -f latin1 # compress nsis installer and combine with 7zip self-extracting header cd $(BUILDROOT) && $(JULIAHOME)/dist-extras/7z a -mx9 "julia-install-$(JULIA_COMMIT)-$(ARCH).7z" julia-installer.exe diff --git a/contrib/windows/build-installer.nsi b/contrib/windows/build-installer.nsi index 21415da06c9bb..ef81f18325977 100644 --- a/contrib/windows/build-installer.nsi +++ b/contrib/windows/build-installer.nsi @@ -4,14 +4,19 @@ Unicode true !include "nsDialogs.nsh" !include "winmessages.nsh" -Name "The Julia Language" +Name "Julia" OutFile "julia-installer.exe" SetCompress off CRCCheck on SetDataBlockOptimize on -ShowInstDetails show +ShowInstDetails nevershow RequestExecutionLevel user -BrandingText "Julia ${Version}" +BrandingText " " +Caption "Julia Installer" # title bar + +!define MUI_ICON "${JULIAHOME}\contrib\windows\julia.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico" +!define MUI_WELCOMEFINISHPAGE_BITMAP "${JULIAHOME}\contrib\windows\julia-banner.bmp" # Uninstall settings !define UninstLog "uninstall.log" @@ -42,18 +47,28 @@ InstallDir "$LOCALAPPDATA\Julia-${Version}" # Page settings # Note that we repurpose the checkboxes on the FinishPage # in order to keep it simple. +!define MUI_PAGE_HEADER_TEXT "Choose Installation Directory" +!define MUI_PAGE_HEADER_SUBTEXT "" !define MUI_DIRECTORYPAGE_TEXT_TOP "Julia may be installed in any accessible directory, including a home folder or portable device. Please run as Administrator to install for system-wide use." !define MUI_FINISHPAGE_SHOWREADME !define MUI_FINISHPAGE_SHOWREADME_TEXT "Create Start Menu folder and shortcut" !define MUI_FINISHPAGE_SHOWREADME_FUNCTION AddToStartMenu + +!define MUI_WELCOMEPAGE_TITLE "Welcome to Julia ${Version}" +!define MUI_WELCOMEPAGE_TEXT "Setup will guide you through the installation of Julia.$\r$\n$\r$\nClick Next to continue." +!define MUI_FINISHPAGE_TITLE "Julia installation finished" + !define MUI_FINISHPAGE_RUN -!define MUI_FINISHPAGE_RUN_TEXT "Open Julia install folder" +!define MUI_FINISHPAGE_RUN_TEXT "Open the Julia install folder" !define MUI_FINISHPAGE_RUN_FUNCTION ShowInstallFolder # Pages to show - +!insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES +Section +!insertmacro MUI_HEADER_TEXT "Installing" "" +SectionEnd !define MUI_PAGE_CUSTOMFUNCTION_SHOW desktopCheckbox !define MUI_PAGE_CUSTOMFUNCTION_LEAVE createDesktopLink @@ -147,7 +162,7 @@ SectionEnd # Helper function to create Start Menu folder and shortcuts Function AddToStartMenu CreateDirectory "$SMPROGRAMS\${JuliaStartMenuFolder}" - CreateShortcut "$SMPROGRAMS\${JuliaStartMenuFolder}\julia-${Version}.lnk" "$INSTDIR\julia.lnk" "" "" "" "" "" "The Julia Language" + CreateShortcut "$SMPROGRAMS\${JuliaStartMenuFolder}\julia-${Version}.lnk" "$INSTDIR\julia.lnk" "" "" "" "" "" "Julia" CreateShortcut "$SMPROGRAMS\${JuliaStartMenuFolder}\Uninstall-Julia-${Version}.lnk" "$instdir\Uninstall.exe" FunctionEnd diff --git a/contrib/windows/julia-banner.bmp b/contrib/windows/julia-banner.bmp new file mode 100755 index 0000000000000000000000000000000000000000..964dfec8653e5afccbbc1698207a293db67add6b GIT binary patch literal 154542 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 literal 0 HcmV?d00001