1
+ Unicode true
2
+
1
3
!include " MUI2.nsh"
2
4
!include " nsDialogs.nsh"
3
5
!include " winmessages.nsh"
4
6
5
- Name " The Julia Language"
6
7
OutFile " julia-installer.exe"
7
8
SetCompress off
8
- CRCCheck on
9
+ CRCCheck off
9
10
SetDataBlockOptimize on
10
- ShowInstDetails show
11
+ ShowInstDetails nevershow
12
+ ShowUninstDetails nevershow
11
13
RequestExecutionLevel user
12
- BrandingText " Julia ${Version}"
14
+ BrandingText " "
15
+
16
+ !define /date YEAR " %Y"
17
+
18
+ Name " Julia"
19
+ VIProductVersion " 10.20.0.0" # arbitrary value since it doesn't mater, but is required; format must be X.X.X.X
20
+ VIAddVersionKey " ProductName" " Julia"
21
+ VIAddVersionKey " CompanyName " " Julia Language"
22
+ VIAddVersionKey " ProductVersion" " ${Version}"
23
+ VIAddVersionKey " FileDescription" " Julia Language Installer"
24
+ VIAddVersionKey " Comments" " https://julialang.org/"
25
+ VIAddVersionKey " LegalCopyright" " Copyright (c) 2009-${YEAR} Julia Language"
26
+ VIAddVersionKey " FileVersion" " "
27
+
28
+ Caption " Julia Installer" # title bar
29
+
30
+ !define MUI_ICON " ${JULIAHOME}\contrib\windows\julia.ico"
31
+ !define MUI_UNICON " ${JULIAHOME}\contrib\windows\julia.ico"
32
+ !define MUI_WELCOMEFINISHPAGE_BITMAP " ${JULIAHOME}\contrib\windows\julia-banner.bmp"
33
+ !define MUI_HEADERIMAGE
34
+ !define MUI_HEADERIMAGE_BITMAP " ${JULIAHOME}\contrib\windows\julia-header.bmp"
35
+ !define MUI_HEADERIMAGE_RIGHT
13
36
14
37
# Uninstall settings
15
38
!define UninstLog " uninstall.log"
@@ -29,7 +52,7 @@ FunctionEnd
29
52
Function createDesktopLink
30
53
${NSD_GetState} $Checkbox $0
31
54
${If} $0 <> 0
32
- CreateShortCut " $DESKTOP\julia.lnk" " $INSTDIR\bin\julia.exe"
55
+ CreateShortCut " $DESKTOP\julia.lnk" " $INSTDIR\bin\julia.exe" " " " $INSTDIR\bin\julia.exe " 0
33
56
${EndIf}
34
57
FunctionEnd
35
58
@@ -38,25 +61,43 @@ InstallDir "$LOCALAPPDATA\Julia-${Version}"
38
61
!define JuliaStartMenuFolder " Julia ${Version}"
39
62
40
63
# Page settings
41
- # Note that we repurpose the checkboxes on the FinishPage
42
- # in order to keep it simple.
43
- !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."
64
+ # Note that we repurpose the checkboxes on the FinishPage in order to keep it simple.
65
+ !define MUI_DIRECTORYPAGE_TEXT_TOP " Julia may be installed in any accessible directory.$\r$\n$\r$\n Please run installer as Administrator to install Julia system-wide."
44
66
!define MUI_FINISHPAGE_SHOWREADME
45
67
!define MUI_FINISHPAGE_SHOWREADME_TEXT " Create Start Menu folder and shortcut"
46
68
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION AddToStartMenu
69
+
70
+ !define MUI_WELCOMEPAGE_TITLE " Welcome to Julia ${Version}"
71
+ !define MUI_WELCOMEPAGE_TEXT " Setup will guide you through installation.$\r$\n$\r$\n Click Next to continue."
72
+ !define MUI_FINISHPAGE_TITLE " Julia installation complete"
73
+ !define MUI_FINISHPAGE_TEXT " Julia has been successfully installed.$\r$\n$\r$\n Click Finish to close the installer."
74
+
47
75
!define MUI_FINISHPAGE_RUN
48
- !define MUI_FINISHPAGE_RUN_TEXT " Open Julia install folder"
76
+ !define MUI_FINISHPAGE_RUN_TEXT " Open the Julia install folder"
49
77
!define MUI_FINISHPAGE_RUN_FUNCTION ShowInstallFolder
50
78
51
- # Pages to show
79
+ !define MUI_UNCONFIRMPAGE_TEXT_TOP " Julia will be uninstalled from the following folder."
80
+ !define MUI_UNCONFIRMPAGE_TEXT_LOCATION " Uninstalling from"
52
81
82
+ # Pages to show
83
+ !define MUI_PAGE_HEADER_TEXT " Choose Installation Directory"
84
+ !define MUI_PAGE_HEADER_SUBTEXT " "
85
+ !insertmacro MUI_PAGE_WELCOME
53
86
!insertmacro MUI_PAGE_DIRECTORY
54
87
!insertmacro MUI_PAGE_INSTFILES
88
+ Section
89
+ !insertmacro MUI_HEADER_TEXT " Installing" " "
90
+ SectionEnd
55
91
56
92
!define MUI_PAGE_CUSTOMFUNCTION_SHOW desktopCheckbox
57
93
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE createDesktopLink
58
94
!insertmacro MUI_PAGE_FINISH
59
95
96
+ !define MUI_PAGE_HEADER_TEXT " Uninstall Julia"
97
+ !define MUI_PAGE_HEADER_SUBTEXT " "
98
+ !insertmacro MUI_UNPAGE_CONFIRM
99
+ !insertmacro MUI_UNPAGE_INSTFILES
100
+
60
101
!insertmacro MUI_LANGUAGE " English"
61
102
62
103
# Add/Remove Programs entry
@@ -65,14 +106,14 @@ InstallDir "$LOCALAPPDATA\Julia-${Version}"
65
106
Section " Dummy Section" SecDummy
66
107
SetOutPath $INSTDIR
67
108
File /a /r " julia-${Commit}\*"
68
- WriteUninstaller " $INSTDIR\Uninstall .exe"
69
- CreateShortcut " $INSTDIR\julia.lnk" " $INSTDIR\bin\julia.exe"
109
+ WriteUninstaller " $INSTDIR\uninstall .exe"
110
+ CreateShortcut " $INSTDIR\julia.lnk" " $INSTDIR\bin\julia.exe" " " " $INSTDIR\bin\julia.exe " 0
70
111
71
112
# ARP entries
72
113
WriteRegStr HKCU " ${ARP}" \
73
- " DisplayName" " Julia Language ${Version}"
114
+ " DisplayName" " Julia ${Version}"
74
115
WriteRegStr HKCU " ${ARP}" \
75
- " Publisher" " The Julia Project "
116
+ " Publisher" " Julia Language "
76
117
WriteRegStr HKCU " ${ARP}" \
77
118
" DisplayIcon" " $INSTDIR\bin\julia.exe"
78
119
WriteRegStr HKCU " ${ARP}" \
@@ -145,13 +186,11 @@ SectionEnd
145
186
# Helper function to create Start Menu folder and shortcuts
146
187
Function AddToStartMenu
147
188
CreateDirectory " $SMPROGRAMS\${JuliaStartMenuFolder}"
148
- CreateShortcut " $SMPROGRAMS\${JuliaStartMenuFolder}\julia-${Version}.lnk" " $INSTDIR\julia.lnk" " " " " " " " " " " " The Julia Language "
149
- CreateShortcut " $SMPROGRAMS\${JuliaStartMenuFolder}\Uninstall-Julia-${Version}.lnk" " $instdir\Uninstall .exe"
189
+ CreateShortcut " $SMPROGRAMS\${JuliaStartMenuFolder}\julia-${Version}.lnk" " $INSTDIR\julia.lnk" " " " " " " " " " " " Julia"
190
+ CreateShortcut " $SMPROGRAMS\${JuliaStartMenuFolder}\Uninstall-Julia-${Version}.lnk" " $instdir\uninstall .exe"
150
191
FunctionEnd
151
192
152
193
# Opens the installation folder
153
194
Function ShowInstallFolder
154
195
ExecShell " open" $INSTDIR
155
196
FunctionEnd
156
-
157
-
0 commit comments