JT2GO: - Inno Setup installer for JT2Go with prerequisite checking - Checks for VC++ x86/x64 redistributables and .NET 4.8 - Verifies admin privileges before installation - Supports silent installation mode NetworkDriveManager: - Full Inno Setup implementation with integrated PowerShell logic - Menu-based interface for managing legacy domain network drives - Features: backup/restore mappings, credential testing, drive reset - Server migration from rd.ds.ge.com to wjs.geaerospace.net - Three-phase reconnection to prevent error 1219 with multiple shares - Add predefined drives (S:, V:, Y:) functionality Template: - Reusable Inno Setup project template for co-workers - Documented sections with examples and best practices - Includes utility functions and common patterns Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.3 KiB
3.3 KiB
Inno Setup Project Template
A starting point for creating Windows installers with Inno Setup.
Quick Start
- Copy this folder to a new location and rename it for your project
- Rename
Template.isstoYourProjectName.iss - Generate a new GUID for
AppId(Tools > Generate GUID in Inno Setup) - Update the
[Setup]section with your app name, version, publisher, etc. - Add your files to the
[Files]section - Compile with Inno Setup Compiler (right-click > Compile)
Files Included
| File | Description |
|---|---|
Template.iss |
Main Inno Setup script with examples |
gea-logo.ico |
Setup icon (replace with your own) |
banner.bmp |
Wizard banner image (164x314 pixels) |
banner-sm.bmp |
Wizard small image (55x58 pixels) |
README.md |
This file |
Common Tasks
Install Files
[Files]
Source: "MyApp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "Data\*"; DestDir: "{app}\Data"; Flags: ignoreversion recursesubdirs
Create Shortcuts
[Icons]
Name: "{group}\My App"; Filename: "{app}\MyApp.exe"
Name: "{userdesktop}\My App"; Filename: "{app}\MyApp.exe"; Tasks: desktopicon
Run After Install
[Run]
Filename: "{app}\MyApp.exe"; Description: "Launch My App"; Flags: postinstall nowait
Check Prerequisites
function InitializeSetup: Boolean;
begin
Result := True;
if not IsDotNet48Installed then
begin
MsgBox('.NET Framework 4.8 is required.', mbError, MB_OK);
Result := False;
end;
end;
Execute PowerShell
var
Output: String;
begin
ExecPowerShell('Get-Process | Select-Object -First 5', Output);
ShowResultsDialog('Processes', Output);
end;
Silent Installation
:: Silent install
MySetup.exe /VERYSILENT /SUPPRESSMSGBOXES
:: Silent install with log
MySetup.exe /VERYSILENT /LOG="C:\install.log"
:: Silent uninstall
MySetup.exe /VERYSILENT /UNINSTALL
Useful Constants
| Constant | Description | Example |
|---|---|---|
{app} |
Application directory | C:\Program Files\MyApp |
{tmp} |
Temporary directory | C:\Users\X\AppData\Local\Temp\is-XXXXX |
{userdesktop} |
User's desktop | C:\Users\X\Desktop |
{userdocs} |
User's documents | C:\Users\X\Documents |
{commonpf} |
Program Files | C:\Program Files |
{commonpf32} |
Program Files (x86) | C:\Program Files (x86) |
{autopf} |
Auto Program Files | Picks 32/64-bit automatically |
{win} |
Windows directory | C:\Windows |
{sys} |
System32 directory | C:\Windows\System32 |
{src} |
Setup source directory | Where setup.exe is located |
{group} |
Start Menu folder | C:\ProgramData\Microsoft\Windows\Start Menu\Programs\MyApp |
Privileges
; Requires admin (for Program Files installs)
PrivilegesRequired=admin
; User-level only (no elevation)
PrivilegesRequired=lowest
; Try admin, fall back to user
PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=dialog
Resources
Author
WJDT / GE Aerospace