How often does the Make Wizard need to be run?

I’ve run into a few odd issues with our application that seemed to go away after rebuilding all assemblies and creating a new build with the Make Wizard.

We have a base install that was created using the Make Wizard and Install Wizard. We put the .SNK that was created using the Make Wizard and bindmgd.exe into a NuGet package that’s used by all of our projects. In the Post-Build event of all projects, it calls bindmgd.exe on the new build with the .SNK from the NuGet package, and then it copies the signed DLL to our install folder for testing.

For updates, we build the assemblies that have been modified and sign them using the .SNK that was created when we created the base install. The new assemblies to into an installer created using Inno Setup.

As mentioned above, I’ve run into some odd errors from calls to the AutoCAD API when testing these updates. One example is an eInvalidInput error when calling SetSystemVariable (which I logged in a separate topic). I initially thought this was because we were calling SetSystemVariable during startup of our application, but I was running into the same error calling SetSystemVariable in other commands after the application was loaded.

When I did the AutoCAD OEM training, back in 2019, I had asked updating a client if they ran into an issue and we wanted to quickly send them a new build of one assembly. I believe there was mention that this can be done but only within a certain number of days from when the original build was created using the Make Wizard.

Is this correct, or am I not remembering correctly?

Is anyone else doing automated builds and signing the assemblies separate from using the Make Wizard? What process do you use?

Marc,
In the Developer’s Guide it says:
“It is recommended that you always use the AutoCAD OEM Make Wizard to generate keys for Managed .NET applications.”
To avoid issues we have automated our Build Process to include running the Make Wizard each time we do an Installer or Update. For updates we just grab only the files we bind during the Make Wizard process and any additional dll’s we have updated that are outside of those.
We ran into issues trying to do it other ways. Although we have to wait a bit longer for the Make Wizard we save time not having issues.

2 Likes

That’s correct. Thanks Shawn. This is the section referred to:

Managed .NET applications require a strong key to run with a stamped AutoCAD OEM product. The AutoCAD OEM Make Wizard generates a key for your product and stores it in an .snk file in your product’s \toolkit directory. Alternatively, you can generate your own key file by using the Microsoft sn.exe utility with the -k switch. The sn.exe utility is installed with Microsoft Visual Studio.

Shawn,
When running the Make Wizard during your automated build process, are you doing a full build each time, or just some of the steps like the binding?

Marc,
We run the full Make Wizard each time. We seem to avoid a lot of issues doing it that way especially when the OEM changes each year or we apply a service pack/update to OEM.