Building coinstallers with MSBuild

I’ve been away from Windows development for a couple years. Boy have things changed. All my old projects are NMAKE-style projects. I’ve got almost all my old driver projects using MSBuild now, but my coinstaller dll’s built with MSBuild fail to load. Using the binaries built with NMAKE still works, but rebuilding them with MSBuild is giving me a real headache.

I’ve tried creating projects from scratch, copying the samples\general\toaster\toastpkg\toastco project removing it’s source and adding mine, I’ve tried a number of things. No matter what I try I can’t seem to get tracing or debugging working following these instructions:

I’m about out of ideas. Have any of you run into similar issues or have words of wisdom for what I should try next?

You MAY not want to hear this, but I do know that writing co-installers is very definitely going “out of style”… they’re very much discouraged, and in fact prohibited in the “Universal Driver DCHU” scheme of things.

I have no idea if this might be affecting the results you’re seeing.

I’ve heard of such nonsense.

After digging through the resulting binaries from the NMAKE variety and the MSBuild variety I came to the conclusion that the MSBuild variety has VCRUNTIME140.dll as a dependency. Installing the VC++ Redist package resolved most of my issue. Not sure if there is a way I can specify in my vcxproj that this particular build doesn’t require VCRUNTIME140.dll. If so, I’d love to hear how.

Use static runtime library ( MultiThreadedDebug or MultiThreaded in the vcxproj)