Inno Setup Template for Multiple Locations and User Destination
-
Hi all, would someone mind sharing their Inno Setup template for their HISE plugins? Our installer is working fine, but our users frequently ask for the ability to choose a different location for the .dll files. I'm basically looking for a version where the user can select the destination for just the .dll but the installer will put the other files in their default locations (i.e. AppData, Standalone, etc).
-
@Casey-Kolb This includes
- VST2 - Selectable Folder
- VST3/AAX - Standard Folders
[Setup] AppID={{----YOUR APP ID------} AppName= ----YOUR APP NAME------ AppVersion= ----YOUR APP VERSION------ AppPublisher= ----YOUR COMPANY NAME------ AppPublisherURL= AppSupportURL= AppUpdatesURL= DefaultDirName={pf}\YOURCOMPANY\ProductName DisableDirPage=true DefaultGroupName= LicenseFile= OutputDir=..\ OutputBaseFilename= SetupIconFile= Compression=none SolidCompression=true WizardImageFile= WizardImageBackColor=clWhite WizardImageStretch=false UninstallDisplayIcon={app}\nletter_icon.ico InternalCompressLevel=max DisableStartupPrompt=false ArchitecturesInstallIn64BitMode=x64 SetupLogging=true [Types] Name: full; Description: Full installation Name: custom; Description: Custom installation; Flags: iscustom [Components] Name: vst2_32; Description: 32-bit VST Plugin (.dll); Types: full custom Name: vst2_64; Description: 64-bit VST Plugin (.dll); Types: full custom; Check: Is64BitInstallMode Name: "VST3"; Description: "32-bit VST3"; Types: full custom; Name: "VST364"; Description: "64-bit VST3"; Types: full custom; Check: Is64BitInstallMode Name: aax_32; Description: 32-bit AAX Plugin (.aaxplugin); Types: full custom Name: aax_64; Description: 64-bit AAX Plugin (.aaxplugin); Types: full custom; Check: Is64BitInstallMode Name: manual; Description: User guide; Types: full custom; Flags: fixed [Files] Source: ..\Heater\v1.3.5\Windows\Heater x86.dll; DestDir: {code:GetVST2Dir_32}; Check: not Is64BitInstallMode; Components: vst2_32; Flags: ignoreversion Source: ..\Heater\v1.3.5\Windows\Heater x86.dll; DestDir: {code:GetVST2Dir_32}; Check: Is64BitInstallMode; Components: vst2_32; Flags: ignoreversion Source: ..\Heater\v1.3.5\Windows\Heater x64.dll; DestDir: {code:GetVST2Dir_64}; Check: Is64BitInstallMode; Components: vst2_64; Flags: ignoreversion Source: ..\Heater\v1.3.5\Windows\Heater x64.vst3; DestDir: "{cf64}\VST3\"; Components: VST364; Flags: ignoreversion Source: ..\Heater\v1.3.5\Windows\Heater x86.vst3; DestDir: "{cf32}\VST3\"; Components: VST3; Flags: ignoreversion Source: ..\Heater\v1.3.5\Windows\Heater x86.aaxplugin\*.*; DestDir: {cf32}\Avid\Audio\Plug-Ins\NoiseAsh Audio\Heater x86.aaxplugin\; Components: aax_32; Flags: ignoreversion recursesubdirs createallsubdirs Source: ..\Heater\v1.3.5\Windows\Heater x64.aaxplugin\*.*; DestDir: {cf}\Avid\Audio\Plug-Ins\NoiseAsh Audio\Heater x64.aaxplugin\; Components: aax_64; Flags: ignoreversion recursesubdirs createallsubdirs Source: ..\Heater\v1.3.5\Heater - User Manual & Licensing Agreement.pdf; DestDir: "{app}\Documentation"; Flags: ignoreversion recursesubdirs Source: additional files\nletter_icon.ico; DestDir: {app} [Icons] Name: {group}\Changelog; Filename: {app}\changelog.txt Name: {group}\Uninstall Palmary Heater; Filename: {app}\unins000.exe [Code] var OkToCopyLog : Boolean; VST2DirPage_32: TInputDirWizardPage; VST2DirPage_64: TInputDirWizardPage; procedure InitializeWizard; begin if IsWin64 then begin VST2DirPage_64 := CreateInputDirPage(wpSelectDir, 'Confirm 64-Bit VST Plugin Directory', '', 'Select the folder in which setup should install the 64-bit VST Plugin, then click Next.', False, ''); VST2DirPage_64.Add(''); VST2DirPage_64.Values[0] := 'C:\Program Files\VstPlugins\YOURCOMPANY'; VST2DirPage_32 := CreateInputDirPage(wpSelectDir, 'Confirm 32-Bit VST Plugin Directory', '', 'Select the folder in which setup should install the 32-bit VST Plugin, then click Next.', False, ''); VST2DirPage_32.Add(''); VST2DirPage_32.Values[0] := 'C:\Program Files (x86)\VstPlugins\YOURCOMPANY'; end else begin VST2DirPage_32 := CreateInputDirPage(wpSelectDir, 'Confirm 32-Bit VST Plugin Directory', '', 'Select the folder in which setup should install the 32-bit VST Plugin, then click Next.', False, ''); VST2DirPage_32.Add(''); VST2DirPage_32.Values[0] := 'C:\Program Files (x86)\VstPlugins\YOURCOMPANY'; end; end; function GetVST2Dir_32(Param: String): String; begin Result := VST2DirPage_32.Values[0] end; function GetVST2Dir_64(Param: String): String; begin Result := VST2DirPage_64.Values[0] end; procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssDone then OkToCopyLog := True; end; procedure DeinitializeSetup(); begin if OkToCopyLog then FileCopy (ExpandConstant ('{log}'), ExpandConstant ('{app}\InstallationLogFile.log'), FALSE); RestartReplace (ExpandConstant ('{log}'), ''); end; [UninstallDelete] Type: files; Name: {app}\InstallationLogFile.log
-
@orange Thank you!
-
@orange What's the norm with vsts on PC - VST2 you can have a custom folder but is VST3 a fixed location?
-
@DanH said in Inno Setup Template for Multiple Locations and User Destination:
@orange What's the norm with vsts on PC - VST2 you can have a custom folder but is VST3 a fixed location?
https://helpcenter.steinberg.de/hc/en-us/articles/115000177084-VST-plug-in-locations-on-Windows
-
@d-healey thanks