An Exchange store publisher emailed us today after he’d been surprised by some ‘as designed’ Autoloader behavior, so I’m publicizing it here to prevent others having the same surprise.
When Autoloader detects a new bundle, it adds the demand load settings inferred from the PackageContents.xml file to the registry. After your bundle has loaded, your registry will look something like this:
Which is the same as you’d expect if you’d added the entries via your custom installer or through some setup code that is invoked when your app first runs.
However, the demand load entries added by Autoloader are deleted when AutoCAD exits.
This means that you shouldn’t use your plug-in’s demand load registry entries to store additional data if you’re using Autoloader. Store it somewhere else in the registry instead (if you must use the registry), or in a config file. You can find the registry location for your running AutoCAD instance with the HostApplicationServices.UserRegistryProductRootKey and UserRegistryProductRootKey properties.
As an aside, there are some settings persisted by Autoloader so it knows not to show a balloon notification for a plug-in every time AutoCAD starts:
The GUIDs shown in the screenshot come from the ProductCode parameter in PackageContents.xml.