﻿<?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>