This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Installation of WinSxS Assemblies
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 24, 2009
04:26 PM
Installation of WinSxS Assemblies
I have a Basic MSI project that installs a service that requires the VC++ libraries, so I included the Visual C++ 9.0 CRT (x86) WinSxS merge module and its corresponding policy merge module (version 9.0.30729.1). However, when I run my installer, I get a 1920 error that my service failed to start. Before I clicked OK to quit and rollback the installation, I checked to see if the VC++ libraries/manifests/policies got installed. I found them in C:\Windows\winsxs\InstallTemp. So it seems that the service is failing to start because they're not in their final location yet (e.g., C:\Windows\winsxs\Manifests).
I tried moving the StartServices action to after the MsiPublishAssemblies action, but that didn't help. Running vcredist_x86.exe before running my installer fixes the problem, but that's just a workaround for now.
This is happening on all flavors of Win Server 2008, but not on Vista or Server 2003. This happens on both physical and virtual machines. The strange thing is that I see this happening on one virtual machine, but not on another. Neither of the VMs have the VC libs pre-installed or anything, and the VMs are pretty much identical, but I'm running them on two different machines.
Someone please help me! Any help would be greatly appreciated.
Thanks,
loralynne
I tried moving the StartServices action to after the MsiPublishAssemblies action, but that didn't help. Running vcredist_x86.exe before running my installer fixes the problem, but that's just a workaround for now.
This is happening on all flavors of Win Server 2008, but not on Vista or Server 2003. This happens on both physical and virtual machines. The strange thing is that I see this happening on one virtual machine, but not on another. Neither of the VMs have the VC libs pre-installed or anything, and the VMs are pretty much identical, but I'm running them on two different machines.
Someone please help me! Any help would be greatly appreciated.
Thanks,
loralynne
(5) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 24, 2009
05:53 PM
Aaron Stebner described a related problem with the VC++ 8 merge modules (http://blogs.msdn.com/astebner/archive/2007/05/20/2760317.aspx), and I believe that's the core problem you're encountering here (VC++ 9 is not significantly different in this regard). You will have to remove the dependency, satisfy it earlier, or not use the proper MSI service installation support. None of these are great options, but we tend towards installing the merge modules or redist exe as part of a prerequisite, implementing option 2.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 24, 2009
06:14 PM
I'm not sure if I understand you correctly. Are you saying that I should include vcredist as a setup prerequisite instead of including the merge modules? I read here http://blogs.msdn.com/dsvc/archive/2008/08/07/part-1-troubleshooting-vc-side-by-side-problems.aspx that merge modules are recommended over redistributable packages.
(Btw, my installer used to install a service that required th VC++ 8 libraries, and using the merge modules worked fine.)
(Btw, my installer used to install a service that required th VC++ 8 libraries, and using the merge modules worked fine.)
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 24, 2009
06:28 PM
(Link fixed.)
Yes, I'm saying that if you don't install the redist as a separate operation (effectively as a prerequisite), there is an ordering problem. (I'm not certain how it would have worked with VC++ 8; I could be mistaken, or the results may be based on flawed tests.)
If you want to also follow that team's recommendation, you can create an additional .msi which includes the merge module, and install that .msi as the prerequisite. I'm not going to debate their recommendation, but do consider that it seems to trade one set of problems for another set.
Yes, I'm saying that if you don't install the redist as a separate operation (effectively as a prerequisite), there is an ordering problem. (I'm not certain how it would have worked with VC++ 8; I could be mistaken, or the results may be based on flawed tests.)
If you want to also follow that team's recommendation, you can create an additional .msi which includes the merge module, and install that .msi as the prerequisite. I'm not going to debate their recommendation, but do consider that it seems to trade one set of problems for another set.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 24, 2009
07:50 PM
Thanks for your help, Michael. I'll do that.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 25, 2009
12:14 AM
Here's another post by Aaron Stebner that discusses the exact same problem I'm having:
http://blogs.msdn.com/astebner/archive/2007/01/09/problems-with-custom-actions-that-depend-on-the-visual-c-8-0-runtime-files-on-windows-vista.aspx
http://blogs.msdn.com/astebner/archive/2007/01/09/problems-with-custom-actions-that-depend-on-the-visual-c-8-0-runtime-files-on-windows-vista.aspx