I had to sit down and painstakingly enter all the reg entries for my
DLL's into my WiX code and get rid of all SelfReg.
It was a big pain bug in the long run it also kept all the developers
"honest". Now all interface changes are detected, made public knowledge
and the automated build still works.
And yes, it is mandated by the build master that all released files be
placed in one main "Release" folder.
________________________________
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Scott
Palmer
Sent: Thursday, May 17, 2007 12:50 PM
To: Wilson, Phil
Cc: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] VC8 runtime merge module and COM registration
onVista, error 0x800736B1
So Vista breaks things in a stupid brain-dead way and there is no way to
fix it save rebuilding things to not use DLLs.. Is that basically it?
Re: SelfReg ...The short of it is that COM sucks big time and is
inherently broken beyond belief. I will look into the huge mess
required to not use SelfReg... what a nightmare. Say good by to being
able to add an interface to your DLL...and still work with an automated
build script. Why must installers always suck?
"Heat" produces some ugly output... with fixed directory paths instead
of relative paths and it thinks the parent folder name of where the DLL
is found (the source path) is somehow what I want for my target path.
I.e. the output needs a lot of post processing to actually work with a
reasonable WiX project. (Or does everyone install their COM DLLs to a
folder called "Release" under their main product install dir?)
Not being able to roll back the registry changes done by SelfReg seems
like a VERY small price to pay to avoid this mess.
Scott
On 5/17/07, Wilson, Phil <[EMAIL PROTECTED]> wrote:
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
-------------------------------------------------------------------------
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