Quantcast

ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

Jon Brandenburg
I get the following warning when I integrate a merge module that I have created into my package.  I'm asking about the warning because it appears to my untrained eye that the sequences should not in fact exist.  In the merge module I have items going into the <Directory> "SystemFolder" and the <Directory> "ProgramFilesFolder".  When I look at the MSI package in Orca I see in the Sequence tables entries for both the SystemFolder and the ProgramFilesFolder both with Sequence 1.

I keep getting the following error which makes no sense to me because it is putting references to my <Directory>'s into the various Sequences for processing.  Why would a merging in a merge module be creating sequences from my directory elements?  I've attached the relevant output, snippets, and source files below.  If you need/want more I can provide it.

Thanks!

Jon


Here's the output from Orca:

ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table InstallExecuteSequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table InstallUISequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table AdminExecuteSequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table AdminUISequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table AdvtExecuteSequence



Here's the snippets of the references to the merge module in my package:


        <Directory Id="TARGETDIR" Name="SourceDir">

            <!-- Include all Merge Modules -->
            <!-- Custom -->
            <Merge Id='CrystalReports85SP3.msm' Language='1033' src='\library\Merge Modules\Custom\CrystalReports85SP3.msm' FileCompression="yes" DiskId='1' />

       </Directory>


        <Feature Id="Complete"
                Title="$(loc.FeatureClientTitle)"
                Description="$(loc.FeatureClientDesc)"
                Display="expand"
                Level="1"
                ConfigurableDirectory="INSTALLDIR">

            <!-- Crystal Reports -->
            <MergeRef Id="CrystalReports85SP3.msm" />  <!-- Crystal Reports 8.5 SP3 -->

       </Feature>





Here's the WiX source to my Merge Module:  CrystalReports85SP3.wxs



<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">

    <Module Id="CrystalReports85SP3"
        Guid="AEE6E0E9-B3E2-4C6E-B38D-4EC75E16B1A5"
        Language="0"
        Version="1.0.0" >
       
        <Package Id="B45644E9-9D9B-48B2-B5B4-55E024794966"
            AdminImage="no"
            Comments="Contact:  Your local administrator"
            Compressed="yes"
            Description="Crystal Reports 8.5 SP3 Merge Modules"
            InstallerVersion="200"
            Keywords="MergeModule,MSI,Database"
            Languages="1033"
            Manufacturer="Some Company"
            Platforms="Intel"
            ShortNames="no"
            SummaryCodepage="1252" />

        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="SystemFolder" SourceName="System32">

                <Component Id="Crpaig80.dll" Guid="5F1328F6-D21B-4FF2-BAC0-1310EA8C2A25">
                    <File Id="Crpaig80.dll" Name="Crpaig80.dll" ReadOnly="yes" Compressed="yes" KeyPath="yes" />
                </Component>

                <Component Id="Implode.dll" Guid="2B07AEE4-FF67-4C98-9387-3D335DB97937">
                    <File Id="Implode.dll" Name="Implode.dll" ReadOnly="yes" Compressed="yes" KeyPath="yes" />
                </Component>

                <Component Id="P2smon.Dll" Guid="DA9B3616-4A0A-45E2-ACB3-D483871F3425" SharedDllRefCount="yes">
                    <File Id="P2smon.Dll" Name="P2smon.Dll" Compressed="yes" KeyPath="yes" />
                </Component>

            </Directory>
           
            <Directory Id="ProgramFilesFolder" LongName="Program Files" Name="PFiles">
                <Directory Id="SeagateSoftware" LongName="Seagate Software" Name="Seagate">
                    <Directory Id="ReportDesignerComponent" LongName="Report Designer Component" Name="RDC">

                        <Component Id="craxdrt.dll" Guid="19563F71-36A5-4FF4-A933-04BD68D841DE" SharedDllRefCount="yes">
                            <File Id="craxdrt.dll" Name="craxdrt.dll" Compressed="yes" KeyPath="yes" />
       
                            <Registry Id="craxdrt.dll_0" Root="HKCR" Key="CLSID\{B4741E10-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_1" Root="HKCR" Key="CLSID\{B4741E10-45A6-11D1-ABEC-00A0C9274B91}\MiscStatus\1" Type="string" Value="1024" />
                            <Registry Id="craxdrt.dll_2" Root="HKCR" Key="CLSID\{B4741E10-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
                            <Registry Id="craxdrt.dll_3" Root="HKCR" Key="CLSID\{B4741FD0-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_4" Root="HKCR" Key="CLSID\{B4741FD0-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
                            <Registry Id="craxdrt.dll_5" Root="HKCR" Key="CLSID\{B4742170-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_6" Root="HKCR" Key="CLSID\{B4742170-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
                            <Registry Id="craxdrt.dll_7" Root="HKCR" Key="CLSID\{B4742180-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_8" Root="HKCR" Key="CLSID\{B4742180-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
                            <Registry Id="craxdrt.dll_9" Root="HKCR" Key="CLSID\{B4742190-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_10" Root="HKCR" Key="CLSID\{B4742190-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
                            <Registry Id="craxdrt.dll_11" Root="HKCR" Key="CLSID\{B47421A0-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_12" Root="HKCR" Key="CLSID\{B47421A0-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
       
                            <Class Id="B4741FD0-45A6-11D1-ABEC-00A0C9274B91" Context="InprocServer32" Description="Application Object" Advertise="yes">
                                <ProgId Id="CrystalRuntime.Application.8.5" Description="Application Object">
                                    <ProgId Id="CrystalRuntime.Application" Description="Application Object" />
                                </ProgId>
                            </Class>
                            <Class Id="B4742170-45A6-11D1-ABEC-00A0C9274B91" Context="InprocServer32" Description="ParameterValue Object" Advertise="yes">
                                <ProgId Id="CrystalRuntime.ParameterValue.8.5" Description="ParameterValue Object">
                                    <ProgId Id="CrystalRuntime.ParameterValue" Description="ParameterValue Object" />
                                </ProgId>
                            </Class>
                            <Class Id="B4742190-45A6-11D1-ABEC-00A0C9274B91" Context="InprocServer32" Description="ParameterValueInfo Object" Advertise="yes">
                                <ProgId Id="CrystalRuntime.ParameterValueInfo.8.5" Description="ParameterValueInfo Object">
                                    <ProgId Id="CrystalRuntime.ParameterValueInfo" Description="ParameterValueInfo Object" />
                                </ProgId>
                            </Class>
                            <Class Id="B47421A0-45A6-11D1-ABEC-00A0C9274B91" Context="InprocServer32" Description="ParameterValueInfos Object" Advertise="yes">
                            <ProgId Id="CrystalRuntime.ParameterValueInfos.8.5" Description="ParameterValueInfos Object">
                                <ProgId Id="CrystalRuntime.ParameterValueInfos" Description="ParameterValueInfos Object" />
                            </ProgId>
                            </Class>
                            <Class Id="B4742180-45A6-11D1-ABEC-00A0C9274B91" Context="InprocServer32" Description="ParameterValues Object" Advertise="yes">
                                <ProgId Id="CrystalRuntime.ParameterValues.8.5" Description="ParameterValues Object">
                                    <ProgId Id="CrystalRuntime.ParameterValues" Description="ParameterValues Object" />
                                </ProgId>
                            </Class>
                            <Class Id="B4741E10-45A6-11D1-ABEC-00A0C9274B91" Context="InprocServer32" Description="Report Object" Advertise="yes">
                                <ProgId Id="CrystalRuntime.Report.8.5" Description="Report Object">
                                    <ProgId Id="CrystalRuntime.Report" Description="Report Object" />
                                </ProgId>
                            </Class>
                            <TypeLib Id="B4741C00-45A6-11D1-ABEC-00A0C9274B91" Language="0" MajorVersion="2048" MinorVersion="5" Description="Crystal Reports 8.5 ActiveX Designer Run Time Library" Cost="1" />
                        </Component>
                   
                    </Directory>


                    <Directory Id="Viewers" Name="Viewers">
                        <Directory Id="ActiveXViewer" LongName="ActiveXViewer" Name="AXViewer">
                       
                       
                       
                            <Component Id="crviewer.dll" Guid="81F8D95A-17AC-4556-BDBC-0E2F87EFEF72" SharedDllRefCount="yes">
                                <File Id="crviewer.dll" Name="crviewer.dll" Compressed="yes" KeyPath="yes" />
                                <Registry Id="crviewer.dll_0" Root="HKCR" Key="CLSID\{13FA5947-561C-11D1-BE3F-00A0C95A6A5C}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                <Registry Id="crviewer.dll_1" Root="HKCR" Key="CLSID\{13FA5947-561C-11D1-BE3F-00A0C95A6A5C}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="crviewer.dll_2" Root="HKCR" Key="CLSID\{75347086-7260-11D1-BE46-00A0C95A6A5C}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                <Registry Id="crviewer.dll_3" Root="HKCR" Key="CLSID\{75347086-7260-11D1-BE46-00A0C95A6A5C}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="crviewer.dll_4" Root="HKCR" Key="CLSID\{75C66E66-8949-11D2-BF6D-00A0C9DA4FA2}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                <Registry Id="crviewer.dll_5" Root="HKCR" Key="CLSID\{75C66E66-8949-11D2-BF6D-00A0C9DA4FA2}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="crviewer.dll_6" Root="HKCR" Key="CLSID\{75C66E68-8949-11D2-BF6D-00A0C9DA4FA2}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                <Registry Id="crviewer.dll_7" Root="HKCR" Key="CLSID\{75C66E68-8949-11D2-BF6D-00A0C9DA4FA2}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="crviewer.dll_8" Root="HKCR" Key="CLSID\{A0E5F37E-CA67-11D1-A817-00A0C92784CD}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                <Registry Id="crviewer.dll_9" Root="HKCR" Key="CLSID\{A0E5F37E-CA67-11D1-A817-00A0C92784CD}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="crviewer.dll_10" Root="HKCR" Key="CLSID\{C4847596-972C-11D0-9567-00A0C9273C2A}\Control" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="crviewer.dll_12" Root="HKCR" Key="CLSID\{C4847596-972C-11D0-9567-00A0C9273C2A}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="crviewer.dll_13" Root="HKCR" Key="CLSID\{C4847596-972C-11D0-9567-00A0C9273C2A}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="crviewer.dll_14" Root="HKCR" Key="CLSID\{C4847596-972C-11D0-9567-00A0C9273C2A}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                <Registry Id="crviewer.dll_15" Root="HKCR" Key="CLSID\{C4847596-972C-11D0-9567-00A0C9273C2A}\Insertable" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="crviewer.dll_16" Root="HKCR" Key="CLSID\{C4847596-972C-11D0-9567-00A0C9273C2A}\MiscStatus" Type="string" Value="0" />
                                <Registry Id="crviewer.dll_17" Root="HKCR" Key="CLSID\{C4847596-972C-11D0-9567-00A0C9273C2A}\MiscStatus\1" Type="string" Value="131473" />
                                <Registry Id="crviewer.dll_18" Root="HKCR" Key="CLSID\{C4847596-972C-11D0-9567-00A0C9273C2A}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="crviewer.dll_19" Root="HKCR" Key="CLSID\{C4847596-972C-11D0-9567-00A0C9273C2A}\ToolboxBitmap32" Type="string" Value="[!crviewer.dll], 1" />
                                <Registry Id="crviewer.dll_20" Root="HKCR" Key="CLSID\{C4847596-972C-11D0-9567-00A0C9273C2A}\TypeLib" Type="string" Value="{C4847593-972C-11D0-9567-00A0C9273C2A}" />
                                <Registry Id="crviewer.dll_21" Root="HKCR" Key="CLSID\{C4847596-972C-11D0-9567-00A0C9273C2A}\Version" Type="string" Value="8.0" />
                                <Registry Id="crviewer.dll_22" Root="HKCR" Key="Component Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}" Name="409" Type="string" Value="Controls that are safely scriptable" />
                                <Registry Id="crviewer.dll_23" Root="HKCR" Key="Component Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}" Name="409" Type="string" Value="Controls safely initializable from persistent data" />
               
                                <Class Id="75C66E68-8949-11D2-BF6D-00A0C9DA4FA2" Context="InprocServer32" Description="Report Viewer - Field" Advertise="yes">
                                    <ProgId Id="CRField.CRField.1" Description="Report Viewer - Field">
                                        <ProgId Id="CRField.CRField" Description="Report Viewer - Field" />
                                    </ProgId>
                                </Class>
               
                                <Class Id="75C66E66-8949-11D2-BF6D-00A0C9DA4FA2" Context="InprocServer32" Description="Report Viewer - Fields Collection" Advertise="yes">
                                    <ProgId Id="CRFields.CRFields.1" Description="Report Viewer - Fields Collection">
                                        <ProgId Id="CRFields.CRFields" Description="Report Viewer - Fields Collection" />
                                    </ProgId>
                                </Class>
                                <Class Id="75347086-7260-11D1-BE46-00A0C95A6A5C" Context="InprocServer32" Description="Report Viewer - Event Information" Advertise="yes">
                                    <ProgId Id="CRVEventInfo.CRVEventInfo.1" Description="Report Viewer - Event Information">
                                        <ProgId Id="CRVEventInfo.CRVEventInfo" Description="Report Viewer - Event Information" />
                                    </ProgId>
                                </Class>
                                <Class Id="C4847596-972C-11D0-9567-00A0C9273C2A" Context="InprocServer32" Description="Crystal Report Viewer Control" Advertise="yes">
                                    <ProgId Id="CRViewer.CRViewer.8.0" Description="Crystal Report Viewer Control">
                                        <ProgId Id="CRViewer.CRViewer" Description="Crystal Report Viewer Control" />
                                    </ProgId>
                                </Class>
                                <Class Id="13FA5947-561C-11D1-BE3F-00A0C95A6A5C" Context="InprocServer32" Description="Report Viewer - Cursor selection" Advertise="yes">
                                    <ProgId Id="CRVTrackCursorInfo.CRVTrackCursorInfo.1" Description="Report Viewer - Cursor selection">
                                        <ProgId Id="CRVTrackCursorInfo.CRVTrackCursorInfo" Description="Report Viewer - Cursor selection" />
                                    </ProgId>
                                </Class>
                                <Class Id="A0E5F37E-CA67-11D1-A817-00A0C92784CD" Context="InprocServer32" Description="Crystal Report Source Router" Advertise="yes">
                                    <ProgId Id="ReportSourceRouter.ReportSourceRouter.1" Description="Crystal Report Source Router">
                                        <ProgId Id="ReportSourceRouter.ReportSourceRouter" Description="Crystal Report Source Router" />
                                    </ProgId>
                                </Class>
                                <TypeLib Id="C4847593-972C-11D0-9567-00A0C9273C2A" Language="0" MajorVersion="2048" MinorVersion="0" Description="Crystal Report Viewer Control" Cost="1" />
                            </Component>
                           
                           
                            <Component Id="cselexpt.ocx" Guid="5562A6E8-8DD7-4332-B1CF-C64A34ABAEE1" SharedDllRefCount="yes">
                                <File Id="cselexpt.ocx" Name="cselexpt.ocx" Compressed="yes" KeyPath="yes" />
                                <Registry Id="cselexpt.ocx_0" Root="HKCR" Key="CLSID\{5C9EA134-127A-11D1-BFB4-00A0C936E6F9}\Control" />
                                <Registry Id="cselexpt.ocx_1" Root="HKCR" Key="CLSID\{5C9EA134-127A-11D1-BFB4-00A0C936E6F9}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="cselexpt.ocx_2" Root="HKCR" Key="CLSID\{5C9EA134-127A-11D1-BFB4-00A0C936E6F9}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="cselexpt.ocx_3" Root="HKCR" Key="CLSID\{5C9EA134-127A-11D1-BFB4-00A0C936E6F9}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                <Registry Id="cselexpt.ocx_4" Root="HKCR" Key="CLSID\{5C9EA134-127A-11D1-BFB4-00A0C936E6F9}\MiscStatus" Type="string" Value="0" />
                                <Registry Id="cselexpt.ocx_5" Root="HKCR" Key="CLSID\{5C9EA134-127A-11D1-BFB4-00A0C936E6F9}\MiscStatus\1" Type="string" Value="131217" />
                                <Registry Id="cselexpt.ocx_6" Root="HKCR" Key="CLSID\{5C9EA134-127A-11D1-BFB4-00A0C936E6F9}\ToolboxBitmap32" Type="string" Value="[!cselexpt.ocx], 1024" />
                                <Registry Id="cselexpt.ocx_7" Root="HKCR" Key="CLSID\{5C9EA134-127A-11D1-BFB4-00A0C936E6F9}\TypeLib" Type="string" Value="{5C9EA131-127A-11D1-BFB4-00A0C936E6F9}" />
                                <Registry Id="cselexpt.ocx_8" Root="HKCR" Key="CLSID\{5C9EA134-127A-11D1-BFB4-00A0C936E6F9}\Version" Type="string" Value="1.0" />
                               
                                <Class Id="5C9EA134-127A-11D1-BFB4-00A0C936E6F9" Context="InprocServer32" Description="VSelExpert Control" Advertise="yes">
                                    <ProgId Id="VSELEXPERT.VSelExpertCtrl.1" Description="VSelExpert Control" />
                                </Class>
                               
                                <Class Id="5C9EA135-127A-11D1-BFB4-00A0C936E6F9" Context="InprocServer32" Description="VSelExpert Property Page" Advertise="yes" />
                               
                                <TypeLib Id="5C9EA131-127A-11D1-BFB4-00A0C936E6F9" Language="0" MajorVersion="1" MinorVersion="0" Description="Crystal Select Expert OLE Control module" Cost="1" />
                            </Component>

                           
                            <Component Id="sviewhlp.dll" Guid="FD9DE154-6396-4361-AC3E-4F0A8BF704A7" SharedDllRefCount="yes">
                                <File Id="sviewhlp.dll" Name="sviewhlp.dll" Compressed="yes" KeyPath="yes" />
               
                                <Registry Id="sviewhlp.dll_0" Root="HKCR" Key="CLSID\{BD10A9C1-07CC-11D2-BEFF-00A0C95A6A5C}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                <Registry Id="sviewhlp.dll_1" Root="HKCR" Key="CLSID\{BD10A9C1-07CC-11D2-BEFF-00A0C95A6A5C}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
               
                                <Class Id="BD10A9C1-07CC-11D2-BEFF-00A0C95A6A5C" Context="InprocServer32" Description="ReportExport Class" Advertise="yes">
                                    <ProgId Id="ReportExport.ReportExport.1" Description="ReportExport Class">
                                        <ProgId Id="ReportExport.ReportExport" Description="ReportExport Class" />
                                    </ProgId>
                                </Class>
                                <TypeLib Id="BD10A9B3-07CC-11D2-BEFF-00A0C95A6A5C" Language="0" MajorVersion="1" MinorVersion="0" Description="Crystal Report Export" Cost="1" />
                            </Component>
                           
                           
                           
                            <Component Id="swebrs.dll" Guid="FE1FE0BD-C5E3-494A-BB30-70649AEAA469" SharedDllRefCount="yes">
                                <File Id="swebrs.dll" Name="swebrs.dll" Compressed="yes" KeyPath="yes" />
               
                                <Registry Id="swebrs.dll_0" Root="HKCR" Key="CLSID\{F2CA2115-C8D2-11D1-BEBD-00A0C95A6A5C}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                <Registry Id="swebrs.dll_1" Root="HKCR" Key="CLSID\{F2CA2115-C8D2-11D1-BEBD-00A0C95A6A5C}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="swebrs.dll_2" Root="HKCR" Key="CLSID\{F2CA2115-C8D2-11D1-BEBD-00A0C95A6A5C}\TypeLib" Type="string" Value="{F2CA2107-C8D2-11D1-BEBD-00A0C95A6A5C}" />
                                <Registry Id="swebrs.dll_3" Root="HKCR" Key="CLSID\{F2CA2119-C8D2-11D1-BEBD-00A0C95A6A5C}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                <Registry Id="swebrs.dll_4" Root="HKCR" Key="CLSID\{F2CA2119-C8D2-11D1-BEBD-00A0C95A6A5C}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="swebrs.dll_5" Root="HKCR" Key="CLSID\{F2CA2119-C8D2-11D1-BEBD-00A0C95A6A5C}\TypeLib" Type="string" Value="{F2CA2107-C8D2-11D1-BEBD-00A0C95A6A5C}" />
               
                                <Class Id="F2CA2119-C8D2-11D1-BEBD-00A0C95A6A5C" Context="InprocServer32" Description="WebReportBroker Class" Advertise="yes">
                                    <ProgId Id="WebReportBroker.WebReportBroker.1" Description="WebReportBroker Class">
                                        <ProgId Id="WebReportBroker.WebReportBroker" Description="WebReportBroker Class" />
                                    </ProgId>
                                </Class>
                                <Class Id="F2CA2115-C8D2-11D1-BEBD-00A0C95A6A5C" Context="InprocServer32" Description="WebReportSource Class" Advertise="yes">
                                    <ProgId Id="WebReportSource.WebReportSource.1" Description="WebReportSource Class">
                                        <ProgId Id="WebReportSource.WebReportSource" Description="WebReportSource Class" />
                                    </ProgId>
                                </Class>
               
                                <TypeLib Id="F2CA2107-C8D2-11D1-BEBD-00A0C95A6A5C" Language="0" MajorVersion="1" MinorVersion="1" Description="Seagate Crystal Reports Web Report Broker" Cost="1" />
                            </Component>
                           
                           
                           
                            <Component Id="xqviewer.dll" Guid="1339138F-DB1B-47B1-B6A3-C3F7FB50FA21">
               
                                <File Id="xqviewer.dll" Name="xqviewer.dll" Compressed="yes" KeyPath="yes" />
               
                                <Registry Id="xqviewer.dll_0" Root="HKCR" Key="CLSID\{9155AFF8-800B-49f4-A48C-F4F034DF9EFF}\Control" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="xqviewer.dll_1" Root="HKCR" Key="CLSID\{9155AFF8-800B-49f4-A48C-F4F034DF9EFF}\Implemented Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="xqviewer.dll_2" Root="HKCR" Key="CLSID\{9155AFF8-800B-49f4-A48C-F4F034DF9EFF}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="xqviewer.dll_3" Root="HKCR" Key="CLSID\{9155AFF8-800B-49f4-A48C-F4F034DF9EFF}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                <Registry Id="xqviewer.dll_4" Root="HKCR" Key="CLSID\{9155AFF8-800B-49f4-A48C-F4F034DF9EFF}\Insertable" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="xqviewer.dll_5" Root="HKCR" Key="CLSID\{9155AFF8-800B-49f4-A48C-F4F034DF9EFF}\MiscStatus" Type="string" Value="0" />
                                <Registry Id="xqviewer.dll_6" Root="HKCR" Key="CLSID\{9155AFF8-800B-49f4-A48C-F4F034DF9EFF}\MiscStatus\1" Type="string" Value="131473" />
                                <Registry Id="xqviewer.dll_7" Root="HKCR" Key="CLSID\{9155AFF8-800B-49f4-A48C-F4F034DF9EFF}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
                                <Registry Id="xqviewer.dll_8" Root="HKCR" Key="CLSID\{9155AFF8-800B-49f4-A48C-F4F034DF9EFF}\ToolboxBitmap32" Type="string" Value="[!xqviewer.dll], 1" />
                                <Registry Id="xqviewer.dll_9" Root="HKCR" Key="CLSID\{9155AFF8-800B-49f4-A48C-F4F034DF9EFF}\TypeLib" Type="string" Value="{9155AFF7-800B-49f4-A48C-F4F034DF9EFF}" />
                                <Registry Id="xqviewer.dll_10" Root="HKCR" Key="CLSID\{9155AFF8-800B-49f4-A48C-F4F034DF9EFF}\Version" Type="string" Value="9.2" />
               
                                <Class Id="9155AFF8-800B-49F4-A48C-F4F034DF9EFF" Context="InprocServer32" Description="Crystal Query Viewer 9" Advertise="yes">
                                    <ProgId Id="CrystalQueryViewer.QueryViewer.9.2" Description="Crystal Query Viewer 9">
                                        <ProgId Id="CrystalQueryViewer.QueryViewer" Description="Crystal Query Viewer 9" />
                                    </ProgId>
                                </Class>
               
                                <TypeLib Id="9155AFF7-800B-49F4-A48C-F4F034DF9EFF" Language="0" MajorVersion="2304" MinorVersion="2" Cost="1" />
                            </Component>


                            <!-- Cannot find installation location, though it does reside in a cab file found in the ActiveXViewer directory -->
                            <Component Id="CRSmartTag.dll" Guid="54097C86-86CA-4D3E-AF66-1CBEDDF87963" SharedDllRefCount="yes">
                                <File Id="CRSmartTag.dll" Name="CRSMAR~1.DLL" LongName="CRSmartTag.dll" Compressed="yes" KeyPath="yes" />
                                    <Registry Id="CRSmartTag.dll_0" Root="HKCR" Key="CLSID\{34C28AD5-A1A6-4674-A5A6-D0ADDAC476A5}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                    <Registry Id="CRSmartTag.dll_1" Root="HKCR" Key="CLSID\{34C28AD5-A1A6-4674-A5A6-D0ADDAC476A5}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
                                    <Registry Id="CRSmartTag.dll_2" Root="HKCR" Key="CLSID\{34C28AD5-A1A6-4674-A5A6-D0ADDAC476A5}\TypeLib" Type="string" Value="{0225D1A4-8073-4611-B802-378C8767C50A}" />
                                    <Registry Id="CRSmartTag.dll_3" Root="HKCR" Key="CLSID\{3DD7428A-E4BE-4F82-AF84-14A328ECD082}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                                    <Registry Id="CRSmartTag.dll_4" Root="HKCR" Key="CLSID\{3DD7428A-E4BE-4F82-AF84-14A328ECD082}\Programmable" Action="createKeyAndRemoveKeyOnUninstall" />
                                    <Registry Id="CRSmartTag.dll_5" Root="HKCR" Key="CLSID\{3DD7428A-E4BE-4F82-AF84-14A328ECD082}\TypeLib" Type="string" Value="{0225D1A4-8073-4611-B802-378C8767C50A}" />
                                    <!--
                                        Removed because they are part of HKCU and the rest are part of HKCR.
                                       
                                        Causes ICE57 because the values are written to both Current User and Local Machine.
                                   
                                    -->
                                    <!-- <Registry Id="_17D009BDD7
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

Stefan Krueger [MVP]
What you are seeing may be what is described in this article:
Append a GUID to every entry in the Directory table. This includes Directory table entries that specify Windows Installer SystemFolder properties, for example, SystemFolder.00000000_0000_0000_0000_000000000000. The library Mergemod.dll adds custom actions to set the SystemFolder property.
When a predefined directory is included in a merge module, the merge tool automatically adds a Custom Action Type 51 to the target database.

Kind regards,
Stefan Krueger
Microsoft Windows Installer MVP

Windows Installer FAQ
http://www.msifaq.com - http://www.msifaq.de

InstallSite - Resources for Setup Developers
http://www.installsite.org
http://www.installsite.de (GERMAN)  
 
 


From: [hidden email] [mailto:[hidden email]] On Behalf Of Jon Brandenburg
Sent: Friday, September 16, 2005 5:45 AM
To: [hidden email]
Subject: [WiX-users] ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

I get the following warning when I integrate a merge module that I have created into my package.  I'm asking about the warning because it appears to my untrained eye that the sequences should not in fact exist.  In the merge module I have items going into the <Directory> "SystemFolder" and the <Directory> "ProgramFilesFolder".  When I look at the MSI package in Orca I see in the Sequence tables entries for both the SystemFolder and the ProgramFilesFolder both with Sequence 1.

I keep getting the following error which makes no sense to me because it is putting references to my <Directory>'s into the various Sequences for processing.  Why would a merging in a merge module be creating sequences from my directory elements?  I've attached the relevant output, snippets, and source files below.  If you need/want more I can provide it.

Thanks!

Jon


Here's the output from Orca:

ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table InstallExecuteSequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table InstallUISequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table AdminExecuteSequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table AdminUISequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table AdvtExecuteSequence



Here's the snippets of the references to the merge module in my package:


        <Directory Id="TARGETDIR" Name="SourceDir">

            <!-- Include all Merge Modules -->
            <!-- Custom -->
            <Merge Id='CrystalReports85SP3.msm' Language='1033' src='\library\Merge Modules\Custom\CrystalReports85SP3.msm' FileCompression="yes" DiskId='1' />

       </Directory>


        <Feature Id="Complete"
                Title="$(loc.FeatureClientTitle)"
                Description="$(loc.FeatureClientDesc)"
                Display="expand"
                Level="1"
                ConfigurableDirectory="INSTALLDIR">

            <!-- Crystal Reports -->
            <MergeRef Id="CrystalReports85SP3.msm" />  <!-- Crystal Reports 8.5 SP3 -->

       </Feature>





Here's the WiX source to my Merge Module:  CrystalReports85SP3.wxs



<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">

    <Module Id="CrystalReports85SP3"
        Guid="AEE6E0E9-B3E2-4C6E-B38D-4EC75E16B1A5"
        Language="0"
        Version="1.0.0" >
       
        <Package Id="B45644E9-9D9B-48B2-B5B4-55E024794966"
            AdminImage="no"
            Comments="Contact:  Your local administrator"
            Compressed="yes"
            Description="Crystal Reports 8.5 SP3 Merge Modules"
            InstallerVersion="200"
            Keywords="MergeModule,MSI,Database"
            Languages="1033"
            Manufacturer="Some Company"
            Platforms="Intel"
            ShortNames="no"
            SummaryCodepage="1252" />

        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="SystemFolder" SourceName="System32">

                <Component Id="Crpaig80.dll" Guid="5F1328F6-D21B-4FF2-BAC0-1310EA8C2A25">
                    <File Id="Crpaig80.dll" Name="Crpaig80.dll" ReadOnly="yes" Compressed="yes" KeyPath="yes" />
                </Component>

                <Component Id="Implode.dll" Guid="2B07AEE4-FF67-4C98-9387-3D335DB97937">
                    <File Id="Implode.dll" Name="Implode.dll" ReadOnly="yes" Compressed="yes" KeyPath="yes" />
                </Component>

                <Component Id="P2smon.Dll" Guid="DA9B3616-4A0A-45E2-ACB3-D483871F3425" SharedDllRefCount="yes">
                    <File Id="P2smon.Dll" Name="P2smon.Dll" Compressed="yes" KeyPath="yes" />
                </Component>

            </Directory>
           
            <Directory Id="ProgramFilesFolder" LongName="Program Files" Name="PFiles">
                <Directory Id="SeagateSoftware" LongName="Seagate Software" Name="Seagate">
                    <Directory Id="ReportDesignerComponent" LongName="Report Designer Component" Name="RDC">

                        <Component Id="craxdrt.dll" Guid="19563F71-36A5-4FF4-A933-04BD68D841DE" SharedDllRefCount="yes">
                            <File Id="craxdrt.dll" Name="craxdrt.dll" Compressed="yes" KeyPath="yes" />
       
                            <Registry Id="craxdrt.dll_0" Root="HKCR" Key="CLSID\{B4741E10-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_1" Root="HKCR" Key="CLSID\{B4741E10-45A6-11D1-ABEC-00A0C9274B91}\MiscStatus\1" Type="string" Value="1024" />
                            <Registry Id="craxdrt.dll_2" Root="HKCR" Key="CLSID\{B4741E10-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
                            <Registry Id="craxdrt.dll_3" Root="HKCR" Key="CLSID\{B4741FD0-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_4" Root="HKCR" Key="CLSID\{B4741FD0-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
                            <Registry Id="craxdrt.dll_5" Root="HKCR" Key="CLSID\{B4742170-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_6" Root="HKCR" Key="CLSID\{B4742170-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
                            <Registry Id="craxdrt.dll_7" Root="HKCR" Key="CLSID\{B4742180-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_8" Root="HKCR" Key="CLSID\{B4742180-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
                            <Registry Id="craxdrt.dll_9" Root="HKCR" Key="CLSID\{B4742190-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_10" Root="HKCR" Key="CLSID\{B4742190-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
                            <Registry Id="craxdrt.dll_11" Root="HKCR" Key="CLSID\{B47421A0-45A6-11D1-ABEC-00A0C9274B91}\InprocServer32" Name="ThreadingModel" Type="string" Value="Apartment" />
                            <Registry Id="craxdrt.dll_12" Root="HKCR" Key="CLSID\{B47421A0-45A6-11D1-ABEC-00A0C9274B91}\TypeLib" Type="string" Value="{B4741C00-45A6-11D1-ABEC-00A0C9274B91}" />
       
                            <Class Id="B4741FD0-45A6-11D1-ABEC-00A0C9274B91" Context="InprocServer32" Description="Application Object" Advertise="yes">
                                <ProgId Id="CrystalRuntime.Application.8.5" Description="Application Object">
                                    <ProgId Id="CrystalRuntime.Application" Description="Application Object" />
                                </ProgId>
                            </Class>
                            <Class Id="B4742170-45A6-11D1-ABEC-00A0C9274B91" Context="InprocServer32" Description="ParameterValue Object" Advertise="yes">
                                <ProgId Id="CrystalRuntime.ParameterValue.8.5" Description="ParameterValue Object">
                                    <ProgId Id="CrystalRuntime.ParameterValue" Description="ParameterValue Object" />
                                </ProgId>
                            </Class>
                            <Class Id="B4742190-45A6-11D1-ABEC-00A0C9274B91" Context="InprocServer32" Description="ParameterValueInfo Object" Advertise="yes">
                                <ProgId Id="CrystalRuntime.ParameterValueInfo.8.5" Description="ParameterValueInfo Object">
                                    <ProgId Id="CrystalRuntime.ParameterValueInfo" Description="ParameterValueInfo Object" />
                                </ProgId>
                            </Class>
                            <Class Id="B47421A0-45A6-11D1-ABEC-00A0C9274B91" Context="InprocServer32" Description="ParameterValueInfos Object" Advertise="yes">
                            <ProgId Id="CrystalRuntime.ParameterValueInfos.8.5" Description="ParameterValueInfos Object">
                                <ProgId Id="CrystalRuntime.ParameterValueInfos" Description="ParameterValueInfos Object" />
                            </ProgId>
                            </Class>
                            <Class Id="B4742180-45A6-11D1-ABEC-00A0C9274B91" Context="InprocServer32" Description="ParameterVal
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

Stefan Krueger [MVP]
In reply to this post by Jon Brandenburg
What you are seeing may be what is described in this article:
 
Append a GUID to every entry in the Directory table. This includes Directory table entries that specify Windows Installer SystemFolder properties, for example, SystemFolder.00000000_0000_0000_0000_000000000000. The library Mergemod.dll adds custom actions to set the SystemFolder property.
When a predefined directory is included in a merge module, the merge tool automatically adds a Custom Action Type 51 to the target database.

Kind regards,
Stefan Krueger
Microsoft Windows Installer MVP

Windows Installer FAQ
http://www.msifaq.com - http://www.msifaq.de

InstallSite - Resources for Setup Developers
http://www.installsite.org
http://www.installsite.de (GERMAN)  
 
 


From: [hidden email] [mailto:[hidden email]] On Behalf Of Jon Brandenburg
Sent: Friday, September 16, 2005 5:45 AM
To: [hidden email]
Subject: [WiX-users] ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

I get the following warning when I integrate a merge module that I have created into my package.  I'm asking about the warning because it appears to my untrained eye that the sequences should not in fact exist.  In the merge module I have items going into the <Directory> "SystemFolder" and the <Directory> "ProgramFilesFolder".  When I look at the MSI package in Orca I see in the Sequence tables entries for both the SystemFolder and the ProgramFilesFolder both with Sequence 1.

I keep getting the following error which makes no sense to me because it is putting references to my <Directory>'s into the various Sequences for processing.  Why would a merging in a merge module be creating sequences from my directory elements?  I've attached the relevant output, snippets, and source files below.  If you need/want more I can provide it.

Thanks!

Jon


Here's the output from Orca:

ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table InstallExecuteSequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table InstallUISequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table AdminExecuteSequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table AdminUISequence
ICE82 WARNING This action SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5 has duplicate sequence number 1 in the table AdvtExecuteSequence

...
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

Jon Brandenburg
In reply to this post by Stefan Krueger [MVP]
If I am understanding your explainantion correctly then you are saying
the fact that the action appears is correct behavior.  If this is
correct, then the duplicate sequence #'s would appear to be a problem
with light?

The problem I'm seeing is that if I run dark against say comcat.msm (a
microsoft supplied merge module) and inspect the source that it
generates the directory references and everything else appear to be the
same between my custom merge module and the source generated by dark.  
However when I compare the MSM file in Orca I see that the directory
references for comcat.msm for SystemFolder appear as

Directory                                                              
                            Parent_Directory        DefaultDir
SystemFolder                                                          
                         TARGETDIR            .


and when I view my custom MSM in Orca it appears as:


ProgramFilesFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5              
TARGETDIR               .
SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5                        
TARGETDIR               .


So it appears either the microsoft merge module is incorrect or mine
is.  I have also compiled a new merge module based on the darked
COMCAT.MSM and it generated the output simliar to my own custom merge
module.  If this behavior is in fact correct, then it leads me to
believe that the light is not assigning a correct sequence # when
generating the final MSI package, is this conclusion correct?  If this
is then it appears that I need to file a bug report if it does not
already exist.

Thanks!

Jon





Stefan Krueger wrote:

> What you are seeing may be what is described in this article:
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/authoring_merge_module_directory_tables.asp
>  
> Append a GUID to every entry in the Directory table. This includes
> Directory table entries that specify Windows Installer SystemFolder
> properties, for example,
> SystemFolder.00000000_0000_0000_0000_000000000000. The library
> Mergemod.dll adds custom actions to set the SystemFolder property.
> When a predefined directory is included in a merge module, the merge
> tool automatically adds a Custom Action Type 51 to the target database.
>
> Kind regards,
> Stefan Krueger
> Microsoft Windows Installer MVP
>
> Windows Installer FAQ
> http://www.msifaq.com <http://www.msifaq.com/> - http://www.msifaq.de 
> <http://www.msifaq.de/>
>
> InstallSite - Resources for Setup Developers
> http://www.installsite.org <http://www.installsite.org/>
> http://www.installsite.de <http://www.installsite.de/> (GERMAN)  
>  
>  




-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

Rob Mensching
Duplicate sequence numbers are not a problem as long as you don't need the
order of the CustomActions to be consistent.  These type 51 CustomActions'
order relative to each other shouldn't be important.

Also, this is not a light.exe issue.  The behavior you are seeing is from
mergemod.dll provided by the Windows Installer SDK.

-----Original Message-----
From: [hidden email]
[mailto:[hidden email]] On Behalf Of Jon Brandenburg
Sent: Friday, September 16, 2005 8:08 AM
To: Stefan Krueger
Cc: [hidden email]
Subject: Re: [WiX-users] ICE82 Warnings from duplicate sequence number
created from <Directory> elements using Merge Modules

If I am understanding your explainantion correctly then you are saying
the fact that the action appears is correct behavior.  If this is
correct, then the duplicate sequence #'s would appear to be a problem
with light?

The problem I'm seeing is that if I run dark against say comcat.msm (a
microsoft supplied merge module) and inspect the source that it
generates the directory references and everything else appear to be the
same between my custom merge module and the source generated by dark.  
However when I compare the MSM file in Orca I see that the directory
references for comcat.msm for SystemFolder appear as

Directory                                                              
                            Parent_Directory        DefaultDir
SystemFolder                                                          
                         TARGETDIR            .


and when I view my custom MSM in Orca it appears as:


ProgramFilesFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5              
TARGETDIR               .
SystemFolder.AEE6E0E9_B3E2_4C6E_B38D_4EC75E16B1A5                        
TARGETDIR               .


So it appears either the microsoft merge module is incorrect or mine
is.  I have also compiled a new merge module based on the darked
COMCAT.MSM and it generated the output simliar to my own custom merge
module.  If this behavior is in fact correct, then it leads me to
believe that the light is not assigning a correct sequence # when
generating the final MSI package, is this conclusion correct?  If this
is then it appears that I need to file a bug report if it does not
already exist.

Thanks!

Jon





Stefan Krueger wrote:

> What you are seeing may be what is described in this article:
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/a
uthoring_merge_module_directory_tables.asp

>  
> Append a GUID to every entry in the Directory table. This includes
> Directory table entries that specify Windows Installer SystemFolder
> properties, for example,
> SystemFolder.00000000_0000_0000_0000_000000000000. The library
> Mergemod.dll adds custom actions to set the SystemFolder property.
> When a predefined directory is included in a merge module, the merge
> tool automatically adds a Custom Action Type 51 to the target database.
>
> Kind regards,
> Stefan Krueger
> Microsoft Windows Installer MVP
>
> Windows Installer FAQ
> http://www.msifaq.com <http://www.msifaq.com/> - http://www.msifaq.de 
> <http://www.msifaq.de/>
>
> InstallSite - Resources for Setup Developers
> http://www.installsite.org <http://www.installsite.org/>
> http://www.installsite.de <http://www.installsite.de/> (GERMAN)  
>  
>  




-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

Jon Brandenburg
Fair enough.  So you are saying that when light builds the MSI it uses
the mergemod.dll which when building assigns the sequence # for each of
the merge modules?  I would have thought that light built a meta tree of
the sequences, files, directories, etc and then indexed them,
cross-referenced them, whatever and fed it into the MSI that it was
building.. I assumed this because when adding items into the various
sequences we can specify our own id's, so it appeared that light would
step in and handle the various merge modules and change the sequence #'s
for conflicting sequence #'s.

Thanks for the explanation.

Jon


Rob Mensching wrote:

>Duplicate sequence numbers are not a problem as long as you don't need the
>order of the CustomActions to be consistent.  These type 51 CustomActions'
>order relative to each other shouldn't be important.
>
>Also, this is not a light.exe issue.  The behavior you are seeing is from
>mergemod.dll provided by the Windows Installer SDK.
>
>  
>


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

Rob Mensching
Light uses mergemod.dll only to merge in Merge Modules.  It does that
processing very late because mergemod.dll operates on the final MSI output
not against the data structures that WiX uses everywhere else.  The Type 51
CustomActions that you are talking about are added by mergemod.dll.  Thus
light (the Binder to be more specific) doesn't actually know about the data
added by the Merge Module (except the files which are accessible by a
specific API from mergemod.dll).

Fundamentally, there is less flexibility when merging in Merge Modules.

-----Original Message-----
From: Jon Brandenburg [mailto:[hidden email]]
Sent: Friday, September 16, 2005 9:20 AM
To: [hidden email]
Cc: Stefan Krueger; [hidden email]
Subject: Re: [WiX-users] ICE82 Warnings from duplicate sequence number
created from <Directory> elements using Merge Modules

Fair enough.  So you are saying that when light builds the MSI it uses
the mergemod.dll which when building assigns the sequence # for each of
the merge modules?  I would have thought that light built a meta tree of
the sequences, files, directories, etc and then indexed them,
cross-referenced them, whatever and fed it into the MSI that it was
building.. I assumed this because when adding items into the various
sequences we can specify our own id's, so it appeared that light would
step in and handle the various merge modules and change the sequence #'s
for conflicting sequence #'s.

Thanks for the explanation.

Jon


Rob Mensching wrote:

>Duplicate sequence numbers are not a problem as long as you don't need the
>order of the CustomActions to be consistent.  These type 51 CustomActions'
>order relative to each other shouldn't be important.
>
>Also, this is not a light.exe issue.  The behavior you are seeing is from
>mergemod.dll provided by the Windows Installer SDK.
>
>  
>



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

Jon Brandenburg
Rob Mensching wrote:

>Light uses mergemod.dll only to merge in Merge Modules.  It does that
>processing very late because mergemod.dll operates on the final MSI output
>not against the data structures that WiX uses everywhere else.  The Type 51
>CustomActions that you are talking about are added by mergemod.dll.  Thus
>light (the Binder to be more specific) doesn't actually know about the data
>added by the Merge Module (except the files which are accessible by a
>specific API from mergemod.dll).
>
>Fundamentally, there is less flexibility when merging in Merge Modules.
>
>  
>
So I guess I'm back to my original question from a week ago or so where
I asked if I would be better off using Fragments and Include files
instead of creating a custom Merge Module for components that need to
used among different programs that we will be using (these components
obviously contain DLL's that must obey the component rules).


Thanks!

Jon


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: ICE82 Warnings from duplicate sequence number created from <Directory> elements using Merge Modules

Rob Mensching
Sorry, I missed that question.  Personally, I always recommend breaking your
setup code into as many Fragments that make sense.  Then build those
Fragments into MSI files or Merge Modules as appropriate for your
redistribution needs.

Fragments are the most flexible way to break your setup code into reusable
pieces.

-----Original Message-----
From: Jon Brandenburg [mailto:[hidden email]]
Sent: Friday, September 16, 2005 9:45 AM
To: [hidden email]
Cc: Stefan Krueger; [hidden email]
Subject: Re: [WiX-users] ICE82 Warnings from duplicate sequence number
created from <Directory> elements using Merge Modules

Rob Mensching wrote:

>Light uses mergemod.dll only to merge in Merge Modules.  It does that
>processing very late because mergemod.dll operates on the final MSI output
>not against the data structures that WiX uses everywhere else.  The Type 51
>CustomActions that you are talking about are added by mergemod.dll.  Thus
>light (the Binder to be more specific) doesn't actually know about the data
>added by the Merge Module (except the files which are accessible by a
>specific API from mergemod.dll).
>
>Fundamentally, there is less flexibility when merging in Merge Modules.
>
>  
>
So I guess I'm back to my original question from a week ago or so where
I asked if I would be better off using Fragments and Include files
instead of creating a custom Merge Module for components that need to
used among different programs that we will be using (these components
obviously contain DLL's that must obey the component rules).


Thanks!

Jon



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Loading...