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

Reply via email to