#define MyAppName "obs-websocket" #define MyAppVersion "@OBS_WEBSOCKET_VERSION@" #define MyAppPublisher "obs-websocket" #define MyAppURL "http://github.com/obsproject/obs-websocket" [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={{117EE44F-48E1-49E5-A381-CC8D9195CF35} AppName={#MyAppName} AppVersion={#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={code:GetDirName} DefaultGroupName={#MyAppName} OutputBaseFilename=obs-websocket-{#MyAppVersion}-Windows-Installer Compression=lzma SolidCompression=yes DirExistsWarning=no [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Files] Source: "..\release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "..\LICENSE"; Flags: dontcopy ; NOTE: Don't use "Flags: ignoreversion" on any shared system files [Icons] Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" [Code] procedure InitializeWizard(); var GPLText: AnsiString; Page: TOutputMsgMemoWizardPage; begin ExtractTemporaryFile('LICENSE'); LoadStringFromFile(ExpandConstant('{tmp}\LICENSE'), GPLText); Page := CreateOutputMsgMemoPage(wpWelcome, 'License Information', 'Please review the license terms before installing obs-websocket', 'Press Page Down to see the rest of the agreement. Once you are aware of your rights, click Next to continue.', String(GPLText) ); end; // Validate that obs-studio is installed before installing the plugin function PrepareToInstall(var NeedsRestart: Boolean): String; begin Result := ''; if not DirExists(ExpandConstant('{app}\obs-plugins')) then begin Result := 'The selected install directory does not appear to be valid. Please install OBS Studio before installing {#MyAppName} or correct your install path.'; end; end; // credit where it's due : // following function come from https://github.com/Xaymar/obs-studio_amf-encoder-plugin/blob/master/%23Resources/Installer.in.iss#L45 function GetDirName(Value: string): string; var InstallPath: string; begin // initialize default path, which will be returned when the following registry // key queries fail due to missing keys or for some different reason Result := '{commonpf}\obs-studio'; // query the first registry value; if this succeeds, return the obtained value if RegQueryStringValue(HKLM32, 'SOFTWARE\OBS Studio', '', InstallPath) then Result := InstallPath end;