Merge Module with 2700 Components - how to group them so the msm doesn't cause ICE47 errors when compiling msi's that use it?

3 messages Options
Embed this post
Permalink
Curtis Jewell

Merge Module with 2700 Components - how to group them so the msm doesn't cause ICE47 errors when compiling msi's that use it?

Reply Threaded More More options
Print post
Permalink
I'm currently working on trying to get rid of my ICE errors, and the
first one I'd figure I'd attempt is to try and get rid of my ICE47 error
(the one that goes Feature 'Feature1' has 1600 components. This could
cause problems on Win9X systems. You should try to have less than 800
components per feature." or something like that.)

Well, I tried to attach my components to subfeatures, and now it's
telling me "C:\tmp\fragments\WiX Perl.wxs(499) : error CNDL0005 : The
Module element contain
s an unexpected child element 'FeatureRef'."

What should I be doing instead?

----- Example Fragment -----


<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
  <Fragment Id='Fr_IPC_Run3'>
    <Feature Id='Feat_IPC_Run3' />
    <DirectoryRef Id='D_OTY4MzY5OT'>
      <Component Id='C_mp_MjA3OTY4Mzk2OA'
      Guid='6EBBD34C-458F-3F15-96C5-63DCD10D7B45'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_MjA3OTY4Mzk2OA'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3\ProfArrayBuffer.pm'
        />
      </Component>
      <Component Id='C_mp_OTA4Nzg0Nj'
      Guid='AD803ED2-6CBA-31FB-AB08-2B725981F40A'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_OTA4Nzg0Nj'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3\ProfLogReader.pm' />
      </Component>
      <Component Id='C_mp_MTMzMjcxMTc2Mw'
      Guid='E2A0CA91-03A5-382C-85DF-7BC559C48288'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_MTMzMjcxMTc2Mw'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3\ProfLogger.pm' />
      </Component>
      <Component Id='C_mp_MjM4MDAzOTMzNw'
      Guid='21A83208-5854-3051-A623-221EB03C91A8'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_MjM4MDAzOTMzNw'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3\ProfPP.pm' />
      </Component>
      <Component Id='C_mp_OTQ0NDQyNT'
      Guid='348B90C7-B47F-32C9-8B14-42C12ACEE076'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_OTQ0NDQyNT'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3\ProfReporter.pm' />
      </Component>
    </DirectoryRef>
    <DirectoryRef Id='D_MzQ3NjQ1MzgyNw'>
      <Component Id='C_mp_MjQ1ODQ0NjgyMQ'
      Guid='297B5C49-18B7-39DA-A4F7-54EF31A980D7'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_MjQ1ODQ0NjgyMQ'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3.pm' />
      </Component>
    </DirectoryRef>
    <DirectoryRef Id='D_MjAyMzgyOTA2NA'>
      <Component Id='C_tsilkcap_Mjk5MDQyMTcyNg'
      Guid='27EA03C3-542B-3372-A2DB-0179F5451E0E'
      Feature='Feat_IPC_Run3'>
        <File Id='F_tsilkcap_Mjk5MDQyMTcyNg'
        Source='C:\WiXTest\perl\vendor\lib\auto\IPC\Run3\.packlist' />
      </Component>
    </DirectoryRef>
  </Fragment>
</Wix>


----- Main merge module file -----

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<!-- Merge module generated by Perl::Dist::WiX using Perl::Dist::WiX
1.100001 -->
  <Module Id='Perl_MM'
    Language='1033'
    Version='5.0.10' >
   
    <Package Description='Perl for Win32 operating systems.'
    Languages='1033'
      Platform='x86' InstallerVersion='200' InstallPrivileges='elevated'
      Id='70D4B62E-B388-3BE8-9941-AFCB644FB8AE' Manufacturer='WiX Perl
      Distribution Project' />

    <Directory Id='TARGETDIR' Name='SourceDir'>
      <Directory Id='INSTALLDIR'>
        <Directory Id='D_Perl' Name='perl'>
          <Directory Id='D_MjI5NDA0NDA0Mw' Name='bin' />
          <Directory Id='D_MjM0MTc0NTgzNA' Name='lib'>
            <Directory Id='D_MzA5ODQ4Mzg3NA' Name='auto'>
...
        <Directory Id='D_Toolchain' Name='c'>
          <Directory Id='D_MTQyMDYzMTUxMg' Name='bin' />
        </Directory>
        <Directory Id='D_License' Name='licenses' />
        <Directory Id='D_Cpan' Name='cpan'>
          <Directory Id='D_MjcwNzU1Njc0Ng' Name='sources' />
        </Directory>
        <Directory Id='D_Win32' Name='win32' />
        <Directory Id='D_Cpanplus' Name='cpanplus' />
      </Directory>
      <Directory Id='ProgramMenuFolder'>
        <Directory Id='D_App_Menu' Name='WiX Perl' />
      </Directory>
    </Directory>
      <FeatureRef Id='Feat_YAML' />
      <FeatureRef Id='Feat_Win32API_Registry' />
      <FeatureRef Id='Feat_mingw_make' />
      <FeatureRef Id='Feat_IPC_Run3' />
      <FeatureRef Id='Feat_pexports' />
      <FeatureRef Id='Feat_Term_ReadLine_Perl' />
      <FeatureRef Id='Feat_dmake' />
      <ComponentRef Id='C_CreateCPANFolder' />
      <FeatureRef Id='Feat_IPC_System_Simple' />
      <ComponentRef Id='C_CreateCPANPLUSFolder' />
      <ComponentRef Id='C_Environment' />
      <FeatureRef Id='Feat_ExtUtils_CBuilder' />
      <FeatureRef Id='Feat_Test_Script' />
<!-- ... (about 40 more FeatureRef, and 5 more ComponentRef's) -->
<!-- I'm trying to do this instead of having 2700+ ComponentRef's. WiX
tends to yell at me for breaking the 800-component limit, or whatever
the number is.-->
      <FeatureRef Id='Feat_Cwd' />
  </Module>
</Wix>
--
Curtis Jewell
[hidden email]

%DCL-E-MEM-BAD, bad memory
-VMS-F-PDGERS, pudding between the ears

[I use PC-Alpine, which deliberately does not display colors and pictures in HTML mail]


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Blair-2

Re: Merge Module with 2700 Components - how to group them so the msm doesn't cause ICE47 errors when compiling msi's that use it?

Reply Threaded More More options
Print post
Permalink
According to MSDN, merge modules don't/can't contain features, and the
entire MSM's contents will always go into a single feature. If you are
supplying that many components in your MSM you will need to add a
LaunchCondition to prevent installation on win9x systems and instruct your
users to ignore/suppress ICE47 when they validate (since that ICE only tests
for that one limitation).

If you intend to support installations on win9x systems you will need to
split your MSM into pieces (several MSMs) that can go into different
[sub]features.

-----Original Message-----
From: Curtis Jewell [mailto:[hidden email]]
Sent: Thursday, November 05, 2009 1:56 AM
To: discussion for Windows Installer XML toolset.
Subject: [WiX-users] Merge Module with 2700 Components - how to group them
so the msm doesn't cause ICE47 errors when compiling msi's that use it?

I'm currently working on trying to get rid of my ICE errors, and the
first one I'd figure I'd attempt is to try and get rid of my ICE47 error
(the one that goes Feature 'Feature1' has 1600 components. This could
cause problems on Win9X systems. You should try to have less than 800
components per feature." or something like that.)

Well, I tried to attach my components to subfeatures, and now it's
telling me "C:\tmp\fragments\WiX Perl.wxs(499) : error CNDL0005 : The
Module element contain
s an unexpected child element 'FeatureRef'."

What should I be doing instead?

----- Example Fragment -----


<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
  <Fragment Id='Fr_IPC_Run3'>
    <Feature Id='Feat_IPC_Run3' />
    <DirectoryRef Id='D_OTY4MzY5OT'>
      <Component Id='C_mp_MjA3OTY4Mzk2OA'
      Guid='6EBBD34C-458F-3F15-96C5-63DCD10D7B45'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_MjA3OTY4Mzk2OA'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3\ProfArrayBuffer.pm'
        />
      </Component>
      <Component Id='C_mp_OTA4Nzg0Nj'
      Guid='AD803ED2-6CBA-31FB-AB08-2B725981F40A'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_OTA4Nzg0Nj'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3\ProfLogReader.pm' />
      </Component>
      <Component Id='C_mp_MTMzMjcxMTc2Mw'
      Guid='E2A0CA91-03A5-382C-85DF-7BC559C48288'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_MTMzMjcxMTc2Mw'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3\ProfLogger.pm' />
      </Component>
      <Component Id='C_mp_MjM4MDAzOTMzNw'
      Guid='21A83208-5854-3051-A623-221EB03C91A8'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_MjM4MDAzOTMzNw'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3\ProfPP.pm' />
      </Component>
      <Component Id='C_mp_OTQ0NDQyNT'
      Guid='348B90C7-B47F-32C9-8B14-42C12ACEE076'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_OTQ0NDQyNT'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3\ProfReporter.pm' />
      </Component>
    </DirectoryRef>
    <DirectoryRef Id='D_MzQ3NjQ1MzgyNw'>
      <Component Id='C_mp_MjQ1ODQ0NjgyMQ'
      Guid='297B5C49-18B7-39DA-A4F7-54EF31A980D7'
      Feature='Feat_IPC_Run3'>
        <File Id='F_mp_MjQ1ODQ0NjgyMQ'
        Source='C:\WiXTest\perl\vendor\lib\IPC\Run3.pm' />
      </Component>
    </DirectoryRef>
    <DirectoryRef Id='D_MjAyMzgyOTA2NA'>
      <Component Id='C_tsilkcap_Mjk5MDQyMTcyNg'
      Guid='27EA03C3-542B-3372-A2DB-0179F5451E0E'
      Feature='Feat_IPC_Run3'>
        <File Id='F_tsilkcap_Mjk5MDQyMTcyNg'
        Source='C:\WiXTest\perl\vendor\lib\auto\IPC\Run3\.packlist' />
      </Component>
    </DirectoryRef>
  </Fragment>
</Wix>


----- Main merge module file -----

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<!-- Merge module generated by Perl::Dist::WiX using Perl::Dist::WiX
1.100001 -->
  <Module Id='Perl_MM'
    Language='1033'
    Version='5.0.10' >
   
    <Package Description='Perl for Win32 operating systems.'
    Languages='1033'
      Platform='x86' InstallerVersion='200' InstallPrivileges='elevated'
      Id='70D4B62E-B388-3BE8-9941-AFCB644FB8AE' Manufacturer='WiX Perl
      Distribution Project' />

    <Directory Id='TARGETDIR' Name='SourceDir'>
      <Directory Id='INSTALLDIR'>
        <Directory Id='D_Perl' Name='perl'>
          <Directory Id='D_MjI5NDA0NDA0Mw' Name='bin' />
          <Directory Id='D_MjM0MTc0NTgzNA' Name='lib'>
            <Directory Id='D_MzA5ODQ4Mzg3NA' Name='auto'>
...
        <Directory Id='D_Toolchain' Name='c'>
          <Directory Id='D_MTQyMDYzMTUxMg' Name='bin' />
        </Directory>
        <Directory Id='D_License' Name='licenses' />
        <Directory Id='D_Cpan' Name='cpan'>
          <Directory Id='D_MjcwNzU1Njc0Ng' Name='sources' />
        </Directory>
        <Directory Id='D_Win32' Name='win32' />
        <Directory Id='D_Cpanplus' Name='cpanplus' />
      </Directory>
      <Directory Id='ProgramMenuFolder'>
        <Directory Id='D_App_Menu' Name='WiX Perl' />
      </Directory>
    </Directory>
      <FeatureRef Id='Feat_YAML' />
      <FeatureRef Id='Feat_Win32API_Registry' />
      <FeatureRef Id='Feat_mingw_make' />
      <FeatureRef Id='Feat_IPC_Run3' />
      <FeatureRef Id='Feat_pexports' />
      <FeatureRef Id='Feat_Term_ReadLine_Perl' />
      <FeatureRef Id='Feat_dmake' />
      <ComponentRef Id='C_CreateCPANFolder' />
      <FeatureRef Id='Feat_IPC_System_Simple' />
      <ComponentRef Id='C_CreateCPANPLUSFolder' />
      <ComponentRef Id='C_Environment' />
      <FeatureRef Id='Feat_ExtUtils_CBuilder' />
      <FeatureRef Id='Feat_Test_Script' />
<!-- ... (about 40 more FeatureRef, and 5 more ComponentRef's) -->
<!-- I'm trying to do this instead of having 2700+ ComponentRef's. WiX
tends to yell at me for breaking the 800-component limit, or whatever
the number is.-->
      <FeatureRef Id='Feat_Cwd' />
  </Module>
</Wix>
--
Curtis Jewell
[hidden email]

%DCL-E-MEM-BAD, bad memory
-VMS-F-PDGERS, pudding between the ears

[I use PC-Alpine, which deliberately does not display colors and pictures in
HTML mail]


----------------------------------------------------------------------------
--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus
on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Curtis Jewell

Re: Merge Module with 2700 Components - how to group them so the msm doesn't cause ICE47 errors when compiling msi's that use it?

Reply Threaded More More options
Print post
Permalink


On Thu, 05 Nov 2009 04:22 -0800, "Blair" <[hidden email]> wrote:
> According to MSDN, merge modules don't/can't contain features, and the
> entire MSM's contents will always go into a single feature. If you are
> supplying that many components in your MSM you will need to add a
> LaunchCondition to prevent installation on win9x systems and instruct
> your
> users to ignore/suppress ICE47 when they validate (since that ICE only
> tests
> for that one limitation).

Not a problem. I already had such a LaunchCondition (I'm only supporting
WinXP and up). It's just annoying because I wanted to get rid of all the
ICE errors (I had errors in 4 separate ICE's) as I converted the base
interpreter to a merge module.

Thanks, anyway. I'll probably have more questions to ask later.

> If you intend to support installations on win9x systems you will need to
> split your MSM into pieces (several MSMs) that can go into different
> [sub]features.

--Curtis
--
Curtis Jewell
[hidden email]

%DCL-E-MEM-BAD, bad memory
-VMS-F-PDGERS, pudding between the ears

[I use PC-Alpine, which deliberately does not display colors and pictures in HTML mail]


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users