-win32manifest (Options du compilateur C#)-win32manifest (C# Compiler Options)

Utilisez l’option -win32manifest pour spécifier un fichier manifeste d’application Win32 défini par l’utilisateur à incorporer dans le fichier exécutable portable (PE) d’un projet.Use the -win32manifest option to specify a user-defined Win32 application manifest file to be embedded into a project's portable executable (PE) file.

SyntaxeSyntax

-win32manifest: filename  

ArgumentsArguments

filename
Nom et emplacement du fichier manifeste personnalisé.The name and location of the custom manifest file.

RemarquesRemarks

Par défaut, le compilateur Visual C# incorpore un manifeste d’application qui spécifie le niveau d’exécution requis « asInvoker ».By default, the Visual C# compiler embeds an application manifest that specifies a requested execution level of "asInvoker." Il crée le manifeste dans le même dossier que celui dans lequel l’exécutable est généré, normalement le dossier bin\Debug ou bin\Release quand vous utilisez Visual Studio.It creates the manifest in the same folder in which the executable is built, typically the bin\Debug or bin\Release folder when you use Visual Studio. Pour fournir un manifeste personnalisé, par exemple pour spécifier le niveau d’exécution requis « highestAvailable » ou « requireAdministrator », utilisez cette option pour indiquer le nom du fichier.If you want to supply a custom manifest, for example to specify a requested execution level of "highestAvailable" or "requireAdministrator," use this option to specify the name of the file.

Notes

Cette option et l’option -win32res (Options du compilateur C#) s’excluent mutuellement.This option and the -win32res (C# Compiler Options) option are mutually exclusive. Si vous tentez d’utiliser ces deux options dans la même ligne de commande, une erreur de build se produira.If you try to use both options in the same command line you will get a build error.

Une application sans manifeste d’application pour spécifier le niveau d’exécution requis est soumise à une virtualisation des fichiers/registres sous la fonctionnalité de contrôle de compte d’utilisateur de Windows.An application that has no application manifest that specifies a requested execution level will be subject to file/registry virtualization under the User Account Control feature in Windows. Pour plus d’informations, consultez Contrôle de compte d’utilisateur.For more information, see User Account Control.

Votre application sera soumise à la virtualisation si l’une de ces conditions est vérifiée :Your application will be subject to virtualization if either of these conditions is true:

  • Vous utilisez l’option -nowin32manifest sans fournir de manifeste au cours d’une étape de génération ultérieure ou en tant que partie du fichier de ressources Windows (.res) à l’aide de l’option -win32res.You use the -nowin32manifest option and you do not provide a manifest in a later build step or as part of a Windows Resource (.res) file by using the -win32res option.

  • Vous fournissez un manifeste personnalisé qui ne spécifie pas le niveau d’exécution requis.You provide a custom manifest that does not specify a requested execution level.

Visual Studio crée un fichier .manifest par défaut et le stocke dans les répertoires de débogage et de mise en production avec le fichier exécutable.Visual Studio creates a default .manifest file and stores it in the debug and release directories alongside the executable file. Vous pouvez ajouter un manifeste personnalisé en en créant un dans un éditeur de texte et en ajoutant le fichier au projet.You can add a custom manifest by creating one in any text editor and then adding the file to the project. Vous pouvez également cliquer avec le bouton droit sur l’icône Projet de l’Explorateur de solutions, cliquer sur Ajouter un nouvel élément, puis sur Fichier manifeste d’application.Alternatively, you can right-click the Project icon in Solution Explorer, click Add New Item, and then click Application Manifest File. Une fois que vous avez ajouté votre fichier manifeste nouveau ou existant, il apparaît dans la liste déroulante Manifeste.After you have added your new or existing manifest file, it will appear in the Manifest drop down list. Pour plus d’informations, consultez Page Application, Concepteur de projets (C#).For more information, see Application Page, Project Designer (C#).

Vous pouvez fournir le manifeste d’application en tant qu’étape après génération personnalisée ou en tant que partie d’un fichier de ressources Win32 à l’aide de l’option -nowin32manifest (Options du compilateur C#).You can provide the application manifest as a custom post-build step or as part of a Win32 resource file by using the -nowin32manifest (C# Compiler Options) option. Utilisez cette même option pour que votre application soit soumise à la virtualisation des fichiers ou des registres dans Windows Vista.Use that same option if you want your application to be subject to file or registry virtualization on Windows Vista. Cela empêche le compilateur de créer et d’incorporer un manifeste par défaut dans le fichier exécutable portable (PE).This will prevent the compiler from creating and embedding a default manifest in the portable executable (PE) file.

ExemplesExample

L’exemple suivant présente le manifeste par défaut que le compilateur Visual C# insère dans un fichier PE.The following example shows the default manifest that the Visual C# compiler inserts into a PE.

Notes

Le compilateur ajoute un nom d’application standard « MyApplication.app » au fichier xml.The compiler inserts a standard application name " MyApplication.app " into the xml. Cela permet aux applications de s’exécuter dans Windows Server 2003 Service Pack 3.This is a workaround to enable applications to run on Windows Server 2003 Service Pack 3.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">  
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>  
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">  
    <security>  
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">  
        <requestedExecutionLevel level="asInvoker"/>  
      </requestedPrivileges>  
    </security>  
  </trustInfo>  
</assembly>  

Voir aussiSee also