Trouble with Packaging my VST3 plugin

Hi there!

I am working on a 7-band EQ VST3 plugin using JUCE for my senior project for college. This is my first time making a plugin and using JUCE. I should also note that I am a Windows user and I used Visual Studio 2022 as my IDE. I’ve reached a point in the development process where I want to package my current version of the plugin as a demo and have my fellow audio engineering students test it out. I’ve tested it using AudioPluginHost and ran it through Pluginval and no issues came up. So I assume the next step is to package the plugin for multiple operating systems but that is where I am running into trouble.

I tried following the JUCE tutorial about packing your app or plugin but I got confused about if I properly created the installer using Inno Setup. I’ve tried looking up tutorials and guides on how to make installers for JUCE projects but none have been able to help me. I want installers for at least Windows and Mac if not also Linux. I’ve noticed through my searching that you can’t make an installer for Mac or Linux if you’re on a Windows computer. At least that’s what I have gathered from scouring the web trying to find an answer.

I know Visual Studio has an installer thing for projects. Could that be a possible solution? If you haven’t noticed, this is my first time messing with installers in general and I really don’t know what I’m doing.

What I am trying to say is that my goal is to create installers that can then be shared with other people with different OS but I’ve struggled to find a solid tutorial or step-by-step guide on how to do that from the end of the coding/debugging/validating stage of the JUCE plugin creation process. If you know of any such tutorials/guides, I’d be very grateful if you share them with me. Thanks!

Also, if you’re interested in seeing my code, it’s here: GitHub - TrinityMata/TradeMarkEQ

Congrats! The following repo may be helpful, especially if you don’t have macOS/Linux by hand (though it uses CMake by default):

Additionally, if you want to code sign (I would not recommend it for a college project):

If you’re going to use Inno Setup I’d recommend using Inno Script Studio, which provides a more friendly UI to generate the Windows installers.

Your Inno script could look something like:

#define MyAppName "YourPluginName"
#define MyAppVersion "YourPluginVersion"
#define MyAppPublisher "YourCompanyName"
#define MyAppURL "YourWebsite"

[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={{1B75385D-A218-4E3C-894F-83B69321F7AF}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
CreateAppDir=no
DefaultGroupName={#MyAppPublisher}
OutputBaseFilename={#MyAppName}_v{#MyAppVersion}_setup
Compression=lzma
SolidCompression=yes
ArchitecturesInstallIn64BitMode=x64
UninstallFilesDir={app}\Uninstall

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
Source: "PATH_TO_YOUR_VST3_PLUGIN\{#MyAppName}.vst3\Contents\Resources\moduleinfo.json"; DestDir: "{commoncf}\VST3\{#MyAppPublisher}\{#MyAppName}.vst3\Contents\Resources"; Flags: ignoreversion;
Source: "PATH_TO_YOUR_VST3_PLUGIN\{#MyAppName}.vst3\Contents\x86_64-win\{#MyAppName}.vst3"; DestDir: "{commoncf}\VST3\{#MyAppPublisher}\{#MyAppName}.vst3\Contents\x86_64-win"; Flags: ignoreversion;

[Icons]
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"

You’d just need to fill in the defines and the path to your VST3 plugin in your system and compile the installer.

If you also need a MacOS installer the process is completely different there.

It’s not just about making an installer, you need to build all of the code separately for those other systems also. To build for Mac, you practically speaking need to own a Mac computer.

On MacOs, you also have the additional headache of having to sign and notarize your binaries/installer, otherwise they won’t work on other people’s systems. The signing and notarization requires a paid $100/year Apple developer account. (And yes, I know distributing installers for Windows can also require paying for certificates and stuff but at least still on Windows 10, the user can go ahead with the installation even without that.)

1 Like