﻿<?xml version="1.0" encoding="utf-8"?>
<!--Copyright, Microsoft Corporation, All rights reserved.-->
<Rule
   Name="Mt"
   PageTemplate="tool"
   DisplayName="Manifest Tool"
   SwitchPrefix="/"
   Order="30"
   xmlns="http://schemas.microsoft.com/build/2009/properties"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:sys="clr-namespace:System;assembly=mscorlib">
  <Rule.Categories>
    <Category
       Name="General"
       DisplayName="General" />
    <Category
       Name="Input and Output"
       DisplayName="Input and Output" />
    <Category
       Name="Isolated COM"
       DisplayName="Isolated COM" />
    <Category
       Name="Advanced"
       DisplayName="Advanced" />
    <Category
       Name="All Options"
       DisplayName="All Options"
       Subtype="Search" />
    <Category
       Name="Command Line"
       DisplayName="Command Line"
       Subtype="CommandLine" />
  </Rule.Categories>
  <Rule.DataSource>
    <DataSource
       Persistence="ProjectFile"
       ItemType="Manifest"
       Label=""
       HasConfigurationCondition="true" />
  </Rule.DataSource>
  <BoolProperty
     Name="SuppressStartupBanner"
     DisplayName="Suppress Startup Banner"
     Description="Runs without displaying standard Microsoft copyright data. (-nologo)"
     Category="General"
     Switch="nologo"
     F1Keyword="VC.Project.VCManifestTool.SuppressStartupBanner">
  </BoolProperty>
  <BoolProperty
     Name="VerboseOutput"
     DisplayName="Verbose Output"
     Description="Displays additional information during manifest generation. (-verbose)"
     Category="General"
     Switch="verbose"
     F1Keyword="VC.Project.VCManifestTool.VerboseOutput">
  </BoolProperty>
  <StringProperty
     Name="AssemblyIdentity"
     DisplayName="Assembly Identity"
     Description="The identity string contains the attributes of the assemblyIdentity element. (-identity:[identity string])"
     Category="General"
     Switch="identity:"
     F1Keyword="VC.Project.VCManifestTool.AssemblyIdentity">
  </StringProperty>
  <StringListProperty
     CommandLineValueSeparator=" "
     Subtype="file"
     Name="AdditionalManifestFiles"
     DisplayName="Additional Manifest Files"
     Description="Used to specify manifests that need to be processed. (-manifest [manifest1] [manifest2] ...)"
     Category="Input and Output"
     Switch="manifest"
     Separator=" "
     F1Keyword="VC.Project.VCManifestTool.AdditionalManifestFiles">
  </StringListProperty>
  <StringProperty
     Name="InputResourceManifests"
     DisplayName="Input Resource Manifests"
     Description="Input the manifest from a resource of type RT_MANIFEST with the specified id. (-inputresource:[file];#[resource ID])"
     Category="Input and Output"
     Switch="inputresource:"
     F1Keyword="VC.Project.VCManifestTool.InputResourceManifests">
  </StringProperty>
  <BoolProperty
     Name="EmbedManifest"
     DisplayName="Embed Manifest"
     Description="Specifies if the manifest file should be embedded in the assembly or created as a stand-alone file."
     Category="Input and Output"
     IncludeInCommandLine="false"
     F1Keyword="VC.Project.VCManifestTool.EmbedManifest">
    <BoolProperty.DataSource>
      <DataSource
         Persistence="ProjectFile"
         ItemType=""
         Label=""
         HasConfigurationCondition="true" />
    </BoolProperty.DataSource>
  </BoolProperty>
  <StringProperty
     Subtype="file"
     Name="OutputManifestFile"
     DisplayName="Output Manifest File"
     Description="Output the manifest to a resource of type RT_MANIFEST with the specified id. (-out:[file];#[resource ID])"
     Category="Input and Output"
     Switch="out:"
     F1Keyword="VC.Project.VCManifestTool.OutputManifestFile">
  </StringProperty>
  <StringProperty
     Subtype="file"
     Name="ResourceOutputFileName"
     DisplayName="Manifest Resource File"
     Description="Specifies the output resources file used to embed the manifest into the project output."
     Category="Input and Output"
     F1Keyword="VC.Project.VCManifestTool.ResourceOutputFileName">
    <StringProperty.DataSource>
      <DataSource
         Persistence="ProjectFile"
         ItemType="ManifestResourceCompile"
         Label=""
         HasConfigurationCondition="true" />
    </StringProperty.DataSource>
  </StringProperty>
  <BoolProperty
     Name="GenerateCatalogFiles"
     DisplayName="Generate Catalog Files"
     Description="Generates .cdf files to make catalogs. (/makecdfs)"
     Category="Input and Output"
     Switch="makecdfs"
     F1Keyword="VC.Project.VCManifestTool.GenerateCatalogFiles">
  </BoolProperty>
  <StringProperty
     Subtype="file"
     Name="DependencyInformationFile"
     DisplayName="Dependency Information File"
     Description="Specifies the dependency information file used by Visual Studio to track build dependency information for the manifest tool."
     Category="Input and Output"
     Visible="false"
     F1Keyword="VC.Project.VCManifestTool.DependencyInformationFile">
  </StringProperty>
  <StringProperty
     Name="OutputResourceManifests"
     DisplayName="Output Resource Manifests"
     Description="Output the manifest to a resource of type RT_MANIFEST with the specified id. resource_id is restricted to be a non-negative 16 bit number. (-outputresource:file[;[#]resource_id])"
     Category="Input and Output"
     Switch="outputresource:"
     Visible="false"
     F1Keyword="VC.Project.VCManifestTool.OutputResourceManifest">
  </StringProperty>
  <StringProperty
     Subtype="file"
     Name="ManifestFromManagedAssembly"
     DisplayName="Generate Manifest From ManagedAssembly"
     Description="Generates a manifest from a managed assembly. (-managedassemblyname:[file])"
     Category="Input and Output"
     Switch="managedassemblyname:"
     F1Keyword="VC.Project.VCManifestTool.ManifestFromManagedAssembly">
  </StringProperty>
  <BoolProperty
     Name="SuppressDependencyElement"
     DisplayName="Suppress Dependency Element"
     Description="Used with -managedassembly. suppresses the generation of dependency elements in the final manifest. (-nodependency)"
     Category="Input and Output"
     Switch="nodependency"
     F1Keyword="VC.Project.VCManifestTool.SuppressDependencyElement">
  </BoolProperty>
  <BoolProperty
     Name="GenerateCategoryTags"
     DisplayName="Generate Category Tags"
     Description="Used with -managedassembly. -category causes the category tags to be generated. (-category)"
     Category="Input and Output"
     Switch="category"
     F1Keyword="VC.Project.VCManifestTool.GenerateCategoryTags">
  </BoolProperty>
  <EnumProperty
     Name="EnableDpiAwareness"
     DisplayName="DPI Awareness"
     Description="Adds information to the manifest that marks the application as DPI-aware."
     Category="Input and Output"
     F1Keyword="VC.Project.VCManifestTool.EnableDPIAwareness">
    <EnumValue
       Name="false"
       Switch=""
       DisplayName="None"
       Description="">
    </EnumValue>
    <EnumValue
       Name="true"
       Switch=""
       DisplayName="High DPI Aware"
       Description="">
    </EnumValue>
    <EnumValue
       Name="PerMonitorHighDPIAware"
       Switch=""
       DisplayName="Per Monitor High DPI Aware"
       Description="">
    </EnumValue>
  </EnumProperty>
  <StringProperty
     Subtype="file"
     Name="TypeLibraryFile"
     DisplayName="Type Library File"
     Description="Specifies the type library to use for regfree COM manifest support. (-tlb:[file])"
     Category="Isolated COM"
     Switch="tlb:"
     F1Keyword="VC.Project.VCManifestTool.TypeLibraryFile">
  </StringProperty>
  <StringProperty
     Subtype="file"
     Name="RegistrarScriptFile"
     DisplayName="Registrar Script File"
     Description="Specifies the registrar script file to use for regfree COM manifest support. (-rgs:[file])"
     Category="Isolated COM"
     Switch="rgs:"
     F1Keyword="VC.Project.VCManifestTool.RegistrarScriptFile">
  </StringProperty>
  <StringProperty
     Subtype="file"
     Name="ComponentFileName"
     DisplayName="Component File Name"
     Description="Specifies the file name of the component that is built from the .tlb or .rgs specified. (-dll:[file])"
     Category="Isolated COM"
     Switch="dll:"
     F1Keyword="VC.Project.VCManifestTool.ComponentFileName">
  </StringProperty>
  <StringProperty
     Subtype="file"
     Name="ReplacementsFile"
     DisplayName="Replacements File"
     Description="Specifies the file that contains values for replaceable strings in the RGS file. (replacements:[file])"
     Category="Isolated COM"
     Switch="replacements:"
     F1Keyword="VC.Project.VCManifestTool.ReplacementsFile">
  </StringProperty>
  <BoolProperty
     Name="UpdateFileHashes"
     DisplayName="Update File Hashes"
     Description="Computes the hash of files specified in the file elements and updates the hash attribute with this value. (hashupdate:[path])"
     Category="Advanced"
     Switch="hashupdate"
     F1Keyword="VC.Project.VCManifestTool.UpdateFileHashes">
    <Argument
       Property="UpdateFileHashesSearchPath"
       IsRequired="false" />
  </BoolProperty>
  <StringProperty
     Subtype="file"
     Name="UpdateFileHashesSearchPath"
     DisplayName="Update File Hashes Search Path"
     Description="Specifies the search path to use when updating the file hashes."
     Category="Advanced"
     Separator=":"
     F1Keyword="VC.Project.VCManifestTool.UpdateFileHashesSearchPath">
  </StringProperty>
  <StringProperty
     Name="AdditionalOptions"
     DisplayName="Additional Options"
     Description="Additional Options"
     Category="Command Line"
     F1Keyword="vc.project.AdditionalOptionsPage">
  </StringProperty>
  <StringProperty
     Subtype="folder"
     Name="TrackerLogDirectory"
     DisplayName="Tracker Log Directory"
     Description="Tracker Log Directory."
     IncludeInCommandLine="false"
     Visible="false">
  </StringProperty>
</Rule>