]> git.lizzy.rs Git - rust.git/blob - src/etc/installer/exe/rust.iss
e7d4ec61946869369ef89227b34034d12bce616c
[rust.git] / src / etc / installer / exe / rust.iss
1 #define CFG_RELEASE_NUM GetEnv("CFG_RELEASE_NUM")
2 #define CFG_RELEASE GetEnv("CFG_RELEASE")
3 #define CFG_PACKAGE_NAME GetEnv("CFG_PACKAGE_NAME")
4 #define CFG_BUILD GetEnv("CFG_BUILD")
5
6 [Setup]
7
8 SetupIconFile=rust-logo.ico
9 AppName=Rust
10 AppVersion={#CFG_RELEASE}
11 AppCopyright=Copyright (C) 2006-2014 Mozilla Foundation, MIT license
12 AppPublisher=Mozilla Foundation
13 AppPublisherURL=http://www.rust-lang.org
14 VersionInfoVersion={#CFG_RELEASE_NUM}
15 LicenseFile=LICENSE.txt
16
17 PrivilegesRequired=lowest
18 DisableWelcomePage=true
19 DisableProgramGroupPage=true
20 DisableReadyPage=true
21 DisableStartupPrompt=true
22
23 OutputDir=.\
24 SourceDir=.\
25 OutputBaseFilename={#CFG_PACKAGE_NAME}-{#CFG_BUILD}
26 DefaultDirName={sd}\Rust
27
28 Compression=lzma2/ultra
29 InternalCompressLevel=ultra
30 SolidCompression=true
31
32 ChangesEnvironment=true
33 ChangesAssociations=no
34 AllowUNCPath=false
35 AllowNoIcons=true
36 Uninstallable=yes
37
38 [Tasks]
39 Name: modifypath; Description: &Add {app}\bin to your PATH (recommended)
40
41 [Components]
42 Name: rust; Description: "Rust compiler and standard crates"; Types: full compact custom; Flags: fixed
43 #ifdef MINGW
44 Name: gcc; Description: "Linker and platform libraries"; Types: full
45 #endif
46 Name: docs; Description: "HTML documentation"; Types: full
47 Name: cargo; Description: "Cargo, the Rust package manager"; Types: full
48 Name: std; Description: "The Rust Standard Library"; Types: full
49 Name: rls; Description: "RLS, the Rust Language Server"
50
51 [Files]
52 Source: "rustc/*.*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: rust
53 #ifdef MINGW
54 Source: "rust-mingw/*.*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: gcc
55 #endif
56 Source: "rust-docs/*.*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: docs
57 Source: "cargo/*.*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: cargo
58 Source: "rust-std/*.*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: std
59 Source: "rls/*.*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: rls
60 Source: "rust-analysis/*.*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Components: rls
61
62 [Code]
63 const
64         ModPathName = 'modifypath';
65         ModPathType = 'user';
66
67 function ModPathDir(): TArrayOfString;
68 begin
69         setArrayLength(Result, 1)
70         Result[0] := ExpandConstant('{app}\bin');
71 end;
72
73 #include "modpath.iss"
74 #include "upgrade.iss"
75
76 // Both modpath.iss and upgrade.iss want to overload CurStepChanged.
77 // This version does the overload then delegates to each.
78
79 procedure CurStepChanged(CurStep: TSetupStep);
80 begin
81   UpgradeCurStepChanged(CurStep);
82   ModPathCurStepChanged(CurStep);
83 end;