-
Notifications
You must be signed in to change notification settings - Fork 3
/
inno-wininstaller.iss
92 lines (80 loc) · 5.27 KB
/
inno-wininstaller.iss
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
; Inno Setup Script
#define MyAppName "OGrEE"
#define MyBackAppName "OGrEE Admin Backend"
#define MyFrontAppName "OGrEE Admin UI"
#define MyCliAppName "OGrEE CLI"
#define My3DAppName "OGrEE 3D"
#define MyAppVersion GetEnv('VERSION')
#define MyAppPublisher "DitRit"
#define MyAppURL "https://ditrit.io/"
#define MyBackAppExeName "ogree_app_backend.exe"
#define MyFrontAppExeName "ogree_app.exe"
#define MyCliExeName "cli.exe"
#define My3DExeName "OGrEE-3D.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{5C1F8849-2EF7-459B-948A-BC328FFEAA31}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DisableProgramGroupPage=yes
; Remove the following line to run in administrative install mode (install for all users.)
PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=dialog
OutputBaseFilename=ogree-app-installer
Compression=lzma
SolidCompression=yes
WizardStyle=modern
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Types]
Name: "full"; Description: "Full installation (APP+CLI+3D)"
Name: "custom"; Description: "Custom installation"; Flags: iscustom
[Components]
Name: "front"; Description: {#MyFrontAppName}; Types: full
Name: "back"; Description: {#MyBackAppName}; Types: full
Name: "cli"; Description: {#MyCliAppName}; Types: full
Name: "unity"; Description: {#My3DAppName}; Types: full
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "BACK\*"; DestDir: "{app}\back"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: back
Source: "deploy\*"; DestDir: "{app}\deploy"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: back
Source: "APP\build\windows\x64\runner\Release\*"; DestDir: "{app}\front"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: front
Source: "ogree-icon.ico"; DestDir: "{app}"; DestName: "ogree-icon.ico"; Flags: ignoreversion; Components: back front
Source: "config-example.toml"; DestDir: "{app}"; DestName: "config.toml"; Flags: ignoreversion; Components: cli
Source: "CLI\other\man\*"; DestDir: "{app}\cli\other\man"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: cli
Source: "{#MyCliExeName}"; DestDir: "{app}\cli"; Flags: ignoreversion; Components: cli
Source: "OGrEE-3D_win\*"; DestDir: "{app}\3d"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: unity
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{autoprograms}\{#MyAppName}\{#MyBackAppName}"; Filename: "{app}\back\app\{#MyBackAppExeName}"; IconFilename: "{app}\ogree-icon.ico"; Components: back
Name: "{autodesktop}\{#MyBackAppName}"; Filename: "{app}\back\app\{#MyBackAppExeName}"; IconFilename: "{app}\ogree-icon.ico"; Tasks: desktopicon; Components: back
Name: "{autoprograms}\{#MyAppName}\{#MyFrontAppName}"; Filename: "{app}\front\{#MyFrontAppExeName}"; IconFilename: "{app}\ogree-icon.ico"; Components: front
Name: "{autodesktop}\{#MyFrontAppName}"; Filename: "{app}\front\{#MyFrontAppExeName}"; IconFilename: "{app}\ogree-icon.ico"; Tasks: desktopicon; Components: front
Name: "{autoprograms}\{#MyAppName}\{#MyCliAppName}"; Filename: "{app}\cli\{#MyCliExeName}"; IconFilename: "{app}\ogree-icon.ico"; Components: cli
Name: "{autodesktop}\{#MyCliAppName}"; Filename: "{app}\cli\{#MyCliExeName}"; IconFilename: "{app}\ogree-icon.ico"; Tasks: desktopicon; Components: cli
Name: "{autoprograms}\{#MyAppName}\{#My3DAppName}"; Filename: "{app}\3d\{#My3DExeName}"; Components: unity
Name: "{autodesktop}\{#My3DAppName}"; Filename: "{app}\3d\{#My3DExeName}"; Tasks: desktopicon; Components: unity
[Run]
Filename: "{app}\back\app\{#MyBackAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyBackAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Components: back
Filename: "{app}\front\{#MyFrontAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyFrontAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Components: front
Filename: "{app}\cli\{#MyCliExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyCliAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Components: cli
Filename: "{app}\3d\{#My3DExeName}"; Description: "{cm:LaunchProgram,{#StringChange(My3DAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Components: unity
Filename: "{sys}\sc.exe"; Parameters: "create ogree-backend-svc start=auto binPath=""{app}\back\app\{#MyBackAppExeName}""" ; Flags: runhidden
[UninstallRun]
Filename: "{sys}\sc.exe"; Parameters: "stop ogree-backend-svc" ; RunOnceId: "DelService" ; Flags: runhidden
Filename: "{sys}\sc.exe"; Parameters: "delete ogree-backend-svc" ; RunOnceId: "DelService" ; Flags: runhidden
[UninstallDelete]
Type: filesandordirs; Name: "{app}\3d\OGrEE-3D_Data\.ogreeCache"
Type: dirifempty; Name: "{app}\3d\OGrEE-3D_Data\"
Type: dirifempty; Name: "{app}\3d"
Type: filesandordirs; Name: "{app}\cli\log.txt"
Type: filesandordirs; Name: "{app}\cli\unitylog.txt"
Type: dirifempty; Name: "{app}\cli"