Page 1 of 1

Importance of proper plug-in registration...

Posted: Thu Jul 13, 2006 1:27 pm
by wolbrink
In the interest of sharing a lesson learned...

I had a strange error with one of my plug-ins: Before IA 6.0, the runtime dll would not get deployed, yet no error occurred at compile time. IA 6.0 improved this situation by reporting an error at compile time, "Error during build: Unable to find support file , use the Project Manager window to update or remove the reference". The error message wasn't that helpful, but with the help of FileMon (sysinternals.com) I was able to figure out what was going on. I realized that one of my plug-in wasn't registered correctly. The key I registered it under was, "HKLM\\SOFTWARE\\MimarSinan\\InstallAware\\2.0\\Plug-Ins\\SQLDMO". But the "Action" value below this key contained the string "SQL-DMO". Notice that the "Action" string ("SQL-DMO") and its parent key name ("SQLDMO") are different. After I changed the key name to "SQL-DMO" all was well.

Moral of the story, be sure to register your plugins correctly! I'm really glad that InstallAware 6.0 now raises an error at compile time. This is a much welcome improvement. Thanks! However I would have a couple of suggestions I'd like to mention:

1. Perhaps the error message could have told me which file it was missing.
2. Better yet, perhaps the IDE could have warned me about my registration issue when it started up. Or perhaps the "Action" value isn't really necesary, since it (must be) redundant with the main plug-in key.

These suggesions aren't really for me, now that I've learned my lesson. But this might save some future plug-in developer some time and frustration. :^)

--Troy