This repository was archived by the owner on Jun 11, 2026. It is now read-only.
forked from DomGries/InnoDependencyInstaller
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExampleSetup.iss
More file actions
140 lines (119 loc) · 4.47 KB
/
Copy pathExampleSetup.iss
File metadata and controls
140 lines (119 loc) · 4.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
; https://github.com/DomGries/InnoDependencyInstaller
#include "CodeDependencies.iss"
[Setup]
#define MyAppSetupName 'MyProgram'
#define MyAppVersion '1.0'
#define MyAppPublisher 'Inno Setup'
#define MyAppCopyright 'Copyright © Inno Setup'
#define MyAppURL 'https://jrsoftware.org/isinfo.php'
AppName={#MyAppSetupName}
AppVersion={#MyAppVersion}
AppVerName={#MyAppSetupName} {#MyAppVersion}
AppCopyright={#MyAppCopyright}
VersionInfoVersion={#MyAppVersion}
VersionInfoCompany={#MyAppPublisher}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
OutputBaseFilename={#MyAppSetupName}-{#MyAppVersion}
DefaultGroupName={#MyAppSetupName}
DefaultDirName={autopf}\{#MyAppSetupName}
UninstallDisplayIcon={app}\MyProgram.exe
OutputDir={#SourcePath}\bin
AllowNoIcons=yes
PrivilegesRequired=admin
; remove next line if you only deploy 32-bit binaries and dependencies
ArchitecturesInstallIn64BitMode=x64compatible or arm64
[Languages]
Name: en; MessagesFile: "compiler:Default.isl"
Name: fr; MessagesFile: "compiler:Languages\French.isl"
Name: it; MessagesFile: "compiler:Languages\Italian.isl"
Name: de; MessagesFile: "compiler:Languages\German.isl"
Name: es; MessagesFile: "compiler:Languages\Spanish.isl"
[Files]
Source: "example\MyProg-arm64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: Dependency_IsArm64; Flags: ignoreversion
Source: "example\MyProg-x64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: Dependency_IsX64 and not Dependency_IsArm64; Flags: ignoreversion
Source: "example\MyProg.exe"; DestDir: "{app}"; Check: not Dependency_IsX64; Flags: ignoreversion
[Icons]
Name: "{group}\{#MyAppSetupName}"; Filename: "{app}\MyProg.exe"
Name: "{group}\{cm:UninstallProgram,{#MyAppSetupName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppSetupName}"; Filename: "{app}\MyProg.exe"; Tasks: desktopicon
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"
; Example component definition for optional-dependency gating:
;[Components]
;Name: "advanced"; Description: "Advanced tools (requires .NET 10)"; Types: full
[Run]
Filename: "{app}\MyProg.exe"; Description: "{cm:LaunchProgram,{#MyAppSetupName}}"; Flags: nowait postinstall skipifsilent
[Code]
function InitializeSetup: Boolean;
begin
// comment out functions to disable installing them
Dependency_AddDotNet35;
Dependency_AddDotNet40;
Dependency_AddDotNet45;
Dependency_AddDotNet46;
Dependency_AddDotNet47;
Dependency_AddDotNet48;
//Dependency_AddDotNet481;
//Dependency_AddNetCore31;
//Dependency_AddNetCore31Asp;
//Dependency_AddNetCore31Desktop;
//Dependency_AddDotNet50;
//Dependency_AddDotNet50Asp;
//Dependency_AddDotNet50Desktop;
//Dependency_AddDotNet60;
//Dependency_AddDotNet60Asp;
//Dependency_AddDotNet60Desktop;
//Dependency_AddDotNet70;
//Dependency_AddDotNet70Asp;
//Dependency_AddDotNet70Desktop;
Dependency_AddDotNet80;
Dependency_AddDotNet80Asp;
Dependency_AddDotNet80Hosting;
Dependency_AddDotNet80Desktop;
Dependency_AddDotNet90;
Dependency_AddDotNet90Asp;
Dependency_AddDotNet90Hosting;
Dependency_AddDotNet90Desktop;
//Dependency_Components := 'advanced'; // only install next dependencies if the 'advanced' component is selected
Dependency_AddDotNet100;
Dependency_AddDotNet100Asp;
Dependency_AddDotNet100Hosting;
Dependency_AddDotNet100Desktop;
//Dependency_Components := ''; // disable component gating again
Dependency_AddVC2005;
Dependency_AddVC2008;
Dependency_AddVC2010;
Dependency_AddVC2012;
//Dependency_ForceX86 := True; // force 32-bit install of next dependencies
Dependency_AddVC2013;
//Dependency_ForceX86 := False; // disable forced 32-bit install again
Dependency_AddVC14;
//ExtractTemporaryFile('dxwebsetup.exe'); // optional: bundle dxwebsetup.exe via [Files] to skip its download
//Dependency_AddDirectX;
Dependency_AddSql2008Express;
Dependency_AddSql2012Express;
Dependency_AddSql2014Express;
Dependency_AddSql2016Express;
Dependency_AddSql2017Express;
Dependency_AddSql2019Express;
Dependency_AddSql2022Express;
Dependency_AddSql2025Express;
Dependency_AddSqlOleDb19;
Dependency_AddSqlOdbc18;
Dependency_AddWebView2;
Dependency_AddWinAppRuntime20;
Dependency_AddWinAppRuntime21;
Dependency_AddAccessDatabaseEngine2016;
Dependency_AddVSTORuntime;
Dependency_AddJava8;
Dependency_AddJava11;
Dependency_AddJava17;
Dependency_AddJava21;
Dependency_AddJava25;
Dependency_AddPython313;
Dependency_AddPowerShell7;
Result := True;
end;