Inno Setup vs AAX Plugins

I’m trying to write an installer for an AAX plugin but having issues with Inno Setup not properly copying the .aaxplugin folder.

Here’s the installer script, copied from one of the JUCE tutorials (JUCE: Tutorial: Package your app or plugin for distribution):

[Setup]
AppName=Test
AppVersion=1.0
DefaultDirName={cf}
DefaultGroupName=Test
OutputBaseFilename=Test

[Files]
Source: "MyPlugin.aaxplugin\*";  DestDir:    "{cf32}\Avid\Audio\Plug-Ins\MyPlugin.aaxplugin"; Flags: recursesubdirs createallsubdirs;

The source .aaxplugin folder has the expected hierarchy:

MyPlugin.aaxplugin
L   Contents
    L   Resources
    L   Win32
        L   MyPlugin.aaxplugin
    L   x64

The source folder also has the AAX plugin icon:
image
And expecting the properties of the folder shows:
image

Now, when I run the installer, the folder is copied to the corrent folder with the correct heirarchy but it has now lost the AAX icon and shows a different size and number of files than the source:
image
image

Manually copying the source folder across works as expected and is recognised by Pro Tools, however the folder from the Inno Installer is not recognised.

Can anyone give any advice on how to fix this issue?

Somehow it’s lost ~0.4MB and two files, that don’t actually exist in Windows Explorer? Possibly some meta data being lost?

Comparing your flags to ours, we have overwritereadonly and ignoreversion set too but I assume they would only matter if the destination already exists?

One other difference is that our source is one level up from the .aaxplugin folder (the plug-in is the only item in the parent directory) and the destination is adjusted accordingly.

Not sure whether any of that will help, but they’re the only differences I can see and our installers work fine.

3 Likes

See:

Rail

5 Likes

Hi, sorry to resurrect an old thread. But I’m having problems with AAX not being copied properly.

Source: "D:\Plug-ins\MyBuildFolder\x64\Release\AAX\{#MyApp}.aaxplugin"; DestDir: "{commoncf64}\Avid\Audio\Plug-Ins\"; Components:aax_64; Flags: recursesubdirs ignoreversion;

And I’ve tried this one…

Source: "D:\Plug-ins\MyBuildFolder\x64\Release\AAX\{#MyApp}.aaxplugin\*"; DestDir: "{commoncf64}\Avid\Audio\Plug-Ins\{#MyApp}.aaxplugin\"; Components:aax_64; Flags: recursesubdirs ignoreversion;

But the plugIn.ico file is not being copied.
I’ve tried Rail’s [Dirs] above.
I’ve also tried all kinds of *.* at the end of source and destination.
It’s just refusing to copy the plug-in.ico file. Does anyone know why?


Source: "Plugins\AAX\{PLUGINNAME}.aaxplugin\*"; DestDir: "{cf64}\Avid\Audio\Plug-Ins\{PLUGINNAME}.aaxplugin\"; Flags: overwritereadonly ignoreversion recursesubdirs uninsremovereadonly; Components: aax64

Source: "Plugins\AAX\{PLUGINNAME}.aaxplugin\PlugIn.ico"; DestDir: "{cf64}\Avid\Audio\Plug-Ins\{PLUGINNAME}.aaxplugin\"; Flags: overwritereadonly uninsremovereadonly; Attribs: readonly system hidden; Components: aax64

Source: "Plugins\AAX\{PLUGINNAME}.aaxplugin\desktop.ini"; DestDir: "{cf64}\Avid\Audio\Plug-Ins\{PLUGINNAME}.aaxplugin\"; Flags: overwritereadonly uninsremovereadonly; Attribs: readonly system hidden; Components: aax64

2 Likes

So I have to do each file separately?
Thanks.

edit - It’s because they’re hidden files.