cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
cbragg
Level 7

Merge Module Issue

I have an application that is looking for a redist c++ file ATL 9 in the usual System folder or it's own installation directory. I added the ATL 9 merge module to the package but it's insisting in installing to the side-by-side directory C:\WINDOWS\WinSxS\x86_Microsoft.VC90.ATL_1fc8b3b9a1e18e3b_9.0.30729.4148_x-ww_353599c2

The application doesn't seem to like reading it from there and I'm not sure if I can do anything tempt it into reading from that directory using some kind of manifest file or whether or repoint the merge module. I right clicked the redistributable and set it to install away from the merge modules default directory and to install to SystemFolder but that made no difference it still installed to the side-by-side directory.

Any ideas?
Labels (1)
0 Kudos
(2) Replies
cbragg
Level 7

OK I think i've answered my own question now.

It seems like the c++ runtimes aren't enough and the vcredist.exe is what's needed to actually set the machine up to use side-by-side dlls. The merge modules are only good enough if you have side-by-side set up in the first place. Therefore i got a copy of vcredist.exe from Visual Studio but this is available for download too. You can extract this out to an msi and cab file (other files can be ignored, they are just resources for setup.exe) I am now running this as a chained msi (which Installshield can stream into the msi including external cab files which i was impressed with) and then because the chained MSI feature requires installer 4.1 i included this as a prerequisite too and created a setup.exe. So now all of this is bundled into 1 neat setup.exe.
0 Kudos
cbragg
Level 7

ok a quick ammendment ive switched to using vcredist as a prereq rather than a chained msi. I tried starting the service during install and because in a chain the vcredist comes second it couldn't start. Alls well again
0 Kudos