Resource.rc - no Version Info in Properties of VST3 binary file, unlike VST?

I have a VS2019 project (from Projucer) that creates both a VST and a VST3.
I also have a GUI App version of the same project.

Is it normal and expected that the VST3 binary does not use the version info from the resource.rc file that is created by the Projucer, in the Properties > Details tab?

Application .exe:

VST .dll:

VST3 .vst3:

resource.rc (generated by Projucer):

#pragma code_page(65001)

#ifdef JUCE_USER_DEFINED_RC_FILE
 #include JUCE_USER_DEFINED_RC_FILE
#else

#undef  WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#include <windows.h>

VS_VERSION_INFO VERSIONINFO
FILEVERSION  1,2,3,4
BEGIN
  BLOCK "StringFileInfo"
  BEGIN
    BLOCK "040904E4"
    BEGIN
      VALUE "CompanyName",  "MyCompany\0"
      VALUE "FileDescription",  "MyPlugin\0"
      VALUE "FileVersion",  "1.2.3.4\0"
      VALUE "ProductName",  "MyPlugin\0"
      VALUE "ProductVersion",  "1.2.3.4\0"
    END
  END

  BLOCK "VarFileInfo"
  BEGIN
    VALUE "Translation", 0x409, 1252
  END
END

#endif

Is this just a Windows “thing”?

Are you definitely looking at the properties of the VST3 binary, and not the enclosing VST3 bundle?

VST3s generated by JUCE on Windows have a directory structure. The outer ‘vst3’ is actually a folder, and the plugin shared library is located at theplugin.vst3/Contents/arch/theplugin.vst3.

@reuk -Thanks, I did not know that!

I am looking at the .vst3 in the builds…/VST3 folder.

How does one view inside a “bundle” on Windows? On Mac, you have “Show Package Contents”.

I think the bundle should still be listed as a ‘file folder’ in the Explorer window. If it isn’t, you may be looking at the actual binary after all.

@reuk - this is what I am seeing:

I think the set of visible fields might change depending on the file extension. If you rename the file to “MyPlugin-DB.dll” and then reopen the properties window, do you see the expected details?

Yes! That’s odd. So I guess it’s a Windows thing. Just wanted to make sure I was getting the expected results - I’m mainly a Mac user.

Do you have to do something to enable this? I’m exporting plugins built with HISE using the latest VST3 SDK and they are coming out as single files on Windows.

Sorry, I’d misremembered. VST3s use the bundle structure when building with CMake, but Projucer still generates single-dll builds. I’ll add a backlog item to add VST3 bundle support to the Projucer.

1 Like

Aha that explains it, thanks for the info.

I just tried running a cmake build I’m still getting the single file output - I assume this is because I used a tool to convert the .jucer to a cmake list rather than doing it manually. Is there anything I can do to mod my jucer file or the output from Projucer to give me the bundle output until this is officially supported by Projucer? Thanks

Are you using the CMake support from JUCE 6, or an external solution (e.g. FRUT)?

FRUT I think though I can just make the bundle manually, create the folder structure etc.

FRUT’s Jucer2CMake tool also allows you to convert a Projucer project to a juce6 CMake project by passing the juce6 argument. That might be more straightforward than creating the bundle manually.

1 Like

Ah thanks, I didn’t know about that argument, I’ll give it a try