Proteus_Install_Script.iss (3936B)
1 #define MyAppPublisher "GuitarML" 2 #define MyAppURL "https://guitarml.com" 3 #define MyAppName "Proteus" 4 5 [Setup] 6 AppName=Proteus 7 AppVersion=##APPVERSION## 8 AppPublisher={#MyAppPublisher} 9 AppPublisherURL={#MyAppURL} 10 AppSupportURL={#MyAppURL} 11 AppUpdatesURL={#MyAppURL} 12 DisableProgramGroupPage=yes 13 DisableWelcomePage=no 14 DisableDirPage=yes 15 DefaultDirName={commoncf64} 16 DefaultGroupName=Proteus 17 OutputBaseFilename="Proteus-Win-##APPVERSION##" 18 OutputDir=. 19 LicenseFile=../../LICENSE.txt 20 SetupIconFile=../../resources/guitarml.ico 21 UninstallDisplayIcon=../../resources/Proteus.ico 22 UninstallFilesDir={commoncf64}\GuitarML\{#MyAppName} 23 Compression=lzma 24 SolidCompression=yes 25 26 [Types] 27 Name: "full"; Description: "Full installation" 28 Name: "custom"; Description: "Custom installation"; Flags: iscustom 29 30 [Components] 31 Name: "VST3_64"; Description: "VST3 Plugin 64-bit"; Types: full 32 Name: "AAX"; Description: "AAX Plugin"; Types: full 33 34 [Files] 35 Source: "../../bin/Win64/Proteus.vst3"; DestDir: "{code:GetDir|VST3_64}"; Components: VST3_64; Flags: ignoreversion recursesubdirs createallsubdirs 36 Source: "../../build-aax/Proteus_artefacts/Release/AAX/Proteus.aaxplugin"; DestDir: "{code:GetDir|AAX}"; Components: AAX; Flags: ignoreversion recursesubdirs createallsubdirs 37 38 [Code] 39 var 40 AAXDirPage: TInputDirWizardPage; 41 Vst3_64DirPage: TinputDirWizardPage; 42 43 procedure InitializeWizard; 44 begin 45 Log('Initializing extra pages') 46 //AAX Dir Page 47 AAXDirPage := CreateInputDirPage(wpSelectComponents, 48 'Select AAX Install Location', 'Where would you like to install the AAX plugin?', 49 'AAX plugin will be installed in the following folder.'#13#10#13#10 + 50 'To continue, click Next. If you would like to select a different folder, click Browse.', 51 False, 'New Folder'); 52 53 AAXDirPage.add(''); 54 AAXDirPage.values[0] := ExpandConstant('{commoncf64}\Avid\Audio\Plug-Ins'); 55 56 //VST3 64-bit Dir Page 57 Vst3_64DirPage := CreateInputDirPage(AAXDirPage.ID, 58 'Select Install Location for VST3 64-bit', 'Where would you like to install the plugin?', 59 'VST3 64-bit plugin will be installed in the following folder.'#13#10#13#10 + 60 'To continue, click Next. If you would like to select a different folder, click Browse.', 61 False, 'New Folder'); 62 63 Vst3_64DirPage.add(''); 64 Vst3_64DirPage.values[0] := ExpandConstant('{commoncf64}\VST3'); 65 66 67 end; 68 69 function IsSelected(Param: String) : Boolean; 70 begin 71 if not (Pos(Param, WizardSelectedComponents(False)) = 0) then // WizardSelectedComponents(False)) then 72 Result := True 73 end; 74 75 function ShouldSkipPage(PageID: Integer): Boolean; 76 begin 77 { Skip pages that shouldn't be shown } 78 Result := False; 79 80 if (PageID = AAXDirPage.ID) then 81 begin 82 Result := True; 83 Log('Selected 1: ' + WizardSelectedComponents(False)); 84 85 if IsSelected ('aax') then 86 begin 87 Log('Not Skipping page'); 88 Result := False; 89 end 90 end 91 92 else if (PageID = Vst3_64DirPage.ID) then 93 begin 94 Result := True; 95 Log('Selected 2: ' + WizardSelectedComponents(False)); 96 97 if IsSelected ('vst3_64') then 98 begin 99 Log('Not Skipping'); 100 Result := False; 101 end 102 end 103 104 105 end; 106 107 function GetDir(Param: String) : String; 108 begin 109 if (Param = 'AAX') then 110 Result := AAXDirPage.values[0] 111 else if (Param = 'VST3_64') then 112 Result := Vst3_64DirPage.values[0] 113 end; 114 115 function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, 116 MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String; 117 var 118 S: String; 119 begin 120 { Fill the 'Ready Memo' with the normal settings and the custom settings } 121 S := ''; 122 S := S + MemoTypeInfo + NewLine + NewLine; 123 S := S + MemoComponentsInfo + NewLine + NewLine; 124 S := S + 'Destination Location:' + NewLine; 125 126 if IsSelected('aax') then 127 S := S + Space + GetDir('AAX') + ' (AAX)' + NewLine; 128 129 if IsSelected('vst3_64') then 130 S := S + Space + GetDir('VST3_64') + ' (VST3 64-bit)' + NewLine; 131 132 Result := S; 133 end;