From: Orion E. <or...@co...> - 2005-03-08 21:43:09
|
Someone's probably mentioned this but here's what happened to me. User installs product, all is fine User decided to 'uninstall' product manually, that is just delete all it'= s files. (The customer is always right you know). User then tries to install later version of product which triggers upgrad= e. Upgrade calls RemoveExistingProducts which then goes and uninstalls old version. Old version calls regsvr32 /u on a file which isn't there, unins= tall FAILS. upgrade FAILS. Cannot repair as they've lost the old install CD. M= SIZap is the only way to fix it. Another problem is the sequencing of RemoveExistingProducts on major upgr= ades. Typically RemoveExistingProducts is done sometime after the new product h= as been installed. It's very easy to get the conditions wrong on your 'unreg= ister' CA, and hence have the user upgrade your product which causes your COM ob= jects to no longer be registered... neat aye. Oh, and what happens when you call regsvr on a file and you're not an administrative user? The answer is that it fails and you lose. If you han= dle the registry entries yourself then MSI will put then in HKCU and have the= COM object registered per-user (regsvr can't do this no matter how much you w= ant it to) While self register does work and in itself is fine, basically you're ope= ning yourself up to literally hundreds of other follow-on-effect type bugs whi= ch can all be easily avoided you just use RegCap and write some registry entries= :P If you do pay any attention to this, remember to use RegCap /I otherwise = you'll have fun as it doesn't catch COM Interfaces by default, but basically the= gist of what you're doing is shifting your COM registration failure point from user-install time to your-build time, which is much much much MUCH better practice. Quoting Roel Vanhout <ro...@ri...>: > Subbu Balakrishnan wrote: > > COM self-registration in MSIs is evil!=20 >=20 > This has probably been discussed before, so sorry if I ask a stupid=20 > question, but why is that? >=20 >=20 > cheers, >=20 > roel >=20 >=20 >=20 > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users= . > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick > _______________________________________________ > WiX-users mailing list > WiX...@li... > https://lists.sourceforge.net/lists/listinfo/wix-users >=20 |