First, it's nothing to do with publishing assemblies. What's happening is that on Vista Windows uses the .NET Runtime (Fusion) to install the CRT into WinSxS in the same way that it installs assemblies into the GAC. In both cases the files are not actually available until the Commit stage of the install at InstallFinalize.
-- Phil Wilson Definitive Guide to Windows Installer http://www.apress.com/book/view/1590592972
"Rob Hamflett" <rob[ at ]snsys.com> wrote in message news:OoXzms0PJHA.4884[ at ]TK2MSFTNGP04.phx.gbl...
[Quoted Text] > I've got a problem with the CRT merge modules that only seems to affect > Vista 64. I'm using Microsoft_VC80_CRT_x86.msm and > policy_8_0_Microsoft_VC80_CRT_x86.msm in my installer. On a clean XP > system the installer fails to start my service when these merge modules > are missing. If I add them then everything is fine, so I guess they > work. This does not seem to be the case on Vista 64. The service always > fails to start because of the missing dependency. Using Orca I saw that > MsiPublishAssemblies appears after StartServices. Even though it works > like this under XP, I tried moving StartServices to after > MsiPublishAssemblies, but this has no affect. At the point where the > installer tells me that it couldn't start the service, there are 2 > instances of one of the DLLs in the Windows\WinSxS folder, but nethier of > these locations match the folders that appear in the log of the > installation. > > If I just install the relevant DLLs alongside the executable then the > service runs fine. I might have to resort to this. > > Is anyone aware of any gotcha I've missed? > > Rob
|