« What is new in the MB… | Home | MBS Xojo Plugins, ver… »

Moving to Visual Studio 2019

For years we build the DLLs for Windows with Visual Studio 2008 for our plugins. The reason we didn't upgrade for a long time was Windows XP. But now we can skip that behind and move to a newer Visual Studio version. Now the minimum is Windows 7 and we relay on the universal runtime. That is a newer version of the Visual Studio Runtime since Visual Studio 2015, which is automatically installed on Windows 10 and used by FileMaker Pro and Xojo.
See Windows App Requirements in Xojo blog and Windows Universal Runtime in Xojo developer guide.

If Windows update didn't install it for you, you can install it manually. The installers are included with the FileMaker or Xojo download, but you can also load it on the Microsoft website as redistributable installers.

By switching from a 10 year old compiler to current one, we gain a lot of new features, so we hope to extend our plugins in the next months with a couple of new Windows based features.

There is a little new feature in Visual Studio 2019, which reduces the space needed for the metadata used for exception handling. But that causes an extra dependency to VCRuntime140_1.dll, which is new since 2019. But as that DLL may be missing on client computer, we disable this feature. This removes the dependency and allows us to relay on the DLLs you already need to have. If FileMaker Pro or your Xojo application runs, the plugin should also load just fine.

For developers the dependency is for __CxxFrameHandler4 function in VCRuntime140_1.dll. You can disable it by using -d2FH4- as a compiler option and -d2:-FH4- for linker option. Also it looks like you have to not use std::nothrow as that also depends on that DLL.

The important thing: Please try one of the pre-releases soon and let us know if you see anything not working. We'll try ourselves 100s of example projects, but you can help to try a few more things.

PS: The MBS Xojo XMP Plugin may have the VCRuntime140_1.dll dependency as we can't build it without currently.
03 08 20 - 11:32