Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit 23bdefe

Browse files
committed
ElixirWeb prepares an offline installer, then calls it
1 parent 1556870 commit 23bdefe

File tree

2 files changed

+29
-17
lines changed

2 files changed

+29
-17
lines changed

Elixir.iss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ DisableFinishedPage=True
1212
WizardImageFile=assets\drop_banner.bmp
1313
WizardSmallImageFile=assets\null.bmp
1414
WizardImageBackColor=clWhite
15+
#ifdef NoCompression
16+
Compression=none
17+
#endif
1518

1619
[Files]
1720
Source: "scripts\set-env.ps1"; DestDir: "{tmp}\scripts"; Flags: deleteafterinstall

ElixirWeb.iss

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,39 @@
22

33
[Setup]
44
AppName=Elixir
5-
AppVersion={#ElixirVersion}
6-
ChangesEnvironment=yes
7-
DefaultDirName={pf}\Elixir
8-
DefaultGroupName=Elixir
9-
OutputBaseFilename=elixir-v{#ElixirVersion}-websetup
5+
AppVersion=0
6+
CreateAppDir=no
7+
OutputBaseFilename=elixir-websetup
108
WizardImageFile=assets\drop_banner.bmp
119
WizardSmallImageFile=assets\null.bmp
1210
WizardImageBackColor=clWhite
11+
Uninstallable=no
1312

14-
[Dirs]
15-
Name: "{tmp}\Precompiled"; Flags: deleteafterinstall
13+
[CustomMessages]
14+
NameAndVersion=the latest version of %1
1615

1716
[Files]
17+
; Zip extraction helper
1818
Source: "scripts\extract-zip.ps1"; DestDir: "{tmp}"; Flags: deleteafterinstall
19-
Source: "scripts\set-env.ps1"; DestDir: "{tmp}"; Flags: deleteafterinstall
20-
Source: "assets\drop.ico"; DestDir: "{app}"
21-
Source: "assets\drop_gs.ico"; DestDir: "{app}"
22-
Source: "{tmp}\Precompiled\*"; DestDir: "{app}"; Flags: recursesubdirs external createallsubdirs; BeforeInstall: ExtractPrecompiled
23-
24-
[Icons]
25-
Name: "{group}\Elixir"; Filename: "werl.exe"; WorkingDir: "%userprofile%"; IconFilename: "{app}\drop.ico"; IconIndex: 0; Parameters: "-env ERL_LIBS ""{app}\lib"" -s elixir start_cli -user Elixir.IEx.CLI -extra --no-halt"
26-
Name: "{group}\Uninstall Elixir"; Filename: "{uninstallexe}"; IconFilename: "{app}\drop_gs.ico"; IconIndex: 0
19+
; Offline installer files
20+
Source: "Elixir.iss"; DestDir: "{tmp}\_offlineinstaller"; Flags: deleteafterinstall
21+
Source: "scripts\set-env.ps1"; DestDir: "{tmp}\_offlineinstaller\scripts"; Flags: deleteafterinstall
22+
Source: "assets\*"; DestDir: "{tmp}\_offlineinstaller\assets"; Flags: deleteafterinstall
23+
; Compiler files
24+
Source: "compiler:Default.isl"; DestDir: "{tmp}\_offlineinstaller"; Flags: deleteafterinstall
25+
Source: "compiler:ISCC.exe"; DestDir: "{tmp}\_offlineinstaller"; Flags: deleteafterinstall
26+
Source: "compiler:ISCmplr.dll"; DestDir: "{tmp}\_offlineinstaller"; Flags: deleteafterinstall
27+
Source: "compiler:islzma.dll"; DestDir: "{tmp}\_offlineinstaller"; Flags: deleteafterinstall
28+
Source: "compiler:ISPP.dll"; DestDir: "{tmp}\_offlineinstaller"; Flags: deleteafterinstall
29+
Source: "compiler:Setup.e32"; DestDir: "{tmp}\_offlineinstaller"; Flags: deleteafterinstall
30+
Source: "compiler:SetupLdr.e32"; DestDir: "{tmp}\_offlineinstaller"; Flags: deleteafterinstall
31+
; For debugging offline.
32+
; Source: "C:\Users\Chris\Downloads\Precompiled.zip"; DestDir: "{tmp}"; Flags: external deleteafterinstall
2733

2834
[Run]
29-
Filename: "powershell.exe"; Parameters: "-File {tmp}\set-env.ps1 {app}"; Flags: waituntilterminated runhidden; StatusMsg: "Setting environment variables..."
35+
Filename: "powershell.exe"; Parameters: "-File {tmp}\extract-zip.ps1 {tmp}\Precompiled.zip {tmp}\_offlineinstaller\elixir"; Flags: waituntilterminated runhidden; StatusMsg: "Extracting precompiled package..."
36+
Filename: "{tmp}\_offlineinstaller\ISCC.exe"; Parameters: "/dElixirVersion=0.14.1 /dSkipPages /dNoCompression Elixir.iss"; WorkingDir: "{tmp}\_offlineinstaller"; Flags: waituntilterminated; StatusMsg: "Preparing Elixir installer..."
37+
Filename: "{tmp}\_offlineinstaller\Output\elixir-v0.14.1-setup.exe"; Flags: waituntilterminated; StatusMsg: "Running Elixir installer..."
3038

3139
[Code]
3240
function ErlangIsInstalled: Boolean;
@@ -38,7 +46,7 @@ end;
3846
3947
procedure InitializeWizard();
4048
begin
41-
idpAddFile('{#ZipURL}', ExpandConstant('{tmp}\Precompiled.zip'));
49+
idpAddFile('https://github.com/elixir-lang/elixir/releases/download/v0.14.1/Precompiled.zip', ExpandConstant('{tmp}\Precompiled.zip'));
4250
idpDownloadAfter(wpPreparing);
4351
end;
4452
@@ -60,6 +68,7 @@ begin
6068
end;
6169
end;
6270
71+
[Code]
6372
procedure ExtractPrecompiled();
6473
var
6574
ResultCode: Integer;

0 commit comments

Comments
 (0)