Well, the most robust way to solve the problem is to add the COM registration to your setup authoring. If you provide the appropriate Class, ProgId, TypeLib, and Registry elements in your setup then things should work very well under UAC. Heat (on non-Vista Oss) usually does a pretty good job grabbing the appropriate registration automatically but it certainly does miss some things (there are a number of bugs opened on heat right now about that).
There is also a way to have your DLL SelfReg called during install but that has a lot of issues as documented in the MSI SDK. -----Original Message----- From: Colin Bleckner [mailto:[EMAIL PROTECTED] Sent: Monday, May 19, 2008 11:23 To: Rob Mensching Cc: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Registering a dll in Vista I have a fairly simple installation process. I copy a couple of files into a Program Files directory (one of which is a DLL file) and then set the keys needed to register that DLL. I'm using a custom UI, which is just 3 dialogs: a "welcome to the installer" dialog, the actual installation dialog, and a "installation complete" dialog. My MSI opens without triggering anything. But clicking my "Install" button, which starts the actual installation, triggers a UAC message. I tell Vista to allow the operation to continue and my installation continues, appearing to work. The files are put in the right place and it looks like the registry keys are set correctly. However, my DLL is not registered correctly. Also: if I try to manually register the DLL file using regsvr32 (without elevated permissions) I get an access denied error (error code 0x80070005). I'd love to make my installation work with UAC, but, more importantly, I don't want my installer to appear to work and not actually work. I'm reading through the links in Brian's reply right now, but are there any easy answers for this? Colin Rob Mensching wrote: > 0. Yeah, capturing SelfReg has turned out to be a pretty tricky process. > There are a lot of crazy SelfReg routines out there. <smile/> > > 1. There isn't currently an owner working on heat.exe so the development > stalled out when Derek moved on. That makes it a real hit or miss tool. > > 2. Please do open a bug about heat not warning that it doesn't work well on > Vista. That is a very good idea until/if we can fix all the open bugs about > heat on Vista. > > 3. Can you provide more details about what does not work when you install on > Vista with UAC? > > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Colin Bleckner > Sent: Thursday, May 15, 2008 23:10 > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] Registering a dll in Vista > > Wow, this has been a long two days in WiX world. I've been trying to > register a single DLL with WiX. I started by using heat to capture all > the registry keys set by my DLL. (Feature request: it would be AWESOME > if heat.exe returned some sort of error message in Vista telling me that > even though it's generating valid output, it's not actually generating > the correct set of registry keys. After a day of beating my head > against a wall I happened to stumble across a wixwiki page that > mentioned that heat doesn't work 100% correctly in Vista. Fantastic.) > > Anyway, I ran heat on XP and got a more complete looking set of registry > keys. But my installer STILL didn't register my DLL on a fresh Vista > install correctly. I just finally discovered that if I turn off Vista's > UAC first my installer works correctly. Is that expected? Is there > anything I can do to avoid this? Or at the very least a condition I can > set to prevent a seemingly valid install happen? > > Sorry for sounding a little rantish, it's been a long couple days... :) > Colin > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users