Measurement Studio for .NET Languages

cancel
Showing results for 
Search instead for 
Did you mean: 

Creating installer with WIX using merge modules

after becomming increasingly frustrated with the vdproj install package (inability to create shortcuts to .exe output of project and specify command line arguments, plus msbuild incompatibility) I decided to have a go at re-doing our install using WiX 3.0 and everything was fine until it came to adding the merge modules.

I have added the required merge modules for
    NationalInstruments.Analysis.Enterprise
    NationalInstruments.Common
    NationalInstruments.UI
    NationalInstruments.UI.WindowsForms

i.e.

                        <Merge Id='MStudioEntAnalysis.E60BB9C23666418F9D53D3CC79A800F4' Language='1033' SourceFile='..\Libs\Merge Modules\MStudioEnterpriseAnalysis.2005.msm' DiskId='1' />
                        <Merge Id='nianlys.C864C12F-832A-4CC0-A051-156244869B59' Language='1033' SourceFile='..\Libs\Merge Modules\nianlys.msm' DiskId='1' />
                        <Merge Id='mkl.B971A7AF_CBFF_4489_9605_3344B7CDDCCD' Language='1033' SourceFile='..\Libs\Merge Modules\mkl.msm' DiskId='1' />
                        <Merge Id='MStudioCommon.2005.243BBD6632074B44BCDC8E5E58FE6937' Language='1033' SourceFile='..\Libs\Merge Modules\MStudioCommon.2005.msm' DiskId='1' />
                        <Merge Id='MStudioUICommon.2005.E9288CC0EF054A2882D1D7B70BE37D2D' Language='1033' SourceFile='..\Libs\Merge Modules\MStudioUI.2005.msm' DiskId='1' />
                        <Merge Id='NIMesaDLL.6FE8CEDD_964F_47A2_8F23_5A607953B235' Language='1033' SourceFile='..\Libs\Merge Modules\NIMesaDLL.msm' DiskId='1' />
                        <Merge Id='nimetautils.91D5760B_F9E8_4332_BFB1_38A4CB799A3E' Language='1033' SourceFile='..\Libs\Merge Modules\nimetautils.msm' DiskId='1' />
                        <Merge Id='MStudioDesign.2005.F3027BC8908544ECB8EF4038B7EDFA73' Language='1033' SourceFile='..\Libs\Merge Modules\MStudioDesign.2005.msm' DiskId='1' />
                        <Merge Id='MStudioUIWinforms.2005.E490F05B7FBE4C76AD206CD0CD664CBA' Language='1033' SourceFile='..\Libs\Merge Modules\MStudioUIWinForms.2005.msm' DiskId='1' />

And also
                        <Merge Id='MSVCRT.51D569E0_8A28_11D2_B962_006097C4DE24' Language='1033' SourceFile='..\Libs\Merge Modules\msvcrt.msm' DiskId='1' />

which isn't listed in the documentation

I now get build errors including the following

C:\develop\Teletest\TeletestV3\Source\WixProject1\WixProject1.wxs(155,0): Warning LGHT1056: The Directory table contains a row with primary key(s) 'ProgramFilesFolder' which cannot be merged from the merge module '..\Libs\Merge Modules\nimetautils.msm'.  This is likely due to collision of rows with the same primary key(s) (but other different values in other columns) between the database and the merge module.
light.exe(0,0): Error LGHT0204: ICE03: Not a valid foreign key; Table: Directory, Column: Directory_Parent, Key(s): NIANALYSISDIR.C864C12F_832A_4CC0_A051_156244869B59
light.exe(0,0): Error LGHT0204: ICE03: Not a valid foreign key; Table: Directory, Column: Directory_Parent, Key(s): NISHAREDDIR.B971A7AF_CBFF_4489_9605_3344B7CDDCCD
light.exe(0,0): Error LGHT0204: ICE03: Not a valid foreign key; Table: Directory, Column: Directory_Parent, Key(s): Mesa.6FE8CEDD_964F_47A2_8F23_5A607953B235
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.Analysis.Enterprise.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__4323A1E986AF4A648F29406430ED9BFF.E60BB9C23666418F9D53D3CC79A800F4' and 'C__398AA87922A146C8B8D1DE33EE5E53BA.E9288CC0EF054A2882D1D7B70BE37D2D'. This breaks component reference counting.
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.Analysis.Enterprise.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__4323A1E986AF4A648F29406430ED9BFF.E60BB9C23666418F9D53D3CC79A800F4' and 'C__398AA87922A146C8B8D1DE33EE5E53BA.E9288CC0EF054A2882D1D7B70BE37D2D'. This breaks component reference counting.
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.Analysis.Enterprise.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__4323A1E986AF4A648F29406430ED9BFF.E60BB9C23666418F9D53D3CC79A800F4' and 'C__60B9B6C07FE64929900D22CB9315FA65.F3027BC8908544ECB8EF4038B7EDFA73'. This breaks component reference counting.
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.Analysis.Enterprise.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__4323A1E986AF4A648F29406430ED9BFF.E60BB9C23666418F9D53D3CC79A800F4' and 'C__60B9B6C07FE64929900D22CB9315FA65.F3027BC8908544ECB8EF4038B7EDFA73'. This breaks component reference counting.
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.UI.Styles3D.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__398AA87922A146C8B8D1DE33EE5E53BA.E9288CC0EF054A2882D1D7B70BE37D2D' and 'C__60B9B6C07FE64929900D22CB9315FA65.F3027BC8908544ECB8EF4038B7EDFA73'. This breaks component reference counting.
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.UI.Styles3D.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__398AA87922A146C8B8D1DE33EE5E53BA.E9288CC0EF054A2882D1D7B70BE37D2D' and 'C__60B9B6C07FE64929900D22CB9315FA65.F3027BC8908544ECB8EF4038B7EDFA73'. This breaks component reference counting.
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.Analysis.Enterprise.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__4323A1E986AF4A648F29406430ED9BFF.E60BB9C23666418F9D53D3CC79A800F4' and 'C__C96F384C852C4C6D908488CE7B401E8D.E490F05B7FBE4C76AD206CD0CD664CBA'. This breaks component reference counting.
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.Analysis.Enterprise.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__4323A1E986AF4A648F29406430ED9BFF.E60BB9C23666418F9D53D3CC79A800F4' and 'C__C96F384C852C4C6D908488CE7B401E8D.E490F05B7FBE4C76AD206CD0CD664CBA'. This breaks component reference counting.
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.UI.Styles3D.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__398AA87922A146C8B8D1DE33EE5E53BA.E9288CC0EF054A2882D1D7B70BE37D2D' and 'C__C96F384C852C4C6D908488CE7B401E8D.E490F05B7FBE4C76AD206CD0CD664CBA'. This breaks component reference counting.
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.UI.Styles3D.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__398AA87922A146C8B8D1DE33EE5E53BA.E9288CC0EF054A2882D1D7B70BE37D2D' and 'C__C96F384C852C4C6D908488CE7B401E8D.E490F05B7FBE4C76AD206CD0CD664CBA'. This breaks component reference counting.
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.Design.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__60B9B6C07FE64929900D22CB9315FA65.F3027BC8908544ECB8EF4038B7EDFA73' and 'C__C96F384C852C4C6D908488CE7B401E8D.E490F05B7FBE4C76AD206CD0CD664CBA'. This breaks component reference counting.
light.exe(0,0): Error LGHT0204: ICE30: The target file 'NATION~1.DLL|NationalInstruments.Design.dll' is installed in '[ProgramFilesFolder]\zzmy6o1b\nhoq9ysq\MODULE~1\' by two different components on an SFN system: 'C__60B9B6C07FE64929900D22CB9315FA65.F3027BC8908544ECB8EF4038B7EDFA73' and 'C__C96F384C852C4C6D908488CE7B401E8D.E490F05B7FBE4C76AD206CD0CD664CBA'. This breaks component reference counting.
C:\develop\Teletest\TeletestV3\Source\WixProject1\WixProject1.wxs(20,0): Warning LGHT1076: ICE49: Reg Entry 'TTInstalled' is not of type REG_SZ. Default types must be REG_SZ on Win95 Systems. Make sure the component is conditionalized to never be installed on Win95 machines.



Has anyone successfully managed to use WiX to deploy an application with these merge modules ? If so are there any examples of what is required to get the build working ?

Thanks

Paul
0 Kudos
Message 1 of 9
(20,071 Views)

Hi,

  unfortunaly not, however I guess now's the time to start!!!

Where did you get WiX 3.0 from? (since it's an open source one then I'd like to work with the same binary you're using).

Also, can you put your project (and the version of Visual Studio and measurement studio you're using) and the xml "build" file for Wix so I can try it out here.

Anyone else out there want to give it a try, then there's starting help here :http://wix.sourceforge.net/manual-wix2/wix_index.htm

Thanks

Sacha Emery
National Instruments (UK)

// it takes almost no time to rate an answer Smiley Wink
0 Kudos
Message 2 of 9
(20,062 Views)
Hi,
  just on a quick browse, other people using Wix hit a similar problem (at installation time)
 
Atleast that means it's possible to do..
 
Also, this link points to the issue of making sure it contains the correct ProgramFilesFolder
"Any deployment project that contains the nimetautils.msm merge module must include a ProgramFilesFolder entry in the Directory Table. To include this entry in Visual Studio .NET, add a "Program Files Folder" as a Special Folder in the File System view of the deployment project."
 
You may also want to add the "System" folder to the list, just in case.  What is happening is that the metautils MSM is looking for something in the "ProgramFilesFolder" but the InstallShield installer is not automatically getting that property from Windows, and therefore you get the 2705 error.
 
Hope they're useful
 
Thanks
Sacha Emery
National Instruments (UK)
 
 
// it takes almost no time to rate an answer Smiley Wink
0 Kudos
Message 3 of 9
(20,057 Views)
I grabbed a download from http://wix.sourceforge.net/releases/3.0.2315.0/ (weekly build)

I can't put the project on here, but I'm using VS2005 and 8.0.1 (also trying to include a dll written with LabWindows 8 which requires cvirte.msm).



my wxs file is attached I've just butchered it a bit as there are lots of text files included generally too (as a separate component)

Thanks

Paul





0 Kudos
Message 4 of 9
(20,054 Views)
I can't even get to the install time issues, it won't build at the moment.
0 Kudos
Message 5 of 9
(20,053 Views)

Hi,

  that doesn't appear to be a normal release (weekly build tends to insinuate that it's still under development).
http://wix.sourceforge.net/
on the right hand side shows as unstable.

Can you try version 2.0? (which is marked as stable)

Thanks

Sacha Emery
National Instruments (UK)

 

// it takes almost no time to rate an answer Smiley Wink
0 Kudos
Message 6 of 9
(20,039 Views)
The problem with V2 is that it doesn't work as an MSBuild task (which would be nice).

However I've just tried it and manged to get a successfull installer with merge modules.

Paul



0 Kudos
Message 7 of 9
(20,035 Views)

Hi,

  I think that's going to be as far as we can get at that point if the stable version is working.

If the Wix developers have a means of feeding information back to them, then that would be a good plan so that 3.0 would support our merge modules.

Sorry there's not much more we can do at this point

Sacha Emery
National Instruments (UK)

// it takes almost no time to rate an answer Smiley Wink
Message 8 of 9
(20,019 Views)

For future reference, refer to this other question in this forum.

Christian
0 Kudos
Message 9 of 9
(8,290 Views)