MSI/MSI.types.ps1xml

<?xml version="1.0" encoding="utf-8"?>
<Types>
  <Type>
    <Name>System.IO.DirectoryInfo</Name>
    <Members>
      <ScriptProperty>
        <Name>MSIFileType</Name>
        <GetScriptBlock>
          $null
        </GetScriptBlock>
      </ScriptProperty>
      <PropertySet>
        <Name>MSIFileHash</Name>
        <ReferencedProperties>
          <Name>MSIHashPart1</Name>
          <Name>MSIHashPart2</Name>
          <Name>MSIHashPart3</Name>
          <Name>MSIHashPart4</Name>
        </ReferencedProperties>
      </PropertySet>
      <ScriptProperty>
        <Name>MSIHashPart1</Name>
        <GetScriptBlock>
          $null
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>MSIHashPart2</Name>
        <GetScriptBlock>
          $null
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>MSIHashPart3</Name>
        <GetScriptBlock>
          $null
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>MSIHashPart4</Name>
        <GetScriptBlock>
          $null
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
  <Type>
    <Name>System.IO.FileInfo</Name>
    <Members>
      <CodeProperty>
        <Name>MSIFileType</Name>
        <GetCodeReference>
          <TypeName>Microsoft.Tools.WindowsInstaller.PowerShell.FileInfo</TypeName>
          <MethodName>GetFileType</MethodName>
        </GetCodeReference>
      </CodeProperty>
      <CodeProperty>
        <Name>MSIFileHash</Name>
        <GetCodeReference>
          <TypeName>Microsoft.Tools.WindowsInstaller.PowerShell.FileInfo</TypeName>
          <MethodName>GetFileHash</MethodName>
        </GetCodeReference>
      </CodeProperty>
      <ScriptProperty>
        <Name>MSIHashPart1</Name>
        <GetScriptBlock>
          $this.MSIFileHash.MSIHashPart1
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>MSIHashPart2</Name>
        <GetScriptBlock>
          $this.MSIFileHash.MSIHashPart2
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>MSIHashPart3</Name>
        <GetScriptBlock>
          $this.MSIFileHash.MSIHashPart3
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>MSIHashPart4</Name>
        <GetScriptBlock>
          $this.MSIFileHash.MSIHashPart4
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Deployment.WindowsInstaller.ProductInstallation</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <NoteProperty>
            <Name>DefaultDisplayProperty</Name>
            <Value>ProductCode</Value>
          </NoteProperty>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>AdvertisedLanguage</Name>
              <Name>AdvertisedPackageCode</Name>
              <Name>AdvertisedPackageName</Name>
              <Name>AdvertisedPerMachine</Name>
              <Name>AdvertisedProductIcon</Name>
              <Name>AdvertisedProductName</Name>
              <Name>AdvertisedTransforms</Name>
              <Name>AdvertisedVersion</Name>
              <Name>Context</Name>
              <Name>Features</Name>
              <Name>HelpLink</Name>
              <Name>HelpTelephone</Name>
              <Name>InstallDate</Name>
              <Name>InstallLocation</Name>
              <Name>InstallSource</Name>
              <Name>InstanceType</Name>
              <Name>IsAdvertised</Name>
              <Name>IsElevated</Name>
              <Name>IsInstalled</Name>
              <Name>LocalPackage</Name>
              <Name>PrivilegedPatchingAuthorized</Name>
              <Name>ProductCode</Name>
              <Name>ProductId</Name>
              <Name>ProductName</Name>
              <Name>ProductVersion</Name>
              <Name>Publisher</Name>
              <Name>RegCompany</Name>
              <Name>RegOwner</Name>
              <Name>SourceList</Name>
              <Name>UrlInfoAbout</Name>
              <Name>UrlUpdateInfo</Name>
              <Name>UserSid</Name>
            </ReferencedProperties>
          </PropertySet>
          <PropertySet>
            <Name>DefaultKeyPropertySet</Name>
            <ReferencedProperties>
              <Name>ProductCode</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
      <PropertySet>
        <Name>Advertised</Name>
        <ReferencedProperties>
          <Name>AdvertisedLanguage</Name>
          <Name>AdvertisedPackageCode</Name>
          <Name>AdvertisedPackageName</Name>
          <Name>AdvertisedPerMachine</Name>
          <Name>AdvertisedProductIcon</Name>
          <Name>AdvertisedProductName</Name>
          <Name>AdvertisedTransforms</Name>
          <Name>AdvertisedVersion</Name>
        </ReferencedProperties>
      </PropertySet>
      <PropertySet>
        <Name>Installed</Name>
        <ReferencedProperties>
          <Name>Context</Name>
          <Name>HelpLink</Name>
          <Name>HelpTelephone</Name>
          <Name>InstallDate</Name>
          <Name>InstallLocation</Name>
          <Name>InstallSource</Name>
          <Name>InstanceType</Name>
          <Name>IsAdvertised</Name>
          <Name>IsElevated</Name>
          <Name>IsInstalled</Name>
          <Name>LocalPackage</Name>
          <Name>PrivilegedPatchingAuthorized</Name>
          <Name>ProductCode</Name>
          <Name>ProductId</Name>
          <Name>ProductName</Name>
          <Name>ProductVersion</Name>
          <Name>Publisher</Name>
          <Name>RegCompany</Name>
          <Name>RegOwner</Name>
          <Name>UrlInfoAbout</Name>
          <Name>UrlUpdateInfo</Name>
          <Name>UserSid</Name>
        </ReferencedProperties>
      </PropertySet>
      <AliasProperty>
        <Name>Name</Name>
        <ReferencedMemberName>ProductName</ReferencedMemberName>
      </AliasProperty>
      <!-- V1 Compatibility -->
      <PropertySet>
        <Name>V1</Name>
        <ReferencedProperties>
          <Name>AssignmentType</Name>
          <Name>AuthorizedLUAApp</Name>
          <Name>DiskPrompt</Name>
          <Name>HelpLink</Name>
          <Name>HelpTelephone</Name>
          <Name>InstallContext</Name>
          <Name>InstallDate</Name>
          <Name>InstalledProductName</Name>
          <Name>InstallLocation</Name>
          <Name>InstallSource</Name>
          <Name>InstanceType</Name>
          <Name>Language</Name>
          <Name>LastUsedSource</Name>
          <Name>LastUsedType</Name>
          <Name>LocalPackage</Name>
          <Name>MediaPackagePath</Name>
          <Name>PackageCode</Name>
          <Name>PackageName</Name>
          <Name>ProductCode</Name>
          <Name>ProductIcon</Name>
          <Name>ProductId</Name>
          <Name>ProductName</Name>
          <Name>ProductState</Name>
          <Name>Publisher</Name>
          <Name>RegCompany</Name>
          <Name>RegOwner</Name>
          <Name>Transforms</Name>
          <Name>UrlInfoAbout</Name>
          <Name>UrlUpdateInfo</Name>
          <Name>UserSid</Name>
          <Name>Version</Name>
          <Name>VersionMajor</Name>
          <Name>VersionMinor</Name>
          <Name>VersionString</Name>
        </ReferencedProperties>
      </PropertySet>
      <ScriptProperty>
        <Name>AssignmentType</Name>
        <GetScriptBlock>
          if ($this.AdvertisedPerMachine) {
          "Machine"
          } else {
          "User"
          }
        </GetScriptBlock>
      </ScriptProperty>
      <AliasProperty>
        <Name>AuthorizedLUAApp</Name>
        <ReferencedMemberName>PrivilegedPatchingAuthorized</ReferencedMemberName>
      </AliasProperty>
      <ScriptProperty>
        <Name>DiskPrompt</Name>
        <GetScriptBlock>
          $this.SourceList.DiskPrompt
        </GetScriptBlock>
      </ScriptProperty>
      <AliasProperty>
        <Name>InstallContext</Name>
        <ReferencedMemberName>Context</ReferencedMemberName>
      </AliasProperty>
      <AliasProperty>
        <Name>InstalledProductName</Name>
        <ReferencedMemberName>ProductName</ReferencedMemberName>
      </AliasProperty>
      <ScriptProperty>
        <Name>InstanceType</Name>
        <GetScriptBlock>
          $this["InstanceType"]
        </GetScriptBlock>
      </ScriptProperty>
      <AliasProperty>
        <Name>Language</Name>
        <ReferencedMemberName>AdvertisedLanguage</ReferencedMemberName>
      </AliasProperty>
      <ScriptProperty>
        <Name>LastUsedSource</Name>
        <GetScriptBlock>
          $this.SourceList.LastUsedSource
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>LastUsedType</Name>
        <GetScriptBlock>
          $this.SourceList.LastUsedType
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>MediaPackagePath</Name>
        <GetScriptBlock>
          $this.SourceList.MediaPackagePath
        </GetScriptBlock>
      </ScriptProperty>
      <AliasProperty>
        <Name>PackageCode</Name>
        <ReferencedMemberName>AdvertisedPackageCode</ReferencedMemberName>
      </AliasProperty>
      <AliasProperty>
        <Name>PackageName</Name>
        <ReferencedMemberName>AdvertisedPackageName</ReferencedMemberName>
      </AliasProperty>
      <AliasProperty>
        <Name>ProductIcon</Name>
        <ReferencedMemberName>AdvertisedProductIcon</ReferencedMemberName>
      </AliasProperty>
      <ScriptProperty>
        <Name>ProductState</Name>
        <GetScriptBlock>
          if ($this.IsAdvertised) {
          "Advertised"
          } elseif ($this.IsInstalled) {
          "Installed"
          }
        </GetScriptBlock>
      </ScriptProperty>
      <AliasProperty>
        <Name>Transforms</Name>
        <ReferencedMemberName>AdvertisedTransforms</ReferencedMemberName>
      </AliasProperty>
      <AliasProperty>
        <Name>Version</Name>
        <ReferencedMemberName>AdvertisedVersion</ReferencedMemberName>
      </AliasProperty>
      <ScriptProperty>
        <Name>VersionMajor</Name>
        <GetScriptBlock>
          $this.ProductVersion.Major
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>VersionMinor</Name>
        <GetScriptBlock>
          $this.ProductVersion.Minor
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>VersionString</Name>
        <GetScriptBlock>
          $this.ProductVersion.ToString()
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Deployment.WindowsInstaller.PatchInstallation</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <NoteProperty>
            <Name>DefaultDisplayProperty</Name>
            <Value>PatchCode</Value>
          </NoteProperty>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>Context</Name>
              <Name>DisplayName</Name>
              <Name>InstallDate</Name>
              <Name>IsInstalled</Name>
              <Name>IsObsoleted</Name>
              <Name>IsSuperseded</Name>
              <Name>LocalPackage</Name>
              <Name>MoreInfoUrl</Name>
              <Name>PatchCode</Name>
              <Name>ProductCode</Name>
              <Name>SourceList</Name>
              <Name>State</Name>
              <Name>Transforms</Name>
              <Name>Uninstallable</Name>
              <Name>UserSid</Name>
            </ReferencedProperties>
          </PropertySet>
          <PropertySet>
            <Name>DefaultKeyPropertySet</Name>
            <ReferencedProperties>
              <Name>PatchCode</Name>
              <Name>ProductCode</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
      <AliasProperty>
        <Name>Name</Name>
        <ReferencedMemberName>DisplayName</ReferencedMemberName>
      </AliasProperty>
      <!-- V1 Compatibility -->
      <PropertySet>
        <Name>V1</Name>
        <ReferencedProperties>
          <Name>DisplayName</Name>
          <Name>InstallContext</Name>
          <Name>LocalPackage</Name>
          <Name>LUAEnabled</Name>
          <Name>MoreInfoUrl</Name>
          <Name>PatchCode</Name>
          <Name>PatchState</Name>
          <Name>ProductCode</Name>
          <Name>Uninstallable</Name>
          <Name>UserSid</Name>
        </ReferencedProperties>
      </PropertySet>
      <AliasProperty>
        <Name>InstallContext</Name>
        <ReferencedMemberName>Context</ReferencedMemberName>
      </AliasProperty>
      <ScriptProperty>
        <Name>LUAEnabled</Name>
        <GetScriptBlock>
          $this["LUAEnabled"]
        </GetScriptBlock>
      </ScriptProperty>
      <AliasProperty>
        <Name>PatchState</Name>
        <ReferencedMemberName>State</ReferencedMemberName>
      </AliasProperty>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Deployment.WindowsInstaller.ComponentInstallation</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <NoteProperty>
            <Name>DefaultDisplayProperty</Name>
            <Value>ComponentCode</Value>
          </NoteProperty>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>ComponentCode</Name>
              <Name>ProductCode</Name>
              <Name>Path</Name>
              <Name>State</Name>
            </ReferencedProperties>
          </PropertySet>
          <PropertySet>
            <Name>DefaultKeyPropertySet</Name>
            <ReferencedProperties>
              <Name>ComponentCode</Name>
              <Name>ProductCode</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
      <ScriptProperty>
        <Name>KeyPath</Name>
        <GetScriptBlock>
          $this.PSBase.Path
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>Path</Name>
        <GetScriptBlock>
          [Microsoft.Tools.WindowsInstaller.PowerShell.ComponentProvider]::ResolveKeyPath($ExecutionContext.SessionState, $this.KeyPath)
        </GetScriptBlock>
      </ScriptProperty>
      <AliasProperty>
        <Name>PSPath</Name>
        <ReferencedMemberName>Path</ReferencedMemberName>
      </AliasProperty>
      <ScriptProperty>
        <Name>ProductCode</Name>
        <GetScriptBlock>
          $this.Product.ProductCode
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>ClientProducts</Name>
        <GetScriptBlock>
          $null
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Deployment.WindowsInstaller.ComponentInstallation#State</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>ComponentCode</Name>
              <Name>ProductCode</Name>
              <Name>IsInstalled</Name>
              <Name>Component</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
      <ScriptProperty>
        <Name>IsInstalled</Name>
        <GetScriptBlock>
          $this.State -eq "Local"
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Deployment.WindowsInstaller.FeatureInstallation</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <NoteProperty>
            <Name>DefaultDisplayProperty</Name>
            <Value>Name</Value>
          </NoteProperty>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>Name</Name>
              <Name>ProductCode</Name>
              <Name>State</Name>
            </ReferencedProperties>
          </PropertySet>
          <PropertySet>
            <Name>DefaultKeyPropertySet</Name>
            <ReferencedProperties>
              <Name>Name</Name>
              <Name>ProductCode</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
      <ScriptProperty>
        <Name>LastUsedDate</Name>
        <GetScriptBlock>
          $this.Usage.LastUsedDate
        </GetScriptBlock>
      </ScriptProperty>
      <AliasProperty>
        <Name>Name</Name>
        <ReferencedMemberName>FeatureName</ReferencedMemberName>
      </AliasProperty>
      <ScriptProperty>
        <Name>ProductCode</Name>
        <GetScriptBlock>
          $this.Product.ProductCode
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>UseCount</Name>
        <GetScriptBlock>
          $this.Usage.UseCount
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Deployment.WindowsInstaller.Package.TransformInfo</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <NoteProperty>
            <Name>DefaultDisplayProperty</Name>
            <Value>Name</Value>
          </NoteProperty>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>Name</Name>
              <Name>TargetLanguage</Name>
              <Name>TargetPlatform</Name>
              <Name>TargetProductCode</Name>
              <Name>TargetProductVersion</Name>
              <Name>UpgradeCode</Name>
              <Name>UpgradeProductCode</Name>
              <Name>UpgradeProductVersion</Name>
              <Name>Validations</Name>
            </ReferencedProperties>
          </PropertySet>
          <PropertySet>
            <Name>DefaultKeyPropertySet</Name>
            <ReferencedProperties>
              <Name>Patch</Name>
              <Name>Name</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
      <ScriptProperty>
        <Name>IsTransform</Name>
        <GetScriptBlock>
          $true
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>Transform</Name>
        <GetScriptBlock>
          $this.Patch + ":" + $this.Name
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>Validations</Name>
        <GetScriptBlock>
          [Microsoft.Deployment.WindowsInstaller.TransformValidations] [Math]::Floor(([int] $this.PSBase.Validations -band 0xffff0000) / 0xffff)
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Tools.WindowsInstaller.AttributeColumn</Name>
    <Members>
      <ScriptMethod>
        <Name>ToString</Name>
        <Script>
          try { $this.PSBase.ToString($MsiAttributeColumnFormat) }
          catch { $this.PSBase.ToString() }
        </Script>
      </ScriptMethod>
    </Members>
    <TypeAdapter>
      <TypeName>Microsoft.Tools.WindowsInstaller.PowerShell.AttributeColumnPropertyAdapter</TypeName>
    </TypeAdapter>
    <TypeConverter>
      <TypeName>Microsoft.Tools.WindowsInstaller.PowerShell.AttributeColumnTypeConverter</TypeName>
    </TypeConverter>
  </Type>
  <Type>
    <Name>Microsoft.Tools.WindowsInstaller.IceMessageType</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <NoteProperty>
            <Name>DefaultDisplayProperty</Name>
            <Value>Description</Value>
          </NoteProperty>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>Name</Name>
              <Name>Type</Name>
              <Name>Description</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Tools.WindowsInstaller.PatchSequence</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <NoteProperty>
            <Name>DefaultDisplayProperty</Name>
            <Value>Patch</Value>
          </NoteProperty>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>Sequence</Name>
              <Name>Patch</Name>
              <Name>Product</Name>
            </ReferencedProperties>
          </PropertySet>
          <PropertySet>
            <Name>DefaultKeyPropertySet</Name>
            <ReferencedProperties>
              <Name>Patch</Name>
              <Name>Product</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Tools.WindowsInstaller.Record</Name>
    <Members>
      <CodeProperty>
        <Name>MSIOperation</Name>
        <GetCodeReference>
          <TypeName>Microsoft.Tools.WindowsInstaller.PowerShell.RecordPropertyAdapter</TypeName>
          <MethodName>GetOperation</MethodName>
        </GetCodeReference>
      </CodeProperty>
      <CodeProperty>
        <Name>MSIPath</Name>
        <GetCodeReference>
          <TypeName>Microsoft.Tools.WindowsInstaller.PowerShell.RecordPropertyAdapter</TypeName>
          <MethodName>GetPath</MethodName>
        </GetCodeReference>
      </CodeProperty>
      <CodeProperty>
        <Name>MSIQuery</Name>
        <GetCodeReference>
          <TypeName>Microsoft.Tools.WindowsInstaller.PowerShell.RecordPropertyAdapter</TypeName>
          <MethodName>GetQuery</MethodName>
        </GetCodeReference>
      </CodeProperty>
    </Members>
    <TypeAdapter>
      <TypeName>Microsoft.Tools.WindowsInstaller.PowerShell.RecordPropertyAdapter</TypeName>
    </TypeAdapter>
  </Type>
  <Type>
    <Name>Microsoft.Tools.WindowsInstaller.SummaryInfo</Name>
    <Members>
      <ScriptProperty>
        <Name>ReadOnly</Name>
        <GetScriptBlock>
          $ro = [Microsoft.Tools.WindowsInstaller.ReadOnly]
          switch ($this.Security)
          {
          0 { $ro::Unrestricted }
          2 { $ro::Recommended }
          4 { $ro::Enforced }
          }
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Tools.WindowsInstaller.SummaryInfo#Package</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>Author</Name>
              <Name>CodePage</Name>
              <Name>Comments</Name>
              <Name>CreateTime</Name>
              <Name>CreatingApp</Name>
              <Name>Keywords</Name>
              <Name>Language</Name>
              <Name>LastPrintTime</Name>
              <Name>LastSavedBy</Name>
              <Name>LastSaveTime</Name>
              <Name>MinimumVersion</Name>
              <Name>PackageCode</Name>
              <Name>Platform</Name>
              <Name>ReadOnly</Name>
              <Name>Subject</Name>
              <Name>Title</Name>
              <Name>WordCount</Name>
            </ReferencedProperties>
          </PropertySet>
          <PropertySet>
            <Name>DefaultKeyPropertySet</Name>
            <ReferencedProperties>
              <Name>PackageCode</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
      <ScriptProperty>
        <Name>IsPackage</Name>
        <GetScriptBlock>
          $true
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>Platform</Name>
        <GetScriptBlock>
          ($this.Template -split ";")[0]
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>Language</Name>
        <GetScriptBlock>
          ($this.Template -split ";")[1] -split ","
        </GetScriptBlock>
      </ScriptProperty>
      <AliasProperty>
        <Name>PackageCode</Name>
        <ReferencedMemberName>RevisionNumber</ReferencedMemberName>
      </AliasProperty>
      <ScriptProperty>
        <Name>MinimumVersion</Name>
        <GetScriptBlock>
          [Version] ("{0:0.00}" -f ($this.PageCount / 100))
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Tools.WindowsInstaller.SummaryInfo#Patch</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>Author</Name>
              <Name>CodePage</Name>
              <Name>Comments</Name>
              <Name>CreateTime</Name>
              <Name>CreatingApp</Name>
              <Name>LastSaveTime</Name>
              <Name>MinimumVersion</Name>
              <Name>PackageCode</Name>
              <Name>ReadOnly</Name>
              <Name>ReplacedPatchCodes</Name>
              <Name>Sources</Name>
              <Name>Subject</Name>
              <Name>TargetProductCodes</Name>
              <Name>Transforms</Name>
              <Name>Title</Name>
            </ReferencedProperties>
          </PropertySet>
          <PropertySet>
            <Name>DefaultKeyPropertySet</Name>
            <ReferencedProperties>
              <Name>PackageCode</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
      <ScriptProperty>
        <Name>IsPatch</Name>
        <GetScriptBlock>
          $true
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>Sources</Name>
        <GetScriptBlock>
          $this.Keywords -split ";"
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>Transforms</Name>
        <GetScriptBlock>
          $this.LastSavedBy -split ";"
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>PackageCode</Name>
        <GetScriptBlock>
          $this.RevisionNumber.Substring(0, 38)
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>ReplacedPatchCodes</Name>
        <GetScriptBlock>
          $length = $this.RevisionNumber.Length
          if ($length -gt 38)
          {
          $this.RevisionNumber.Substring(38, $length - 38) -split "(})"
          }
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>TargetProductCodes</Name>
        <GetScriptBlock>
          $this.Template -split ";"
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>MinimumVersion</Name>
        <GetScriptBlock>
          switch ($this.WordCount)
          {
          2 { [Version] 1.2 }
          3 { [Version] 2.0 }
          4 { [Version] 3.0 }
          5 { [Version] 3.1 }
          default { [Version] 1.0 }
          }
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Tools.WindowsInstaller.SummaryInfo#Transform</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>Author</Name>
              <Name>CodePage</Name>
              <Name>Comments</Name>
              <Name>CreateTime</Name>
              <Name>CreatingApp</Name>
              <Name>ErrorConditions</Name>
              <Name>Keywords</Name>
              <Name>LastSaveTime</Name>
              <Name>MinimumVersion</Name>
              <Name>ReadOnly</Name>
              <Name>Subject</Name>
              <Name>TargetPlatform</Name>
              <Name>TargetLanguage</Name>
              <Name>TargetProductCode</Name>
              <Name>TargetProductVersion</Name>
              <Name>Title</Name>
              <Name>UpgradeCode</Name>
              <Name>UpgradeLanguage</Name>
              <Name>UpgradePlatform</Name>
              <Name>UpgradeProductCode</Name>
              <Name>UpgradeProductVersion</Name>
              <Name>Validations</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
      <ScriptProperty>
        <Name>IsTransform</Name>
        <GetScriptBlock>
          $true
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>Validations</Name>
        <GetScriptBlock>
          [Microsoft.Deployment.WindowsInstaller.TransformValidations] [Math]::Floor(($this.CharacterCount -band 0xffff0000) / 0xffff)
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>ErrorConditions</Name>
        <GetScriptBlock>
          [Microsoft.Deployment.WindowsInstaller.TransformErrors] ($this.CharacterCount -band 0xffff)
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>TargetPlatform</Name>
        <GetScriptBlock>
          ($this.Template -split ";")[0]
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>TargetLanguage</Name>
        <GetScriptBlock>
          ($this.Template -split ";")[1] -split ","
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>TargetProductCode</Name>
        <GetScriptBlock>
          ($this.RevisionNumber -split ";")[0].Substring(0, 38)
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>TargetProductVersion</Name>
        <GetScriptBlock>
          [Version] ($this.RevisionNumber -split ";")[0].Substring(38)
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>UpgradeCode</Name>
        <GetScriptBlock>
          ($this.RevisionNumber -split ";")[2]
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>UpgradePlatform</Name>
        <GetScriptBlock>
          ($this.LastSavedBy -split ";")[0]
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>UpgradeLanguage</Name>
        <GetScriptBlock>
          ($this.LastSavedBy -split ";")[1] -split ","
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>UpgradeProductCode</Name>
        <GetScriptBlock>
          ($this.RevisionNumber -split ";")[1].Substring(0, 38)
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>UpgradeProductVersion</Name>
        <GetScriptBlock>
          ($this.RevisionNumber -split ";")[1].Substring(38)
        </GetScriptBlock>
      </ScriptProperty>
      <ScriptProperty>
        <Name>MinimumVersion</Name>
        <GetScriptBlock>
          [Version] ("{0:0.00}" -f ($this.PageCount / 100))
        </GetScriptBlock>
      </ScriptProperty>
    </Members>
  </Type>
  <Type>
    <Name>Microsoft.Tools.WindowsInstaller.TableInfo</Name>
    <Members>
      <MemberSet>
        <Name>PSStandardMembers</Name>
        <Members>
          <NoteProperty>
            <Name>DefaultDisplayProperty</Name>
            <Value>Table</Value>
          </NoteProperty>
          <PropertySet>
            <Name>DefaultDisplayPropertySet</Name>
            <ReferencedProperties>
              <Name>Table</Name>
            </ReferencedProperties>
          </PropertySet>
          <PropertySet>
            <Name>DefaultKeyPropertySet</Name>
            <ReferencedProperties>
              <Name>Name</Name>
            </ReferencedProperties>
          </PropertySet>
        </Members>
      </MemberSet>
      <AliasProperty>
        <Name>MSIOperation</Name>
        <ReferencedMemberName>Operation</ReferencedMemberName>
      </AliasProperty>
    </Members>
  </Type>
</Types>