1- ; Script generated by the Inno Setup Script Wizard.
2- ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
3-
41#define MyAppName " Intrudex-Client"
52#define MyAppVersion " 1.0.0"
63#define MyAppPublisher " ToolsHive, Inc."
74#define MyAppURL " https://github.com/ToolsHive/Intrudex/"
85#define MyAppExeName " Intrudex_Client.exe"
9- #define MyAppAssocName MyAppName + " "
6+ #define MyAppServiceName " IntrudexClientService"
7+ #define MyAppAssocName MyAppName
108#define MyAppAssocExt " .myp"
119#define MyAppAssocKey StringChange(MyAppAssocName, " " , " " ) + MyAppAssocExt
1210
1311[Setup]
14- ; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
15- ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
16- AppId = {{F599BB8F-FF0F-4965 -B2C3-D46682D7DBF5}
12+ AppId = {{F599BB8F-FF0F-4965 -B2C3-D46682D7DBF5}}
1713AppName = {#MyAppName }
1814AppVersion = {#MyAppVersion}
19- ;AppVerName={#MyAppName} {#MyAppVersion}
2015AppPublisher = {#MyAppPublisher}
2116AppPublisherURL = {#MyAppURL}
2217AppSupportURL = {#MyAppURL}
2318AppUpdatesURL = {#MyAppURL}
2419DefaultDirName = {autopf}\{#MyAppName }
2520UninstallDisplayIcon = {app} \{#MyAppExeName}
26- ; "ArchitecturesAllowed=x64compatible" specifies that Setup cannot run
27- ; on anything but x64 and Windows 11 on Arm.
2821ArchitecturesAllowed = x64compatible
29- ; "ArchitecturesInstallIn64BitMode=x64compatible" requests that the
30- ; install be done in "64-bit mode" on x64 or Windows 11 on Arm,
31- ; meaning it should use the native 64-bit Program Files directory and
32- ; the 64-bit view of the registry.
3322ArchitecturesInstallIn64BitMode = x64compatible
3423ChangesAssociations = yes
3524DefaultGroupName = {#MyAppName }
3625AllowNoIcons = yes
37- LicenseFile = Intrudex\LICENSE
38- ; Uncomment the following line to run in non administrative install mode (install for current user only).
39- ;PrivilegesRequired=lowest
26+ LicenseFile = LICENSE
4027PrivilegesRequiredOverridesAllowed= dialog
41- OutputDir = C:\Users\armog\OneDrive\Desktop\Intrudex-Client
42- OutputBaseFilename = Intrudex-Client-Setup
28+ OutputDir = .
29+ OutputBaseFilename = Intrudex-Client-Setup-v{#MyAppVersion}
4330SolidCompression = yes
4431WizardStyle = modern
4532
@@ -48,29 +35,21 @@ Name: "english"; MessagesFile: "compiler:Default.isl"
4835
4936[Tasks]
5037Name : " desktopicon" ; Description : " {cm:CreateDesktopIcon}" ; GroupDescription: " {cm:AdditionalIcons}" ; Flags : unchecked
51- Name : autostart; Description : " Start Intrudex Client with Windows" ; GroupDescription: " Startup options:" ; Flags : unchecked
38+ Name : " autostart" ; Description : " Start Intrudex Client after installation" ; GroupDescription: " Startup options:" ; Flags : unchecked
39+ Name : " registerservice" ; Description : " Register Intrudex Client as a Windows Service (requires admin)" ; GroupDescription: " Service Options:" ; Flags : unchecked
5240
5341[Files]
54- ; Main EXE
55- Source : " Intrudex-Client\build\Intrudex_Client.exe" ; DestDir : " {app} " ; Flags : ignoreversion
56-
57- ; All folders and files under build (preserve structure)
42+ Source : " Intrudex-Client\build\{#MyAppExeName}" ; DestDir : " {app} " ; Flags : ignoreversion
5843Source : " Intrudex-Client\build\config\*" ; DestDir : " {app} \config" ; Flags : ignoreversion recursesubdirs createallsubdirs
5944Source : " Intrudex-Client\build\assets\*" ; DestDir : " {app} \assets" ; Flags : ignoreversion recursesubdirs createallsubdirs
60-
61- ; All DLLs at the root of build
6245Source : " Intrudex-Client\build\*.dll" ; DestDir : " {app} " ; Flags : ignoreversion
6346
6447[Registry]
6548Root : HKA; Subkey : " Software\Classes\{#MyAppAssocExt}\OpenWithProgids" ; ValueType : string ; ValueName : " {#MyAppAssocKey}" ; ValueData : " " ; Flags : uninsdeletevalue
6649Root : HKA; Subkey : " Software\Classes\{#MyAppAssocKey}" ; ValueType : string ; ValueName : " " ; ValueData : " {#MyAppAssocName}" ; Flags : uninsdeletekey
6750Root : HKA; Subkey : " Software\Classes\{#MyAppAssocKey}\DefaultIcon" ; ValueType : string ; ValueName : " " ; ValueData : " {app} \{#MyAppExeName},0"
6851Root : HKA; Subkey : " Software\Classes\{#MyAppAssocKey}\shell\open\command" ; ValueType : string ; ValueName : " " ; ValueData : " " " {app} \{#MyAppExeName}" " " " %1 " " "
69- ; Optional: Write uninstall path
70- Root : HKLM; Subkey : " Software\Microsoft\Windows\CurrentVersion\Uninstall\Intrudex_Client" ; ValueType : string ; ValueName : " UninstallString" ; ValueData : " " " {uninstallexe} " " "
71- ; Auto-start only if selected in [Tasks]
72- Root : HKCU; Subkey : " Software\Microsoft\Windows\CurrentVersion\Run" ; ValueType : string ; ValueName : " IntrudexClient" ; ValueData : " " " {app} \intrudex-client.exe" " " ; Tasks: autostart
73-
52+ Root : HKLM; Subkey : " Software\Microsoft\Windows\CurrentVersion\Uninstall\{#MyAppName}" ; ValueType : string ; ValueName : " UninstallString" ; ValueData : " " " {uninstallexe} " " "
7453
7554[Icons]
7655Name : " {group} \{#MyAppName}" ; Filename : " {app} \{#MyAppExeName}"
@@ -79,5 +58,9 @@ Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
7958Name : " {autodesktop}\{#MyAppName}" ; Filename : " {app} \{#MyAppExeName}" ; Tasks: desktopicon
8059
8160[Run]
82- Filename : " {app} \{#MyAppExeName}" ; Description : " {cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}" ; Flags : nowait postinstall skipifsilent
61+ ; Start the app if selected
62+ Filename : " {app} \{#MyAppExeName}" ; Description : " Launch Intrudex Client now" ; Flags : nowait postinstall skipifsilent ; Tasks: autostart
8363
64+ ; Register the EXE as a system service (if selected)
65+ ; Assumes the EXE can run as a service and doesn't terminate immediately
66+ Filename : " sc.exe" ; Parameters : " create {#MyAppServiceName} binPath= " " {app} \{#MyAppExeName}" " DisplayName= " " Intrudex Client Service" " start= auto" ; StatusMsg : " Registering as system service..." ; Flags : runhidden runascurrentuser ; Tasks: registerservice
0 commit comments