Standalone .exe not starting on some systems

I am wondering how to troubleshoot the plugin not launching on some Windows systems.
Initially, I found that in standalone - double clicking does nothing, and neither does calling from the command line.

  • The same binary works on most systems.
  • A clean OS install seems to be more prone to this.
  • I run a DLL dependency checker and nothing seems to be missing.
  • When I launch a debug process from VS, it reports an unhandled exception from ntldll.dll

Exception thrown at 0x00007FFB932E8404 (ntdll.dll) in xxx.exe: 0xC0000005: Access violation reading location 0x0000000000000000.

  • Looks like VST3 also does not launch on these systems, and does not pass DAW validation. Again, the same VST3 works fine on most Windows systems. Pluginval crashes:

*** FAILED: VALIDATION CRASHED

3: UnhandledExceptionFilter + 0x1e7
4: memset + 0x13b0
5: _C_specific_handler + 0x96
6: _chkstk + 0x11f
7: RtlRaiseException + 0x434
8: KiUserExceptionDispatcher + 0x2e
12: InitDll + 0xc475
14: GetPluginFactory + 0x703
25: BaseThreadInitThunk + 0x14
26: RtlUserThreadStart + 0x21

I appreciate any ideas on how to tackle this. Thanks!

The first thing to try would be to link the static runtime.
On behalf of a Microsoft advice the default was changed to dynamic runtime, which needs to be installed but often comes already from other programs.
You can switch in Projucer to static runtime, re-save the project and recompile.

Thanks, Daniel. I checked and we’re already doing that, so it might be something else.

This is telling you that the program is trying to dereference a null pointer. Look at the stack trace at the point of the crash, and you should get an idea where the null pointer came from.

Also, with VS it’s quite possible to debug a remote machine easily. Even in release if you have a PDB you can connect that machine and debug on your development machine.

Thanks for the tips, guys! I will keep digging.