Regarding SelfReg, or not.... I'm not completely sure I drink the Kool-Aid on this one. So, I understand that SelfRegCost violates transactability rules (spell checker says transactability is not a word >shrug<) due to MSI and how it handles that... But what then IS the recommended way to deal with the scenario where you have a COM DLL that you didn't write and can't get a different version of that does some wacky stuff in DllRegisterServer...
How should those DLLs be handled? If we use SelfRegCost, everything works after a successful install, but at a rollback, or uninstall, there's no way to undo it. What if there were CAs for RegSvr32/RegAsm, that were built-in and easy to use, and then you could make sure that was happening correctly, at the right times? This is similar to the duct-tape batch file solution (one batch for install, one for uninstall), or bunch of QtExec actions to those programs with appropriate cmdline params. The main thing seems to be that they are scheduled at the right time, so that uninstall calls regsvr32 /u. I understand that modifying system state outside of MSI's system is a no-no, but if you're stuck with a DLL that operates that way, so be it. Regarding the situation that I just finished with, I would like to have a deeper understanding of the term "Advertise" that is being used in WiX/MSI contexts. What does this mean exactly, in relation to COM DLLs? Rob M mentioned that: "... those actions are only necessary if you are using the Advertised features of COM registration otherwise it's all just Registry rows." I read the blog post he linked to about why advertising is bad, but it lacks a definition of what advertising is. Does that definition exist somewhere? With context regarding COM? Thanks, Troy On Thu, Oct 2, 2008 at 1:09 AM, John Hall <[EMAIL PROTECTED]>wrote: > Neil wrote: > > I have tried a > > few times to remove the unrelated code and never successfully > > got the component to work or to leave the machine working on > > uninstall. Have you ever generated the WiX registry code for > > VB6 COM component? Has anyone? > > Neil, > > I have. I wrote a custom build task that extracts the registration > information at build time [1]. > > The registration entry point is called with some registry redirection in > place, and then I harvest the created registry entries removing the > following: > > - CLSID {D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731} > > - Typelibs {EA544A21-C82D-11D1-A3E4-00A0C90AEA82} and > {000204EF-0000-0000-C000-000000000046}, plus any Interfaces that > reference these two type libraries. > > This works for me. > > regards, > John > > > [1] I know this is very much frowned upon, but I always create major > upgrades and don't create patches... YMMV > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users