How does plugin dependencies work?

How does plugin dependencies work when trying to run a plugin on another Windows computer? The program works on my development computer, and I can’t seem to redistribute a working plugin.

I am working on a Xojo plugin for GLFW.org which creates a graphics windows that can be used for vulkan, and the program and plugin works on my development computer (Windows 11).

GLFW-Plugin-Teaser

When I attempt to run this on a Virtual Machine of Windows 10, the program compiles and when I press the ‘Open Window’ button, the program pauses for a second-or-so and then quietly crashes.

I have added supporting dll files in a .xojo_plugin file, and have installed the Visual Studio 2019 runtime libraries (Visual Studio 2019 dependency), and it still crashes.

Is there a specific folder, or placement of a dll file that is required to have a Xojo programmer use my plugin on another Windows OS?

Thanks for your comments.

You may want to add some simple logging like OutputDebugString to see where it crashes.

This may be a VM without 3D support enabled.

Thank you @Christian_Schmitz , I will try your recommendation.

Warm regards

I found even Xojo won’t run in some VMWare Fusion configurations.
They can emulate a variety of GFX setups, and may or may not have 3D support

1 Like

You could try running Xojo from WinDbg Preview. To get clue what is wrong.

If it is just windows runtimes and not some of the 3d libraries then you can just grab one of my open source projects and grab the Visual Studio project file there, their clean and new, even if rest of those plugins is not clean, since first thing I did when adopting them was to delete all project files to get clean and correct setup.

1 Like

Yes @Christian_Schmitz, you are correct. The virtual machine was not 3D enabled and the plugin worked well on a secondary Windows machine with the Vulkan runtime libraries installed.

Thank you!

Thanks Bjorn.

I used WinDbg and it looks like the plugin was trying to access a pointer that didn’t exist (=???). Your open-source libraries are very helpful, and when I started the GLFW project, I built it clean with no other code. Chuckle, this way I know that any mistakes were caused by me. :slight_smile:

Thanks again for your help!