[WiX-users] Question on Merge Modules

2008-06-18 Thread Will Burton
I have a program I need to install that won't work without the VC 9.0
redistributable package.  Can I simply add the necessary merge modules and
be done? Or is there more involved?
-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Question on Merge Modules

2008-06-18 Thread Neil Enns
 as we do 
not find [EMAIL PROTECTED] v in ModuleSignature table
light.exe(0,0): warning LGHT1076: ICE82: This action 
SystemFolder.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E has duplicate sequence number 
1 in the table InstallExecuteSequence
light.exe(0,0): warning LGHT1076: ICE82: This action 
SystemFolder.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E has duplicate sequence number 
1 in the table InstallUISequence
light.exe(0,0): warning LGHT1076: ICE82: This action 
SystemFolder.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E has duplicate sequence number 
1 in the table AdminExecuteSequence
light.exe(0,0): warning LGHT1076: ICE82: This action 
SystemFolder.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E has duplicate sequence number 
1 in the table AdminUISequence
light.exe(0,0): warning LGHT1076: ICE82: This action 
SystemFolder.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E has duplicate sequence number 
1 in the table AdvtExecuteSequence

These warnings are expected and are due to how the Visual C++ merge modules 
were authored. For more details see Aaron Stebner's blog entry 
(http://blogs.msdn.com/astebner/archive/2007/02/13/building-an-msi-using-wix-v3-0-that-includes-the-vc-8-0-runtime-merge-modules.aspx).

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Will Burton
Sent: Wednesday, June 18, 2008 9:52 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Question on Merge Modules

I have a program I need to install that won't work without the VC 9.0
redistributable package.  Can I simply add the necessary merge modules and
be done? Or is there more involved?
-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


-
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Question on Merge Modules

2008-06-18 Thread Neil Enns
Fixed a small wrapping issue below that made the code sample hard to read.

Neil

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Neil Enns
Sent: Wednesday, June 18, 2008 9:57 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Question on Merge Modules

Here's the info on how to do it from the new How To topic I wrote on this very 
topic that should show up in the next weekly WiX build:

How To: Install the Visual C++ Redistributable with your installer

If your application depends on the Visual C++ runtimes you can include them as 
part of your installer to simplify the installation experience for your end 
users. This how to describes including the Visual C++ runtime merge modules 
into your installer and explains the expected ICE warnings you will see.

Step 1: Obtain the correct Visual C++ runtime merge modules

The Visual C++ runtime merge modules are installed with Visual Studio and are 
located in \Program Files\Common Files\Merge Modules. The Visual C++ 8.0 
runtime file is Microsoft_VC80_CRT_x86.msm. This same MSM is used for the 
Visual C++ 8.0 SP1 runtime, however it is updated in place by the Visual Studio 
2005 SP1 installer. The Visual Studio 9.0 runtime file is 
Microsoft_VC90_CRT_x86.msm. There is generally no need to include the policy 
MSMs as part of the installation.

Step 2: Include the merge module in your installer

To include the merge module in your installer use the Merge and MergeRef 
elements. The following example illustrates how these elements are used.

DirectoryRef Id=TARGETDIR
Merge Id=VCRedist SourceFile=MySourceFiles\Microsoft_VC80_CRT_x86.msm 
DiskId=1 Language=0/
/DirectoryRef

Feature Id=VCRedist Title=Visual C++ 8.0 Runtime AllowAdvertise=no 
Display=hidden Level=1
MergeRef Id=VCRedist/
/Feature

The Merge element ensures the merge module is included in the final Windows 
Installer package. A unique id is assigned using the Id attribute. The 
SourceFile attribute points to the location of the merge module on your 
machine. The DiskId attribute should match the DiskId specified in your 
project's Media element. The Language attribute should always be 0.

The MergeRef element is used within a Feature element to actually install the 
merge module. In the example above a feature specific to the runtime is created 
and marked as hidden to prevent it from displaying in any UI your installer may 
use. The MergeRef refers to the merge module by its unique id.

A note about ICE warnings

Including the Visual C++ Runtime merge module in your installer will result in 
the following ICE warnings:

light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length 
permitted in column); Table: Component, Column: KeyPath, Key(s): 
downlevel_manifest.8.0.50727.762.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length 
permitted in column); Table: Component, Column: KeyPath, Key(s): 
downlevel_manifest.8.0.50727.100.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length 
permitted in column); Table: Component, Column: KeyPath, Key(s): 
downlevel_manifest.8.0.50727.101.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length 
permitted in column); Table: Component, Column: KeyPath, Key(s): 
downlevel_manifest.8.0.50727.103.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length 
permitted in column); Table: Component, Column: KeyPath, Key(s): 
downlevel_manifest.8.0.50727.104.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length 
permitted in column); Table: Component, Column: KeyPath, Key(s): 
downlevel_manifest.8.0.50727.193.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length 
permitted in column); Table: Registry, Column: Registry, Key(s): 
reg_downlevel_manifest.8.0.50727.100.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length 
permitted in column); Table: Registry, Column: Registry, Key(s): 
reg_downlevel_manifest.8.0.50727.101.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length 
permitted in column); Table: Registry, Column: Registry, Key(s): 
reg_downlevel_manifest.8.0.50727.103.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length 
permitted in column); Table: Registry, Column: Registry, Key(s): 
reg_downlevel_manifest.8.0.50727.104.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than length 
permitted in column); Table: Registry, Column: Registry, Key(s): 
reg_downlevel_manifest

Re: [WiX-users] Question on Merge Modules

2008-06-18 Thread Will Burton
Thanks Neil. Good information!

On Wed, Jun 18, 2008 at 1:00 PM, Neil Enns [EMAIL PROTECTED] wrote:

 Fixed a small wrapping issue below that made the code sample hard to read.

 Neil

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:
 [EMAIL PROTECTED] On Behalf Of Neil Enns
 Sent: Wednesday, June 18, 2008 9:57 AM
 To: General discussion for Windows Installer XML toolset.
 Subject: Re: [WiX-users] Question on Merge Modules

 Here's the info on how to do it from the new How To topic I wrote on this
 very topic that should show up in the next weekly WiX build:

 How To: Install the Visual C++ Redistributable with your installer

 If your application depends on the Visual C++ runtimes you can include them
 as part of your installer to simplify the installation experience for your
 end users. This how to describes including the Visual C++ runtime merge
 modules into your installer and explains the expected ICE warnings you will
 see.

 Step 1: Obtain the correct Visual C++ runtime merge modules

 The Visual C++ runtime merge modules are installed with Visual Studio and
 are located in \Program Files\Common Files\Merge Modules. The Visual C++ 8.0
 runtime file is Microsoft_VC80_CRT_x86.msm. This same MSM is used for the
 Visual C++ 8.0 SP1 runtime, however it is updated in place by the Visual
 Studio 2005 SP1 installer. The Visual Studio 9.0 runtime file is
 Microsoft_VC90_CRT_x86.msm. There is generally no need to include the policy
 MSMs as part of the installation.

 Step 2: Include the merge module in your installer

 To include the merge module in your installer use the Merge and
 MergeRef elements. The following example illustrates how these elements
 are used.

 DirectoryRef Id=TARGETDIR
Merge Id=VCRedist
 SourceFile=MySourceFiles\Microsoft_VC80_CRT_x86.msm DiskId=1
 Language=0/
 /DirectoryRef

 Feature Id=VCRedist Title=Visual C++ 8.0 Runtime AllowAdvertise=no
 Display=hidden Level=1
MergeRef Id=VCRedist/
 /Feature

 The Merge element ensures the merge module is included in the final Windows
 Installer package. A unique id is assigned using the Id attribute. The
 SourceFile attribute points to the location of the merge module on your
 machine. The DiskId attribute should match the DiskId specified in your
 project's Media element. The Language attribute should always be 0.

 The MergeRef element is used within a Feature element to actually install
 the merge module. In the example above a feature specific to the runtime is
 created and marked as hidden to prevent it from displaying in any UI your
 installer may use. The MergeRef refers to the merge module by its unique id.

 A note about ICE warnings

 Including the Visual C++ Runtime merge module in your installer will result
 in the following ICE warnings:

 light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than
 length permitted in column); Table: Component, Column: KeyPath, Key(s):
 downlevel_manifest.8.0.50727.762.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
 light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than
 length permitted in column); Table: Component, Column: KeyPath, Key(s):
 downlevel_manifest.8.0.50727.100.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
 light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than
 length permitted in column); Table: Component, Column: KeyPath, Key(s):
 downlevel_manifest.8.0.50727.101.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
 light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than
 length permitted in column); Table: Component, Column: KeyPath, Key(s):
 downlevel_manifest.8.0.50727.103.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
 light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than
 length permitted in column); Table: Component, Column: KeyPath, Key(s):
 downlevel_manifest.8.0.50727.104.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
 light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than
 length permitted in column); Table: Component, Column: KeyPath, Key(s):
 downlevel_manifest.8.0.50727.193.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
 light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than
 length permitted in column); Table: Registry, Column: Registry, Key(s):
 reg_downlevel_manifest.8.0.50727.100.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
 light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than
 length permitted in column); Table: Registry, Column: Registry, Key(s):
 reg_downlevel_manifest.8.0.50727.101.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
 light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than
 length permitted in column); Table: Registry, Column: Registry, Key(s):
 reg_downlevel_manifest.8.0.50727.103.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
 light.exe(0,0): warning LGHT1076: ICE03: String overflow (greater than
 length permitted in column); Table: Registry, Column: Registry, Key(s):
 reg_downlevel_manifest.8.0.50727.104.98CB24AD_52FB_DB5F_FF1F_C8B3B9A1E18E
 light.exe(0,0): warning LGHT1076