-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathheadless_robot_setup.iss
75 lines (60 loc) · 2.7 KB
/
headless_robot_setup.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
; Headless Robot Installer Script
[Setup]
; Application information
AppId={{5E7A2D80-1C4F-4B9A-8F55-E48D39C7F2B3}}
AppName=Headless Robot
AppVersion=1.0
AppVerName=Headless Robot 1.0
AppPublisher=Noah
AppPublisherURL=https://github.com/noah/headlessrobot
AppSupportURL=https://github.com/noah/headlessrobot/issues
AppUpdatesURL=https://github.com/noah/headlessrobot/releases
; Modern Windows versions only (Windows 10 or higher)
MinVersion=10.0
; Use modern architecture identifiers - FIXED
ArchitecturesAllowed=x64compatible
ArchitecturesInstallIn64BitMode=x64compatible
; Use commonpf for installation directory
DefaultDirName={commonpf}\Headless Robot
DefaultGroupName=Headless Robot
OutputBaseFilename=HeadlessRobot_Setup
Compression=lzma2
SolidCompression=yes
WizardStyle=modern
; Request admin privileges but allow standard user
PrivilegesRequired=admin
PrivilegesRequiredOverridesAllowed=commandline dialog
UninstallDisplayIcon={app}\HeadlessRobot.exe
UsedUserAreasWarning=no
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
; Main application files
Source: "dist\HeadlessRobot\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "dist\HeadlessRobot\HeadlessRobot.exe"; DestDir: "{app}"; Flags: ignoreversion
; VC++ Redistributable
Source: "redist\vc_redist.x64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall; Check: not VCRedistInstalled
[Icons]
Name: "{group}\Headless Robot"; Filename: "{app}\HeadlessRobot.exe"; Comment: "Launch Headless Robot"
Name: "{group}\{cm:UninstallProgram,Headless Robot}"; Filename: "{uninstallexe}"
Name: "{autodesktop}\Headless Robot"; Filename: "{app}\HeadlessRobot.exe"; Tasks: desktopicon
[Run]
; Install Visual C++ Redistributable if needed
Filename: "{tmp}\vc_redist.x64.exe"; Parameters: "/quiet /norestart"; StatusMsg: "Installing Visual C++ Redistributable..."; Check: not VCRedistInstalled; Flags: waituntilterminated
; Run the application after installation
Filename: "{app}\HeadlessRobot.exe"; Description: "{cm:LaunchProgram,Headless Robot}"; Flags: nowait postinstall skipifsilent
[UninstallDelete]
Type: filesandordirs; Name: "{app}\*.json"
Type: dirifempty; Name: "{app}"
[Dirs]
Name: "{app}\config"; Permissions: everyone-modify
[Code]
// Check if Visual C++ Redistributable is already installed
function VCRedistInstalled: Boolean;
begin
// Check for VC++ 2015-2022 Redistributable
Result := RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64') or
RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x64');
end;