121 lines
4.0 KiB
Plaintext
121 lines
4.0 KiB
Plaintext
; ============================================================================
|
|
; EMX Beta Environment Variable Installer
|
|
; Sets system environment variable EMX_BETA=TRUE
|
|
; ============================================================================
|
|
;
|
|
; This installer:
|
|
; - Sets system environment variable EMX_BETA=TRUE
|
|
; - Registers in Add/Remove Programs for easy uninstall
|
|
; - Uninstall removes the EMX_BETA environment variable
|
|
;
|
|
; Silent Installation:
|
|
; EMXBetaSetup_v1.0.exe /VERYSILENT /SUPPRESSMSGBOXES
|
|
;
|
|
; ============================================================================
|
|
|
|
[Setup]
|
|
AppId={{F7A2C8E1-3B4D-4F6A-9E2C-1D8B5A7F3E09}}
|
|
AppName=GE Aerospace eMx BETA Configuration
|
|
AppVersion=1.0
|
|
AppPublisher=GE Aerospace
|
|
DefaultDirName={autopf}\EMXBeta
|
|
CreateAppDir=no
|
|
PrivilegesRequired=admin
|
|
OutputDir=Output
|
|
OutputBaseFilename=EMXBetaSetup_v1.0
|
|
SolidCompression=yes
|
|
Compression=lzma2
|
|
WizardStyle=modern
|
|
SetupIconFile=gea-logo.ico
|
|
WizardImageFile=banner.bmp
|
|
WizardSmallImageFile=banner-sm.bmp
|
|
DisableWelcomePage=no
|
|
DisableDirPage=yes
|
|
DisableProgramGroupPage=yes
|
|
DisableReadyPage=no
|
|
DisableFinishedPage=no
|
|
Uninstallable=yes
|
|
CreateUninstallRegKey=yes
|
|
|
|
[Languages]
|
|
Name: "english"; MessagesFile: "compiler:Default.isl"
|
|
|
|
[Messages]
|
|
WelcomeLabel2=This will configure the EMX_BETA system environment variable on your computer.%n%nThis sets:%n%n EMX_BETA = TRUE%n%nClick Next to continue.
|
|
|
|
[Registry]
|
|
; Set system environment variable EMX_BETA=TRUE
|
|
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; ValueName: "EMX_BETA"; ValueData: "TRUE"; Flags: uninsdeletevalue
|
|
|
|
[Code]
|
|
const
|
|
APP_NAME = 'EMX Beta Configuration';
|
|
|
|
function InitializeSetup: Boolean;
|
|
begin
|
|
Result := True;
|
|
|
|
if not IsAdmin then
|
|
begin
|
|
MsgBox('This installer requires administrator privileges.' + #13#10 +
|
|
'Please right-click and select "Run as administrator".',
|
|
mbError, MB_OK);
|
|
Result := False;
|
|
end;
|
|
end;
|
|
|
|
// Broadcast WM_SETTINGCHANGE so running processes pick up the new variable
|
|
procedure BroadcastEnvironmentChange;
|
|
var
|
|
ResultCode: Integer;
|
|
begin
|
|
Exec('cmd.exe', '/c setx EMX_BETA_NOTIFY 1 >nul 2>&1 & reg delete "HKCU\Environment" /v EMX_BETA_NOTIFY /f >nul 2>&1',
|
|
'', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
|
end;
|
|
|
|
procedure CurStepChanged(CurStep: TSetupStep);
|
|
begin
|
|
if CurStep = ssPostInstall then
|
|
begin
|
|
// Broadcast environment change to notify running applications
|
|
BroadcastEnvironmentChange;
|
|
|
|
if not WizardSilent then
|
|
MsgBox('EMX_BETA environment variable has been set to TRUE.' + #13#10 + #13#10 +
|
|
'You may need to restart applications or log off/on for the change to take effect.',
|
|
mbInformation, MB_OK);
|
|
end;
|
|
end;
|
|
|
|
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
|
|
var
|
|
ResultCode: Integer;
|
|
begin
|
|
if CurUninstallStep = usPostUninstall then
|
|
begin
|
|
// Registry flag is auto-removed by Inno (uninsdeletevalue)
|
|
// Broadcast environment change to notify running applications
|
|
Exec('cmd.exe', '/c setx EMX_BETA_NOTIFY 1 >nul 2>&1 & reg delete "HKCU\Environment" /v EMX_BETA_NOTIFY /f >nul 2>&1',
|
|
'', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
|
|
|
if not UninstallSilent then
|
|
MsgBox('EMX_BETA environment variable has been removed.' + #13#10 + #13#10 +
|
|
'You may need to restart applications or log off/on for the change to take effect.',
|
|
mbInformation, MB_OK);
|
|
end;
|
|
end;
|
|
|
|
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo,
|
|
MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
|
|
begin
|
|
Result := 'EMX Beta Configuration' + NewLine +
|
|
NewLine +
|
|
'The following system environment variable will be set:' + NewLine +
|
|
NewLine +
|
|
Space + 'Name: EMX_BETA' + NewLine +
|
|
Space + 'Value: TRUE' + NewLine +
|
|
NewLine +
|
|
'This variable will be available system-wide after installation.' + NewLine +
|
|
'A restart of applications or logoff/logon may be required.';
|
|
end;
|