Hi guys,
I have a question regarding the deployment strategy on a .NET app. In my app, I'm using DSO (decision support objects), it's a COM dll that is used to access an Analysis Services Server (version 2000).
I've referenced the COM from the solution, and Visual Studio (actually the tool behind) nicely created a .net assembly that wraps the access to the COM objects and makes it's classes available in .NET.
The wrapping uses CLSIDs to map the DSO's COM classes to the generated .NET objects through the use of the windows registry (when the DSO installer is run, the CLSIDs of all the public COM classes are registered there).
The problem is that when Microsft releases a new version of DSO, and when I install that new version, some , not all CLSID-s are changing in the registry, therefore the mapping of the generated .NET assembly breaks, and the application crashes.
The DSO is redistributed as part of an entire package, named Backward Compatibility Pack. When something changes in this pack, that do not necessarly have to do with DSO, some of the COM classes receive new CLSIDs. It's frustrating, because my app stops working, even if nothing really changes regarding DSO with the new package. They release this package pretty often, the newest one is with the install of SQLServer 2008 I guess, and probably is updated on every service pack.
So, my question is, how to deal with the deployment in this scenario? Do I really need to create deployment packages for my app on for every DSO version that comes new?
Thanks, this site has very good specialists, maybe someone can give me a hint.
Luc