That's just the way Vista works with the Winsxs stuff. A custom action
Dll can link staticly (statically? mmm...) to the CRT. I didn't say
anything about the evils of SelfReg because it's been covered so often
here I assumed it would be fairly common knowledge. The registration
information can be specified in the registry or class tables so that no
code needs to run at install time (Tallow, Heat etc).
Phil Wilson
________________________________
From: Scott Palmer [mailto:[EMAIL PROTECTED]
Sent: Thursday, May 17, 2007 11:58 AM
To: Wilson, Phil
Cc: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] VC8 runtime merge module and COM registration
on Vista, error 0x800736B1
Apparently... The questions remain: Why not? and... How do I fix it?
It now appears that a custom action I need to run fails for the same
reason.
Scott
On 5/17/07, Wilson, Phil <[EMAIL PROTECTED]> wrote:
The sxs Vista install of those CRT manifests etc isn't complete
at SelfReg time.
Phil Wilson
________________________________
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Scott
Palmer
Sent: Thursday, May 17, 2007 11:42 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] VC8 runtime merge module and COM
registration on Vista,error 0x800736B1
I have a problem on Vista where my COM DLLs don't register
(HRESULT = 0x800736B1) .. after Googling it seems this is caused by the
C runtime not being installed. (All other DLLs that are compiled with
VC6 or supplied by others register fine.)
My installer also works fine on Windows XP.
I install the VC8 runtime stuff with the merge modules.
<Directory Id="TARGETDIR" Name="SourceDir">
<Merge Id="VC8Runtime" SourceFile="C:\Program Files\Common
Files\Merge Modules\Microsoft_VC80_CRT_x86.msm" Language="1033"
DiskId="1"/>
<Merge Id="VC8Policy" SourceFile="C:\Program Files\Common
Files\Merge Modules\policy_8_0_Microsoft_VC80_CRT_x86.msm"
Language="1033" DiskId="1"/>
<Merge Id="MFCRuntime" SourceFile="C:\Program Files\Common
Files\Merge Modules\Microsoft_VC80_MFC_x86.msm" Language="1033"
DiskId="1"/>
<Merge Id="MFCPolicy" SourceFile="C:\Program Files\Common
Files\Merge Modules\policy_8_0_Microsoft_VC80_MFC_x86.msm"
Language="1033" DiskId="1"/>
...
And use SelfRegCost="1000" to get the COM DLLs to register.
What's the trick to getting this to work on Vista?
Thanks,
Scott
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users