I've just dug around in the CRT MSMs and realised you're right - the
MsiAssembly/MsiAssemblyName tables are only used to install the files on
Windows version 6.0 and later. On Windows XP and Windows Server 2003 the
files are dumped straight into the WinSXS folder and so actions scheduled
after InstallFiles/WriteRegistryValues should work.

 

NOTE: I am NOT recommending that you do this. I'd strongly suggest NOT doing
it.

 

One wonders what would happen if MsiPublishAssemblies were placed earlier in
the execute sequence.

 

-- 

Mike Dimmick

 

  _____  

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Wilson, Phil
Sent: 17 May 2007 19:44
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] VC8 runtime merge module and COM registration
onVista, error 0x800736B1

 

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

Reply via email to