MAKEMSI quickly and reliably creates MSI files in a non-programmatic way
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
[Bottom][Contents][Prev]: MSIDIFF.VBS[Next]: How to Post Process MSIDIFF Output
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Tips and Tricks->Tools->MSIDIFF.VBS->Sample MsiDiff Output - comcat.msm (merge module)

Sample MsiDiff Output - comcat.msm (merge module)

The following command was used to dump "comcat.msm" (the "_Validation" table was ignored):

cscript msidiff.vbs "Merge Modules\comcat.msm" -_Validation > comcat.txt

The dumped merge module follows:

Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

; []--------------------------------------------------------------[]
; | MSIDIFF.VBS v08.233: Dumps MSI differences in "MakeMsi" format |
; |      (C)opyright Dennis Bareis 2003-2008. All rights reserved. |
; |                 http://dennisbareis.com/index.htm |
; []--------------------------------------------------------------[]

;======================================================================
;===========================[ DUMP ]===================================
;======================================================================
; The following paths may need to be modified depending on where the
; script is located (generated).
; You may also wish to make some of the hard coded values generic so
; that the script will work for any MSI or uses different values, in
; this case you may wish to use PPWIZARD's "/define" switch to
; pass values as a PPWIZARD macro (via the command line).
; The environment is another easy option.
;
; READING THIS OUTPUT
; ~~~~~~~~~~~~~~~~~~~
; A Windows Installer file is a form of SQL database and so
; contains SQL table and rows.
; The SQL is displayed in the form required by MAKEMSI to create
; the file's SQL tables and rows.
;
; DUMPING
; ~~~~~~~
; FILE: Merge Modules\comcat.msm
; SIZE: 19,456
;  MD5: 58A0732F-492E2CE3-71AB6B58-8E4E2C64
;
; TABLES
; ~~~~~~
; INCLUDE :
; EXCLUDE : _Validation
;======================================================================

#include "OpenMsi.MMH"


<$Msi 'Merge Modules\comcat.msm' CREATE='Y'>

<$Table "ModuleSignature">
   <$TableCreate>
   #(
       <$Row
           ModuleID="COMCAT.3207D1B0_80E5_11D2_B95D_006097C4DE24"
           Language="0"
            Version="4.71.1460.1"
       >
   #)

<$/Table>


<$Table "FeatureComponents">
   <$TableCreate>
<$/Table>


<$Table "Directory">
   <$TableCreate>
   #(
       <$Row
                  Directory="MS.3207D1B0_80E5_11D2_B95D_006097C4DE24"
           Directory_Parent="Redist.3207D1B0_80E5_11D2_B95D_006097C4DE24"
                 DefaultDir=".:MS"
       >
   #)

   #(
       <$Row
                  Directory="Redist.3207D1B0_80E5_11D2_B95D_006097C4DE24"
           Directory_Parent="SystemFolder"
                 DefaultDir=".:Redist"
       >
   #)

   #(
       <$Row
                  Directory="System.3207D1B0_80E5_11D2_B95D_006097C4DE24"
           Directory_Parent="MS.3207D1B0_80E5_11D2_B95D_006097C4DE24"
                 DefaultDir=".:System"
       >
   #)

   #(
       <$Row
                  Directory="SystemFolder"
           Directory_Parent="TARGETDIR"
                 DefaultDir="."
       >
   #)

   #(
       <$Row
                  Directory="TARGETDIR"
           Directory_Parent=""
                 DefaultDir="SourceDir"
       >
   #)

<$/Table>


<$Table "File">
   <$TableCreate>
   #(
       <$Row
                 File="Global_Controls_COMCATDLL_f0.3207D1B0_80E5_11D2_B95D_006097C4DE24"
           Component_="Global_Controls_COMCATDLL.3207D1B0_80E5_11D2_B95D_006097C4DE24"
             FileName="comcat.dll"
             FileSize="22288"
              Version="4.71.1460.1"
             Language="1033"
           Attributes="0"
             Sequence="1"
       >
   #)

<$/Table>


<$Table "Registry">
   <$TableCreate>
   #(
       <$Row
             Registry="Global_Controls_COMCATDLL_r0.3207D1B0_80E5_11D2_B95D_006097C4DE24"
                 Root="0"
                  Key="CLSID\{0002E005-0000-0000-C000-000000000046}\InprocServer32"
                 Name="ThreadingModel"
                Value="Both"
           Component_="Global_Controls_COMCATDLL.3207D1B0_80E5_11D2_B95D_006097C4DE24"
       >
   #)

   #(
       <$Row
             Registry="Global_Controls_COMCATDLL_r1.3207D1B0_80E5_11D2_B95D_006097C4DE24"
                 Root="0"
                  Key="Component Categories"
                 Name="+"
                Value=""
           Component_="Global_Controls_COMCATDLL.3207D1B0_80E5_11D2_B95D_006097C4DE24"
       >
   #)

   #(
       <$Row
             Registry="Global_Controls_COMCATDLL_r2.3207D1B0_80E5_11D2_B95D_006097C4DE24"
                 Root="0"
                  Key="Component Categories\{40FC6ED3-2438-11CF-A3DB-080036F12502}"
                 Name="409"
                Value="Embeddable Objects"
           Component_="Global_Controls_COMCATDLL.3207D1B0_80E5_11D2_B95D_006097C4DE24"
       >
   #)

   #(
       <$Row
             Registry="Global_Controls_COMCATDLL_r3.3207D1B0_80E5_11D2_B95D_006097C4DE24"
                 Root="0"
                  Key="Component Categories\{40FC6ED4-2438-11CF-A3DB-080036F12502}"
                 Name="409"
                Value="Controls"
           Component_="Global_Controls_COMCATDLL.3207D1B0_80E5_11D2_B95D_006097C4DE24"
       >
   #)

   #(
       <$Row
             Registry="Global_Controls_COMCATDLL_r4.3207D1B0_80E5_11D2_B95D_006097C4DE24"
                 Root="0"
                  Key="Component Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}"
                 Name="409"
                Value="Automation Objects"
           Component_="Global_Controls_COMCATDLL.3207D1B0_80E5_11D2_B95D_006097C4DE24"
       >
   #)

   #(
       <$Row
             Registry="Global_Controls_COMCATDLL_r5.3207D1B0_80E5_11D2_B95D_006097C4DE24"
                 Root="0"
                  Key="Component Categories\{40FC6ED8-2438-11CF-A3DB-080036F12502}"
                 Name="409"
                Value="Document Objects"
           Component_="Global_Controls_COMCATDLL.3207D1B0_80E5_11D2_B95D_006097C4DE24"
       >
   #)

   #(
       <$Row
             Registry="Global_Controls_COMCATDLL_r6.3207D1B0_80E5_11D2_B95D_006097C4DE24"
                 Root="0"
                  Key="Component Categories\{40FC6ED9-2438-11CF-A3DB-080036F12502}"
                 Name="409"
                Value="_Printable Objects"
           Component_="Global_Controls_COMCATDLL.3207D1B0_80E5_11D2_B95D_006097C4DE24"
       >
   #)

<$/Table>


<$Table "Extension">
   <$TableCreate>
<$/Table>


<$Table "MIME">
   <$TableCreate>
<$/Table>


<$Table "Class">
   <$TableCreate>
   #(
       <$Row
                      CLSID="{0002E005-0000-0000-C000-000000000046}"
                    Context="InprocServer32"
                 Component_="Global_Controls_COMCATDLL.3207D1B0_80E5_11D2_B95D_006097C4DE24"
             ProgId_Default=""
                Description="Component Categories Manager"
                     AppId_=""
               FileTypeMask=""
                      Icon_=""
                  IconIndex=""
           DefInprocHandler=""
                   Argument=""
                   Feature_="{00000000-0000-0000-0000-000000000000}"
                 Attributes=""
       >
   #)

<$/Table>


<$Table "ProgId">
   <$TableCreate>
<$/Table>


<$Table "Verb">
   <$TableCreate>
<$/Table>


<$Table "Component">
   <$TableCreate>
   #(
       <$Row
             Component="Global_Controls_COMCATDLL.3207D1B0_80E5_11D2_B95D_006097C4DE24"
           ComponentId="{3207D1B1-80E5-11D2-B95D-006097C4DE24}"
            Directory_="System.3207D1B0_80E5_11D2_B95D_006097C4DE24"
            Attributes="24"
             Condition=""
               KeyPath="Global_Controls_COMCATDLL_f0.3207D1B0_80E5_11D2_B95D_006097C4DE24"
       >
   #)

<$/Table>


<$Table "ModuleComponents">
   <$TableCreate>
   #(
       <$Row
           Component="Global_Controls_COMCATDLL.3207D1B0_80E5_11D2_B95D_006097C4DE24"
            ModuleID="COMCAT.3207D1B0_80E5_11D2_B95D_006097C4DE24"
            Language="0"
       >
   #)

<$/Table>

<$Summary     "CodePage"  Value="1252">
<$Summary        "TITLE"  Value="Merge Module">
<$Summary      "SUBJECT"  Value="Microsoft Component Category Manager Library">
<$Summary     "KEYWORDS"  Value="MergeModule, MSI, Database">
<$Summary     "COMMENTS"  Value="This redist pack contains the logic, files, and registration information to install the Microsoft Component Category Manager Library.">
<$Summary     "TEMPLATE"  Value="Intel;0">
<$Summary  "PackageCode"  Value="{3207D1B0-80E5-11D2-B95D-006097C4DE24}">
<$Summary   "CREATE_DTM"  Value='cdate("31/05/2000 4:27:07 AM")'>
<$Summary "LastSave_DTM"  Value='cdate("31/05/2000 4:27:07 AM")'>
<$Summary    "MsiSchema"  Value="110">
<$Summary   "SourceType"  Value="2">
<$Summary      "AppName"  Value="Orca">
<$Summary     "SECURITY"  Value="1">

;--- Tables Excluded : _Validation

<$/Msi>


Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.Please email me any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Prev]: MSIDIFF.VBS[Next]: How to Post Process MSIDIFF Output


MAKEMSI© is (C)opyright Dennis Bareis 2003-2008 (All rights reserved).
Saturday May 28 2022 at 3:11pm
Visit MAKEMSI's Home Page
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.