VST3 moduleinfo.json fails to be generated on x64 since Nov 25th commit

We’re at the end of a new plugin launch but had some problems with the Direct2D renderer so updated juce.

This however inadvertently broke our Windows VST3 silently as the moduleinfo.json file now fails to be generated since this:

The problem is that $(PROCESSOR_ARCHITECTURE) is passed in as “x86” from a 64-bit Windows install (I’m not exactly sure where this comes from) so this

    if "$(PROCESSOR_ARCHITECTURE)" == "ARM64" if "$(Platform)" == "x64" (
        call :_generate_manifest
        set manifest_generated=1
    )
    if "$(PROCESSOR_ARCHITECTURE)" == "AMD64" if "$(Platform)" == "x64" (
        call :_generate_manifest
        set manifest_generated=1
    )

evaluates to this:

if "x86" == "AMD64" if "x64" == "x64" (

We can see this directly in our build logs as:

Info: VST3 manifest generation is disabled for XXX because a AMD64 manifest helper cannot run on a host system processor detected to be x86.

So I think this detection is broken and needs to be fixed.

At the moment we can’t build VST3 plugins with moduleinfo.json files, I’m not sure if that means the .vst3 dirs are invalid VST3 plugins or not?
Certainly we’ve had trouble hosting them when an old moduleinfo.json from a previous release (pre the above commit) was still present and not overwritten during install but the vst3 binary was a newer version. This mismatch breaks juce plugin hosting.

Anyone else seen this recently?

Seems to be working for me using CMake. Maybe an issue with projucer projects?

Yes sorry, I should have been more clear. This commit specifically relates to PJ generated projects.

Are you calling MSBuild?

Assuming so, have you first configured a development environment?

Otherwise explicitly calling the 64-bit version of MSBuild from a VS install might be enough, something like: C:/Program Files/Microsoft Visual Studio/2022/Community/Msbuild/Current/Bin/amd64/MSBuild.exe

We’ll look at fixing the issue anyway.

Great, thanks for the tip, I didn’t realise there were arch specific bins for MSBuild.exe.

Selecting the amd64 one seems to have done the trick.

Thanks for the quick response but I have a feeling this will also trip others up.

1 Like

Thanks for reporting this. We recently discovered the default 32-bit toolchain problem as well.

We’ve added a warning message that will hopefully help others encountering the same issue. This is now on develop.

3 Likes

Thanks!

Since updating JUCE (I use ProJucer) I have this error message when trying to build VST3’s in VS 2022 but I don’t understand the solution in the slightest. Could someone please give me a dumbed-down solution?

+1 for a dumbed down solution - I ran into this on v8.0.10

edit: I was using projucer v8 but the modules were v7 - I changed the global paths in projucer to point to the v8 installation and now its working fine