HISE Logo Forum
    • Categories
    • Register
    • Login

    Inno Setup Template for Multiple Locations and User Destination

    Scheduled Pinned Locked Moved General Questions
    6 Posts 4 Posters 1.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Casey KolbC
      Casey Kolb
      last edited by

      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
      Founder & CEO of Lunacy Audio
      Composer | Producer | Software Developer

      orangeO 1 Reply Last reply Reply Quote 0
      • orangeO
        orange @Casey Kolb
        last edited by orange

        @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
        
        

        develop Branch / XCode 13.1
        macOS Monterey / M1 Max

        Casey KolbC DanHD 2 Replies Last reply Reply Quote 4
        • Casey KolbC
          Casey Kolb @orange
          last edited by

          @orange Thank you!

          Casey Kolb
          Founder & CEO of Lunacy Audio
          Composer | Producer | Software Developer

          1 Reply Last reply Reply Quote 1
          • DanHD
            DanH @orange
            last edited by

            @orange What's the norm with vsts on PC - VST2 you can have a custom folder but is VST3 a fixed location?

            DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
            https://dhplugins.com/ | https://dcbreaks.com/
            London, UK

            d.healeyD 1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @DanH
              last edited by

              @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?

              Just a moment...

              favicon

              (helpcenter.steinberg.de)

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              DanHD 1 Reply Last reply Reply Quote 0
              • DanHD
                DanH @d.healey
                last edited by

                @d-healey thanks

                DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                https://dhplugins.com/ | https://dcbreaks.com/
                London, UK

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                46

                Online

                1.7k

                Users

                11.7k

                Topics

                101.8k

                Posts