Créer un package d'application de bureau à l'aide de Desktop App ConverterPackage a desktop application using the Desktop App Converter

Notes

L'outil Desktop App Converter est déconseillé.The Desktop App Converter tool is deprecated. Nous vous recommandons plutôt d'utiliser MSIX Packaging Tool.We recommend that you use the MSIX Packaging Tool instead.

Icône DAC

Desktop App Converter (DAC) crée des packages pour les applications de bureau afin de les intégrer aux fonctionnalités Windows les plus récentes, comme la distribution et l'installation via le Microsoft Store.The Desktop App Converter (DAC) creates packages for desktop applications to integrate with the latest Windows features, including distribution and servicing via the Microsoft Store. Cela inclut les applications Win32 et celles que vous avez créées à l'aide de .NET 4.6.1.This includes Win32 apps and apps that you've created by using .NET 4.6.1.

Obtenir le convertisseur d’application de bureauGet the Desktop App Converter

Bien que le terme « Converter » apparaisse dans le nom de cet outil, il ne convertit pas réellement votre application.While the term "Converter" appears in the name of this tool, it doesn't actually convert your app. Votre application reste inchangée.Your application remains unchanged. Toutefois, cet outil génère un package d'application Windows avec une identité de package et la possibilité d'appeler une gamme étendue d'API WinRT.However, this tool generates a Windows app package with a package identity and the ability to call a vast range of WinRT APIs.

Vous pouvez installer ce package sur votre ordinateur de développement à l'aide de la cmdlet PowerShell Add-AppxPackage.You can install that package by using the Add-AppxPackage PowerShell cmdlet on your development machine.

Le convertisseur exécute le programme d'installation de l'application de bureau dans un environnement Windows isolé en utilisant une nouvelle image de base fournie dans le cadre du téléchargement du convertisseur.The converter runs the desktop installer in an isolated Windows environment by using a clean base image provided as part of the converter download. Il capture toutes les E/S du Registre et du système de fichier effectuées par le programme d’installation du bureau et les met sous forme de package comme partie intégrante de la sortie.It captures any registry and file system I/O made by the desktop installer and packages it as part of the output.

Important

Desktop App Converter est pris en charge à partir de la version 1607 de Windows 10.Desktop App Converter is supported on Windows 10, version 1607, and later. Vous pouvez uniquement l'utiliser dans les projets qui ciblent la Mise à jour anniversaire Windows 10 (10.0, build 14393) ou une version ultérieure dans Visual Studio.It can only be used in projects that target Windows 10 Anniversary Update (10.0; Build 14393) or a later release in Visual Studio.

DAC ne se contente pas de générer un package pour vousThe DAC does more than just generate a package for you

Voici ce qu'il peut également accomplir pour vous.Here's a few extra things it can do for you.

Windows 10 Creators UpdateWindows 10 Creators Update

✔️ Inscription automatique de vos gestionnaires d'aperçus, de miniatures et de propriétés, ainsi que des règles de pare-feu et des indicateurs d'URL.Automatically register your preview handlers, thumbnail handlers, property handlers, firewall rules, URL flags.

✔️ Inscription automatique des mappages de types de fichiers qui permettent aux utilisateurs de regrouper des fichiers à l'aide de la colonne Type de l'Explorateur de fichiers.Automatically register file type mappings that enable users to group files by using the Kind column in File Explorer.

✔️ Inscription de vos serveurs COM publics.Register your public COM servers.

Mise à jour anniversaire Windows 10 ou version ultérieureWindows 10 Anniversary Update or later

✔️ Signature automatique de votre package pour vous permettre de tester votre application.Automatically sign your package so that you can test your app.

✔️ Validation de votre application par rapport aux exigences relatives aux applications empaquetées et aux exigences du Microsoft Store.Validate your application against packaged app and Microsoft Store requirements.

Vous trouverez la liste complète des options dans la section Paramètres de ce guide.To find a complete list of options, see the Parameters section of this guide.

Si vous êtes prêt, entamons la création de votre package.If you're ready to create your package, let's start.

Commencez par préparer votre applicationFirst, prepare your application

Passez en revue ce guide avant de commencer à créer un package pour votre application : Préparer l’empaquetage d’une application de bureau.Review this guide before you begin creating a package for your application: Prepare to package a desktop application.

Assurez-vous que votre système est compatible avec le convertisseurMake sure that your system can run the converter

Assurez-vous que votre système répond aux exigences suivantes :Make sure that your system meets the following requirements:

Démarrez Desktop App ConverterStart the Desktop App Converter

  1. Téléchargez et installez Desktop App Converter.Download and install the Desktop App Converter.

  2. Exécutez Desktop App Converter en tant qu'administrateur.Run the Desktop App Converter as an administrator.

    Exécuter DAC en tant qu'administrateur

    Une fenêtre de console apparaît.A console window appears. Celle-ci vous permettra d'exécuter des commandes.You'll use that console window to run commands.

Définir quelques éléments (applications avec programme d'installation uniquement)Set a few things up (apps with installers only)

Vous pouvez passer à la section suivante si votre application ne contient pas de programme d'installation.You can skip ahead to the next section if your application doesn't have an installer.

  1. Identifiez le numéro de version de votre système d'exploitation.Identify the version number of your operating system.

    Pour ce faire, entrez winver dans la boîte de dialogue Exécuter, puis sélectionnez le bouton OK.To do that, type winver in the Run dialog box, and then choose the OK button.

    winver

    Vous trouverez la version de votre build de Windows dans la boîte de dialogue À propos de Windows.You'll find the version of your Windows build in the About Windows dialog box.

    Version de Windows 10

  2. Téléchargez l'image de base Desktop App Converter appropriée.Download the appropriate Desktop app Converter base image.

    Vérifiez que le numéro de version contenu dans le nom du fichier correspond à celui de votre build de Windows.Make sure that the version number that appears in the name of the file matches the version number of your Windows build.

    Important

    Si vous utilisez le numéro de build 15063 et que la version mineure de cette build est supérieure ou égale à .483 (par exemple : 15063.540), veillez à télécharger le fichier BaseImage-15063-UPDATE.wim.If you're using build number 15063, and the minor version of that build is equal to or greater than .483 (For example: 15063.540), make sure to download the BaseImage-15063-UPDATE.wim file. Si la version mineure de cette build est inférieure à  .483, téléchargez le fichier BaseImage-15063.wim.If the minor version of that build is less than .483, download the BaseImage-15063.wim file. Si vous avez déjà installé une version incompatible de ce fichier de base, vous pouvez y remédier.If you've already setup an incompatible version of this base file, you can fix it. Cela billet de blog décrit la procédure à suivre.This blog post explains how to do that.

  3. Placez le fichier téléchargé à un emplacement de votre ordinateur où vous pourrez ultérieurement le retrouver.Place the downloaded file anywhere on your computer where you'll be able to find it later.

  4. Dans la fenêtre de console qui apparaît au démarrage de Desktop App Converter, exécutez la commande suivante : Set-ExecutionPolicy bypass.In the console window that appeared when you started the Desktop App Converter, run this command: Set-ExecutionPolicy bypass.

  5. Configurez le convertisseur en exécutant la commande suivante : DesktopAppConverter.exe -Setup -BaseImage .\BaseImage-1XXXX.wim -Verbose.Set up the converter by running this command: DesktopAppConverter.exe -Setup -BaseImage .\BaseImage-1XXXX.wim -Verbose.

  6. Si vous y êtes invité, redémarrez votre ordinateur.Restart your computer if you're prompted to do so.

    Les messages d'état s'affichent dans la fenêtre de console au fur et à mesure que le convertisseur développe l'image de base.Status messages appear in the console window as the converter expands the base image. Si vous ne voyez pas les messages d'état, appuyez sur une touche.If you don't see any status messages, press any key. Cela peut entraîner l'actualisation du contenu de la fenêtre de console.This can cause the contents of the console window to refresh.

    messages d'état de la fenêtre de console

    Lorsque l'image de base est totalement développée, passez à la section suivante.When the base image is fully expanded, move to the next section.

Créer un package d'applicationPackage an app

Pour créer votre package d'application, exécutez la commande DesktopAppConverter.exe dans la fenêtre de console qui s'est ouverte lorsque vous avez démarré Desktop App Converter.To Package your app, run the DesktopAppConverter.exe command in the console window that opened when you started the Desktop App Converter.

Vous allez spécifier le nom de package, l'éditeur et la version de l'application à l'aide des paramètres.You'll specify the package name, publisher and version number of the application by using parameters.

Notes

Si vous avez réservé le nom de votre application dans le Microsoft Store, vous pouvez obtenir les noms du package et de l'éditeur via l'Espace partenaires.If you've reserved your app name in the Microsoft Store, you can obtain the package and publisher names by using Partner Center. Si vous prévoyez de charger une version test de votre application sur d'autres systèmes, vous pouvez fournir vos propres noms à condition que le nom d'éditeur que vous choisissez corresponde au nom figurant sur le certificat utilisé pour signer votre application.If you plan to sideload your app onto other systems, you can provide your own names for these as long as the publisher name that you choose matches the name on the certificate you use to sign your app.

Aperçu des paramètres de commandeA quick look at command parameters

Voici les paramètres requis.Here are the required parameters.

DesktopAppConverter.exe
-Installer <String>
-Destination <String>
-PackageName <String>
-Publisher <String>
-Version <Version>

Pour en savoir plus sur chacun d'entre eux, cliquez ici.You can read about each one here.

ExemplesExamples

Voici quelques méthodes courantes pour créer votre package d'application.Here's a few common ways to package your app.

Créer un package pour une application dotée d'un programme d'installation (.msi)Package an application that has an installer (.msi) file

Pointez vers le fichier d'installation à l'aide du paramètre Installer.Point to the installer file by using the Installer parameter.

DesktopAppConverter.exe -Installer C:\Installer\MyAppSetup.msi -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version 0.0.0.1

Important

Deux éléments importants sont ici à prendre en considération.There are two important things to keep in mind here. Premièrement, assurez-vous que votre programme d'installation se trouve dans un dossier indépendant et que ce dossier contient uniquement les fichiers associés à ce programme d'installation.First, make sure that your installer is located in an independent folder and that only files related to that installer are in the same folder. Le convertisseur copie l'intégralité du contenu de ce dossier dans l'environnement Windows isolé.The converter copies all of the contents of that folder to the isolated Windows environment.
Deuxièmement, si l'Espace partenaires attribue une identité qui commence par un numéro à votre package, veillez également à transmettre le paramètre -AppId, et utilisez uniquement le suffixe de la chaîne (après le point de séparation) comme valeur de ce paramètre.Secondly, if Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

Si votre programme d'installation comprend des programmes d'installation pour des bibliothèques ou des infrastructures dépendantes, vous devrez vous organiser différemment.If your installer includes installers for dependent libraries or frameworks, you might have to organize things a bit a differently. Consultez Chaînage de plusieurs programmes d'installation avec le Pont du bureau.See Chaining multiple installers with the Desktop Bridge.

Créer un package pour une application dotée d'un fichier d'installation exécutablePackage an application that has a setup executable file

Pointez vers le fichier d'installation exécutable à l'aide du paramètre Installer.Point to the setup executable by using the Installer parameter.

DesktopAppConverter.exe -Installer C:\Installer\MyAppSetup.exe -InstallerArguments "/S" -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version 0.0.0.1

Important

Si l'Espace partenaires attribue une identité qui commence par un numéro à votre package, veillez également à transmettre le paramètre -AppId, et utilisez uniquement le suffixe de la chaîne (après le point de séparation) comme valeur de ce paramètre.If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

Le paramètre InstallerArguments est facultatif.The InstallerArguments parameter is an optional parameter. Toutefois, comme Desktop App Converter a besoin de votre programme d'installation pour s'exécuter en mode sans assistance, vous devrez peut-être l'utiliser si votre application a besoin d'indicateurs muets pour s'exécuter en mode silencieux.However, because the Desktop App Converter needs your installer to run in unattended mode, you might have to use it if your application needs silent flags to run silently. L'indicateur /S est un indicateur muet très courant, mais celui que vous utilisez peut être différent selon les technologies utilisées pour créer le fichier d'installation.The /S flag is a very common silent flag, but the flag that you use might be different depending on which installer technology you used to create the setup file.

Créer un package pour une application sans programme d'installationPackage an application that doesn't have an installer

Dans cet exemple, utilisez le paramètre Installer pour pointer vers le dossier racine des fichiers de votre application.In this example, use the Installer parameter to point to the root folder of your application files.

Utilisez le paramètre AppExecutable pour pointer vers le fichier exécutable de votre application.Use the AppExecutable parameter to point to your apps executable file.

DesktopAppConverter.exe -Installer C:\Installer\MyApp\ -AppExecutable MyApp.exe -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version 0.0.0.1

Important

Si l'Espace partenaires attribue une identité qui commence par un numéro à votre package, veillez également à transmettre le paramètre -AppId, et utilisez uniquement le suffixe de la chaîne (après le point de séparation) comme valeur de ce paramètre.If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

Créer un package d'application, signer l'application puis exécuter les vérifications de validation sur le packagePackage an app, sign the app, and run validation checks on the package

Cet exemple est semblable au premier, à ceci près qu'il illustre la signature de votre application pour les tests locaux, puis la validation de votre application en fonction des exigences de l'application empaquetée et du Microsoft Store.This example is similar to first one except it shows how you can sign your application for local testing, and then validate your application against packaged app and Microsoft Store requirements.

DesktopAppConverter.exe -Installer C:\Installer\MyAppSetup.exe -InstallerArguments "/S" -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version 0.0.0.1 -MakeAppx -Sign -Verbose -Verify

Important

Si l'Espace partenaires attribue une identité qui commence par un numéro à votre package, veillez également à transmettre le paramètre -AppId, et utilisez uniquement le suffixe de la chaîne (après le point de séparation) comme valeur de ce paramètre.If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

Le paramètre Sign génère un certificat dont il se sert ensuite pour signer votre application.The Sign parameter generates a certificate and then signs your application with it. Pour exécuter votre application, vous devrez installer ce certificat.To run your app, you'll have to install that generated certificate. Pour ce faire, reportez-vous à la section Exécuter l'application empaquetée de ce guide.To learn how, see the Run the packaged app section of this guide.

Pour valider votre application, utilisez le paramètre Verify.You can validate you application by using the Verify parameter.

Aperçu des paramètres facultatifsA quick look at optional parameters

Les paramètres Sign et Verify sont facultatifs.The Sign and Verify parameters are optional. Il existe bien d'autres paramètres facultatifs.There are many more optional parameters. En voici quelques-uns parmi les plus couramment utilisés.Here are some of the more commonly used optional parameters.

[-ExpandedBaseImage <String>]
[-AppExecutable <String>]
[-AppFileTypes <String>]
[-AppId <String>]
[-AppDisplayName <String>]
[-AppDescription <String>]
[-PackageDisplayName <String>]
[-PackagePublisherDisplayName <String>]
[-MakeAppx]
[-LogFile <String>]
[<CommonParameters>]

Pour plus d'informations sur chacun d'eux, reportez-vous à la section suivante.You can read about all of them in the next section.

Informations de référence sur les paramètresParameter Reference

Voici la liste complète des paramètres (organisés par catégorie) que vous pouvez utiliser lorsque vous exécutez Desktop App Converter.Here's the complete list of parameters (organized by category) that you can use when you run the Desktop App Converter.

Vous pouvez également consulter la liste complète en exécutant la commande Get-Help dans la fenêtre de console de l'application.You can also view the entire list by running the Get-Help command in the app console window.

Paramètres d'installationSetup parameters
-Setup [<ParamètreBooléen>]-Setup [<SwitchParameter>] ObligatoireRequired Exécute DesktopAppConverter en mode installation.Runs DesktopAppConverter in setup mode. Le mode d’installation prend en charge le développement d’une image de base fournie.Setup mode supports expanding a provided base image.
-BaseImage <Chaîne>-BaseImage <String> ObligatoireRequired Chemin d’accès complet vers une image de base non développée.Full path to an unexpanded base image. Ce paramètre est obligatoire si -Setup est spécifié.This parameter is required if -Setup is specified.
-LogFile <Chaîne>-LogFile <String> FacultatifOptional Spécifie un fichier journal.Specifies a log file. S’il est omis, un emplacement temporaire du fichier journal est créé.If omitted, a log file temporary location will be created.
-NatSubnetPrefix <Chaîne>-NatSubnetPrefix <String> FacultatifOptional La valeur de préfixe à utiliser pour l’instance NAT.Prefix value to be used for the Nat instance. En règle générale, vous souhaiterez changer cela uniquement si votre ordinateur hôte est attaché à la même plage de sous-réseau que le NetNat du convertisseur.Typically, you would want to change this only if your host machine is attached to the same subnet range as the converter's NetNat. Vous pouvez interroger la configuration actuelle du convertisseur NetNat à l’aide de l’applet de commande Get-NetNat.You can query the current converter NetNat config by using the Get-NetNat cmdlet.
-NoRestart [<ParamètreBooléen>]-NoRestart [<SwitchParameter>] ObligatoireRequired N’exécutez pas de commande de redémarrage lors de l’exécution du programme d’installation (le redémarrage est nécessaire pour activer la fonctionnalité de conteneur).Don't prompt for reboot when running setup (reboot is required to enable the container feature).
Paramètres de conversionConversion parameters
-AppInstallPath <Chaîne>-AppInstallPath <String> FacultatifOptional Chemin d’accès complet au dossier racine de votre application pour les fichiers installés en cas d’installation (par exemple, « C:\Program Files (x86)\MyApp »).The full path to your application's root folder for the installed files if it were installed (e.g., "C:\Program Files (x86)\MyApp").
-Destination <Chaîne>-Destination <String> ObligatoireRequired La destination souhaitée pour la sortie d’appx du convertisseur : DesktopAppConverter peut créer cet emplacement s’il n’existe pas déjà.The desired destination for the converter's appx output - DesktopAppConverter can create this location if it doesn't already exist.
-Installer <Chaîne>-Installer <String> ObligatoireRequired Le chemin d'accès du programme d'installation de votre application doit être en mesure de s'exécuter sans assistance/silencieusement.The path to the installer for your application - must be able to run unattended/silently. Lors d'une conversion sans programme d'installation, il s'agit du chemin d'accès au répertoire racine de vos fichiers d'application.No-installer conversion, this is the path to the root directory of your application files.
-InstallerArguments <Chaîne>-InstallerArguments <String> FacultatifOptional Une liste séparée par des virgules ou une chaîne d’arguments pour forcer votre programme d’installation à s’exécuter sans assistance/silencieusement.A comma-separated list or string of arguments to force your installer to run unattended/silently. Ce paramètre est facultatif si votre programme d’installation est un fichier msi.This parameter is optional if your installer is an msi. Pour obtenir un fichier journal de votre programme d'installation, indiquez ici l'argument de journalisation du programme d'installation, et utilisez le chemin d'accès <log_folder>, qui correspond à un jeton que le convertisseur remplace par le chemin d'accès approprié.To get a log from your installer, supply the logging argument for the installer here and use the path <log_folder>, which is a token that the converter replaces with the appropriate path.

REMARQUE : les indicateurs de mode sans assistance/silencieux et les arguments de journalisation varient selon les technologies d'installation.NOTE: The unattended/silent flags and log arguments will vary between installer technologies.

Exemple d'utilisation de ce paramètre : -InstallerArguments "/silent /log <log_folder>\install.log". Autre exemple qui ne produit pas de fichier journal : -InstallerArguments "/quiet", "/norestart" Là encore, vous devez littéralement diriger les journaux vers le chemin du jeton <log_folder> si vous souhaitez que le convertisseur les capture et les placent dans le dossier journaux final.An example usage for this parameter: -InstallerArguments "/silent /log <log_folder>\install.log" Another example that doesn't produce a log file may look like: -InstallerArguments "/quiet", "/norestart" Again, you must literally direct any logs to the token path <log_folder> if you want the converter to capture it and put it in the final log folder.
-InstallerValidExitCodes <Int32>-InstallerValidExitCodes <Int32> FacultatifOptional Liste séparée par des virgules des codes de sortie qui indiquent que votre programme d'installation a été exécuté correctement (par exemple : 0, 1234, 5678).A comma-separated list of exit codes that indicate your installer ran successfully (for example: 0, 1234, 5678). Par défaut, le code est 0 pour les éléments non msi et 0, 1641, 3010 pour les éléments msi.By default this is 0 for non-msi, and 0, 1641, 3010 for msi.
-MakeAppx [<ParamètreBooléen>]-MakeAppx [<SwitchParameter>] FacultatifOptional Un commutateur qui, lorsqu’il est présent, indique à ce script d’appeler MakeAppx sur la sortie.A switch that, when present, tells this script to call MakeAppx on the output.
-MakeMSIX [<ParamètreBooléen>]-MakeMSIX [<SwitchParameter>] FacultatifOptional Commutateur qui, lorsqu'il est présent, indique à ce script d'empaqueter la sortie en tant que package MSIX.A switch that, when present, tells this script to package the output as an MSIX Package.
Paramètres d'identité du packagePackage identity parameters
-PackageName <Chaîne>-PackageName <String> ObligatoireRequired Nom de votre package d'application Windows universelleThe name of your Universal Windows App package. Si l'Espace partenaires attribue une identité qui commence par un numéro à votre package, veillez également à transmettre le paramètre -AppId, et utilisez uniquement le suffixe de la chaîne (après le point de séparation) comme valeur de ce paramètre.If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.
-Publisher <Chaîne>-Publisher <String> ObligatoireRequired L’éditeur de votre package d’application Windows universelleThe publisher of your Universal Windows App package
-Version <Version>-Version <Version> ObligatoireRequired Le numéro de version de votre package d’application Windows universelleThe version number for your Universal Windows App package
Paramètres du manifeste du packagePackage manifest parameters
-AppExecutable <Chaîne>-AppExecutable <String> FacultatifOptional Nom de l’exécutable principal de votre application (par exemple, « MyApp.exe »).The name of your application's main executable (eg "MyApp.exe"). Ce paramètre est requis pour les conversions sans programme d'installation.This parameter is required for a no-installer conversion.
-AppFileTypes <Chaîne>-AppFileTypes <String> FacultatifOptional Liste séparée par des virgules des types de fichiers auxquels l'application sera associée.A comma-separated list of file types which the application will be associated with. Exemple d'utilisation : -AppFileTypes "'.md', '.markdown'".Example usage: -AppFileTypes "'.md', '.markdown'".
-AppId <Chaîne>-AppId <String> FacultatifOptional Spécifie une valeur pour définir l'ID d'application dans le manifeste du package d'application Windows.Specifies a value to set Application Id to in the Windows app package manifest. Si elle n’est pas spécifiée, elle sera définie à la valeur transmise pour PackageName.If it is not specified, it will be set to the value passed in for PackageName. Généralement, l'utilisation de PackageName convient.In many cases, using the PackageName is fine. En revanche, si l'Espace partenaires attribue une identité qui commence par un numéro à votre package, veillez également à transmettre le paramètre -AppId, et utilisez uniquement le suffixe de la chaîne (après le point de séparation) comme valeur de ce paramètre.However, if Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.
-AppDisplayName <Chaîne>-AppDisplayName <String> FacultatifOptional Spécifie une valeur pour définir le nom complet de l'application dans le manifeste du package d'application Windows.Specifies a value to set Application Display Name to in the Windows app package manifest. Si elle n’est pas spécifiée, elle sera définie à la valeur transmise pour PackageName.If it is not specified, it will be set to the value passed in for PackageName.
-AppDescription <Chaîne>-AppDescription <String> FacultatifOptional Spécifie une valeur pour définir la description de l'application dans le manifeste du package d'application Windows.Specifies a value to set Application Description to in the Windows app package manifest. Si elle n’est pas spécifiée, elle sera définie à la valeur transmise pour PackageName.If it is not specified, it will be set to the value passed in for PackageName.
-PackageDisplayName <Chaîne>-PackageDisplayName <String> FacultatifOptional Spécifie une valeur pour définir le nom complet du package dans le manifeste du package d'application Windows.Specifies a value to set Package Display Name to in the Windows app package manifest. Si elle n’est pas spécifiée, elle sera définie à la valeur transmise pour PackageName.If it is not specified, it will be set to the value passed in for PackageName.
-PackagePublisherDisplayName <Chaîne>-PackagePublisherDisplayName <String> FacultatifOptional Spécifie une valeur pour définir le nom complet de l'éditeur du package dans le manifeste du package d'application Windows.Specifies a value to set Package Publisher Display Name to in the Windows app package manifest. Si elle n’est pas spécifiée, elle sera définie à la valeur transmise pour Publisher.If it is not specified, it will be set to the value passed in for Publisher.
Paramètres de nettoyageCleanup parameters
-Cleanup [<Option>]-Cleanup [<Option>] ObligatoireRequired Exécute le nettoyage pour les artefacts DesktopAppConverter.Runs cleanup for the DesktopAppConverter artifacts. Il existe trois options valides pour le mode de nettoyage.There are 3 valid options for the Cleanup mode.
-Cleanup All-Cleanup All Supprime toutes les images de base développées, supprime les fichiers de conversion temporaires, supprime le réseau de conteneurs et désactive la fonctionnalité Windows facultative, Conteneurs.Deletes all expanded base images, removes any temporary converter files, removes the container network, and disables the optional Windows feature, Containers.
-Cleanup WorkDirectory-Cleanup WorkDirectory ObligatoireRequired Supprime tous les fichiers de conversion temporaires.Removes all the temporary converter files.
-Cleanup ExpandedImage-Cleanup ExpandedImage ObligatoireRequired Supprime toutes les images de base développées installées sur votre ordinateur hôte.Deletes all the expanded base images installed on your host machine.
Paramètres de l'architecture du packagePackage architecture parameters
-PackageArch <Chaîne>-PackageArch <String> ObligatoireRequired Génère un package selon l’architecture spécifiée.Generates a package with the specified architecture. Les options valides sont « x86 » ou « x64 » ; par exemple, -PackageArch x86.Valid options are 'x86' or 'x64'; for example, -PackageArch x86. Ce paramètre est facultatif.This parameter is optional. Si ce paramètre n’est pas spécifié, le Convertisseur d’applications de bureau essaie de détecter automatiquement l’architecture du package.If unspecified, the DesktopAppConverter will try to auto-detect package architecture. Si la détection automatique échoue, le convertisseur choisit par défaut l’architecture x64.If auto-detection fails, it will default to x64 package.
Paramètres diversMiscellaneous parameters
-ExpandedBaseImage <Chaîne>-ExpandedBaseImage <String> FacultatifOptional Chemin d’accès complet vers une image de base déjà développée.Full path to an already expanded base image.
-LogFile <Chaîne>-LogFile <String> FacultatifOptional Spécifie un fichier journal.Specifies a log file. S’il est omis, un emplacement temporaire du fichier journal est créé.If omitted, a log file temporary location will be created.
-Sign [<ParamètreBooléen>]-Sign [<SwitchParameter>] FacultatifOptional Indique à ce script qu'il doit signer le package d'application Windows produit à l'aide d'un certificat généré à des fins de test.Tells this script to sign the output Windows app package by using a generated certificate for testing purposes. Ce commutateur doit être présent en même temps que le commutateur -MakeAppx.This switch should be present alongside the switch -MakeAppx.
<Paramètres communs><Common parameters> ObligatoireRequired Cette applet de commande prend en charge les paramètres communs : Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable et OutVariable.This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. Pour plus d’informations, consultez about_CommonParameters.For more info, see about_CommonParameters.
-Verify [<ParamètreBooléen>]-Verify [<SwitchParameter>] FacultatifOptional Commutateur qui, lorsqu'il est présent, indique à DAC de vérifier que le package d'application satisfait les exigences de l'application empaquetée et du Microsoft Store.A switch that, when present, tells the DAC to validate the app package against packaged app and Microsoft Store requirements. Le résultat obtenu est un rapport de validation « VerifyReport.xml » à afficher de préférence dans un navigateur.The result is a validation report "VerifyReport.xml", which is best visualized in a browser. Ce commutateur doit être présent en même temps que le commutateur -MakeAppx.This switch should be present alongside the switch -MakeAppx.
-PublishComRegistrations-PublishComRegistrations FacultatifOptional Analyse toutes les inscriptions COM publiques effectuées par votre programme d'installation et publie celles qui sont valides dans votre manifeste.Scans all public COM registrations made by your installer and publishes the valid ones in your manifest. N'utilisez cet indicateur que si vous souhaitez rendre ces inscriptions accessibles à d'autres applications.Use this flag only if you want to make these registrations available to other applications. Il n'est pas nécessaire d'avoir recours à cet indicateur si ces inscriptions ne doivent être utilisées que par votre application.You don't need to use this flag if these registrations will be used only by your application.

Consultez cet article pour vous assurer que vos inscriptions COM fonctionnent comme prévu après la création du package de votre application.Review this article to make sure that your COM registrations behave as you expect after you package your app.

Exécuter l'application empaquetéeRun the packaged app

Il existe deux façons d'exécuter votre application.There's two ways to run your app.

L'une d'elles consiste à ouvrir une invite de commandes PowerShell pour saisir la commande suivante : Add-AppxPackage –Register AppxManifest.xml.One way is to open a PowerShell command prompt, and then type this command: Add-AppxPackage –Register AppxManifest.xml. Il s'agit probablement du moyen le plus simple d'exécuter votre application, car vous n'êtes pas obligé de la signer.It's probably the easiest way to run your application because you don't have to sign it.

L'autre méthode consiste à signer votre application avec un certificat.Another way is to sign your application with a certificate. Si vous utilisez le paramètre sign, Desktop App Converter génère un certificat pour vous et utilise celui-ci pour signer votre application.If you use the sign parameter, the Desktop App Converter will generate one for you, and then sign your application with it. Ce fichier est nommé auto-generated.cer et il se trouve dans le dossier racine de votre application empaquetée.That file is named auto-generated.cer, and you can find it in the root folder of your packaged app.

Suivez ces étapes pour installer le certificat généré, puis exécutez votre application.Follow these steps to install the generated certificate, and then run your app.

  1. Double-cliquez sur le fichier auto-generated.cer pour installer le certificat.Double-click the auto-generated.cer file to install the certificate.

    fichier de certificat généré

    Notes

    Si vous êtes invité à entrer un mot de passe, utilisez le mot de passe par défaut « 123456 ».If you're prompted for a password, use the default password "123456".

  2. Dans la boîte de dialogue Certificat, choisissez le bouton Installer un certificat.In the Certificate dialog box, choose the Install Certificate button.

  3. Dans l'Assistant Importation du certificat, installez ce dernier sur l'Ordinateur local et placez-le dans le magasin de certificats Personnes autorisées.In the Certificate Import Wizard, install the certificate onto the Local Machine, and place the certificate into the Trusted People certificate store.

    Magasin Personnes autorisées

  4. Dans le dossier racine de votre application empaquetée, double-cliquez sur le fichier du package d'application Windows.In root folder of your packaged app, double click the Windows app package file.

    Fichier du package d'application Windows

  5. Installez l'application en sélectionnant le bouton Installer.Install the app, by choosing the Install button.

    Bouton Installer

Modifier l'application empaquetéeModify the packaged app

Vous apporterez probablement des modifications à votre application empaquetée pour corriger des bogues, ajouter des ressources visuelles ou améliorer votre application avec des expériences modernes telles que des vignettes dynamiques.You'll likely make changes to your packaged application to address bugs, add visual assets, or enhance your application with modern experiences such as live tiles.

Une fois vos modifications apportées, il n'est pas nécessaire d'exécuter à nouveau le convertisseur.After you make your changes, you don't need to run the converter again. Dans la plupart des cas, il vous suffit de créer un nouveau package de votre application à l'aide de l'outil MakeAppx et du fichier appxmanifest.xml généré par DAC pour votre application.In most cases, you can just repackage your application by using the MakeAppx tool and the appxmanifest.xml file the DAC generates for your app. Voir Générer un package d'application Windows.See Generate a Windows app package.

Notes

Si vous modifiez les paramètres de registre inscrits par votre programme d'installation, vous devrez exécuter une nouvelle fois Desktop App Converter afin de récupérer ces modifications.If you make changes to registry settings that your installer makes, you will have to run the Desktop App Converter again to pick up those changes.

Les deux sections suivantes décrivent quelques corrections facultatives que vous pouvez envisager pour l'application empaquetée.The following two sections describe a couple of optional fix-ups to the packaged application that you might consider.

Supprimer les fichiers et les clés de registre inutilesDelete unnecessary files and registry keys

Desktop App Converter utilise une approche très classique pour le filtrage des fichiers et du bruit système dans le conteneur.The desktop App Converter takes a very conservative approach to filtering out files and system noise in the container.

Si vous le souhaitez, vous pouvez consulter le dossier VFS et supprimer les fichiers dont votre programme d'installation n'a pas besoin.If you want, you can review the VFS folder and delete any files that your installer doesn't need. Vous pouvez également consulter le contenu de Reg.dat et supprimer les clés qui ne sont pas installées/utilisées par l'application.You can also review the contents of Reg.dat and delete any keys that are not installed/needed by the app.

Réparer les en-têtes PE endommagésFix corrupted PE headers

Au cours du processus de conversion, DesktopAppConverter exécute automatiquement l'outil PEHeaderCertFixTool pour réparer tous les en-têtes PE endommagés.During the conversion process, the DesktopAppConverter automatically runs the PEHeaderCertFixTool to fixup any corrupted PE headers. Toutefois, vous pouvez également exécuter PEHeaderCertFixTool sur un package d'application Windows UWP, des fichiers libres ou un fichier binaire spécifique.However, you can also run the PEHeaderCertFixTool on a UWP Windows app package, loose files, or a specific binary. Voici un exemple.Here's an example.

PEHeaderCertFixTool.exe <binary file>|<.appx package>|<folder> [/c] [/v]
 /c   -- check for corrupted certificate but do not fix (optional)
 /v   -- verbose (optional)
example1: PEHeaderCertFixTool app.exe
example2: PEHeaderCertFixTool c:\package.appx /c
example3: PEHeaderCertFixTool c:\myapp /c /v

Télémétrie d’un Convertisseur d’applications de bureauTelemetry from Desktop App Converter

Le Convertisseur d’applications de bureau peut collecter des informations sur vous et votre utilisation du logiciel et les envoyer à Microsoft.Desktop App Converter may collect information about you and your use of the software and send this info to Microsoft. Vous pouvez en savoir plus sur la collecte et l’utilisation de données de Microsoft dans la documentation des produits et dans la Déclaration de confidentialité Microsoft.You can learn more about Microsoft's data collection and use in the product documentation and in the Microsoft Privacy Statement. Vous acceptez de respecter toutes les dispositions applicables de la Déclaration de confidentialité Microsoft.You agree to comply with all applicable provisions of the Microsoft Privacy Statement.

Par défaut, la télémétrie est activée pour le Convertisseur d’applications de bureau.By default, telemetry will be enabled for the Desktop App Converter. Ajoutez la clé de Registre suivante pour configurer la télémétrie selon un paramètre de votre choix :Add the following registry key to configure telemetry to a desired setting:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DesktopAppConverter
  • Ajoutez ou modifiez la valeur DisableTelemetry à l’aide d’une valeur DWORD définie sur 1.Add or edit the DisableTelemetry value by using a DWORD set to 1.
  • Pour activer la télémétrie, supprimez la clé ou définissez la valeur sur 0.To enable telemetry, remove the key or set the value to 0.

Prise en charge linguistiqueLanguage support

Desktop App Converter ne prend pas en charge Unicode. Par conséquent, aucun caractère chinois ou caractères non ASCII ne peut être utilisés avec l’outil.The Desktop App Converter does not support Unicode; thus, no Chinese characters or non-ASCII characters can be used with the tool.

Problèmes connus avec Desktop App ConverterKnown issues with the Desktop App Converter

Erreurs E_CREATING_ISOLATED_ENV_FAILED et E_STARTING_ISOLATED_ENV_FAILEDE_CREATING_ISOLATED_ENV_FAILED and E_STARTING_ISOLATED_ENV_FAILED errors

Si vous êtes confronté à l'une de ces erreurs, assurez-vous que vous utilisez une image de base valide du Centre de téléchargement.If you receive either of these errors, make sure that you're using a valid base image from the download center. Si vous utilisez une image de base valide, essayez d'utiliser -Cleanup All dans votre commande.If you’re using a valid base image, try using -Cleanup All in your command. Si le problème persiste, envoyez-nous vos journaux à l'adresse converter@microsoft.com.If that does not work, please send us your logs at converter@microsoft.com to help us investigate.

Erreur New-ContainerNetwork : L'objet existe déjàNew-ContainerNetwork: The object already exists error

Vous pouvez être confronté à cette erreur lorsque vous configurez une nouvelle image de base.You might receive this error when you setup a new base image. Cela problème peut survenir lorsque vous utilisez une version d'évaluation de Windows Insider sur un ordinateur de développement où était auparavant installé Desktop App Converter.This can happen if you have a Windows Insider flight on a developer machine that previously had the Desktop App Converter installed.

Pour y remédier, essayez d'exécuter la commande Netsh int ipv4 reset à partir d'une invite de commandes avec élévation de privilèges, puis redémarrez votre ordinateur.To resolve this issue, try running the command Netsh int ipv4 reset from an elevated command prompt, and then reboot your machine.

Votre application .NET est compilée avec l'option de build « AnyCPU » et ne parvient pas à s'installerYour .NET application is compiled with the "AnyCPU" build option and fails to install

Ce problème peut survenir lorsque le fichier exécutable principal ou l'une de ses dépendances ont été placés n'importe où dans la hiérarchie des dossiers Programmes ou Windows\System32.This can happen if the main executable or any of the dependencies were placed anywhere in the Program Files or Windows\System32 folder hierarchy.

Pour y remédier, essayez d'utiliser un programme d'installation spécifique à votre architecture (32 bits ou 64 bits) afin de générer un package d'application Windows.To resolve this issue, try using your architecture-specific desktop installer (32 bit or 64 bit) to generate a Windows app package.

La publication d’assemblys Fusion côte à côte publics ne fonctionne pasPublishing public side-by-side Fusion assemblies won't work

Pendant l’installation, une application peut publier des assemblys Fusion côte à côte publics, accessibles à tout autre processus.During install, an application can publish public side-by-side Fusion assemblies, accessible to any other process. Lors de la création de contexte d’activation des processus, ces assemblys sont récupérés par un processus système nommé CSRSS.exe.During process activation context creation, these assemblies are retrieved by a system process named CSRSS.exe. Dans le cas d’un processus converti, la création de contexte d’activation et le chargement de modules de ces assemblys échouent.When this is done for a converted process, activation context creation and module loading of these assemblies will fail. Les assemblys Fusion côte à côte sont inscrits aux emplacements suivants :The side-by-side Fusion assemblies are registered in the following locations:

  • Registre : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\WinnersRegistry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners
  • Système de fichiers : %windir%\SideBySideFile System: %windir%\SideBySide

Il s'agit d'une limitation connue et il n'existe actuellement aucune solution de contournement.This is a known limitation and no workaround currently exists. Cela dit, les assemblys Inbox, comme ComCtl, sont livrés avec le système d'exploitation. Ainsi, la prise de dépendance sur eux est sûre.That said, Inbox assemblies, like ComCtl, are shipped with the OS, so taking a dependency on them is safe.

Erreur détectée dans XML.Error found in XML. L'attribut « Executable » n'est pas valide - La valeur « MyApp.EXE » n'est pas valide en fonction du type de ses donnéesThe 'Executable' attribute is invalid - The value 'MyApp.EXE' is invalid according to its datatype

Ce problème peut survenir lorsque l'extension .EXE des fichiers exécutables de votre application est en majuscules.This can happen if the executables in your application have a capitalized .EXE extension. La casse de cette extension n'affecte pas l'exécution de votre application, mais elle peut conduire DAC à générer cette erreur.Although, the casing of this extension shouldn't affect whether your application runs, this can cause the DAC to generate this error.

Pour remédier à ce problème, essayez de spécifier l'indicateur -AppExecutable lors de la création du package et utilisez des minuscules (« .exe ») pour l'extension de votre fichier exécutable principal (par exemple : MYAPP.exe).To resolve this issue, try specifying the -AppExecutable flag when you package, and use the lower case ".exe" as the extension of your main executable (For example: MYAPP.exe). Vous pouvez également changer la casse de tous les fichiers exécutables de votre application en passant des majuscules aux minuscules (par exemple : de .EXE à .exe).Alternately you can change the casing for all executables in your application from uppercase to lowercase (For example: from .EXE to .exe).

Signatures Authenticode endommagées ou mal forméesCorrupted or malformed Authenticode signatures

Cette section explique comment identifier les problèmes liés aux fichiers exécutables portables (PE) de votre package d'application Windows qui peuvent contenir des signatures Authenticode endommagées ou mal formées.This section contains details on how to identify issues with Portable Executable (PE) files in your Windows app package that may contain corrupted or malformed Authenticode signatures. Toute signature Authenticode non valide sur vos fichiers PE, qui peuvent être dans n'importe quel format binaire (par exemple, .exe, .dll, .chm, etc.), empêchera la signature correcte de votre package. Ce dernier ne pourra alors pas être déployé à partir d'un package d'application Windows.Invalid Authenticode signatures on your PE files, which may be in any binary format (e.g. .exe, .dll, .chm, etc.), will prevent your package from being signed properly, and thus prevent it from being deployable from an Windows app package.

L’emplacement de la signature Authenticode d’un fichier PE est spécifié par l’entrée de la table de certificats, qui se trouve dans les répertoires de données d’en-tête facultatifs, ainsi que par la table des certificats d’attribut associée.The location of the Authenticode signature of a PE file is specified by the Certificate Table entry in the Optional Header Data Directories and the associated Attribute Certificate Table. Lors de la vérification des signatures, les informations spécifiées dans ces structures sont utilisées pour localiser la signature d’un fichier PE.During signature verification, the information specified in these structures is used to locate the signature on a PE file. Si ces valeurs sont endommagées, il est possible que la signature d’un fichier paraisse non valide.If these values get corrupted then it is possible for a file to appear to be invalidly signed.

Pour que la signature Authenticode soit correcte, les conditions suivantes doivent être réunies :For the Authenticode signature to be correct, the following must be true of the Authenticode signature:

  • Le début de l’entrée WIN_CERTIFICATE dans le fichier PE ne peut pas dépasser la fin de l’exécutableThe start of the WIN_CERTIFICATE entry in the PE file cannot extend past the end of the executable
  • L’entrée WIN_CERTIFICATE doit se trouver à la fin de l’imageThe WIN_CERTIFCATE entry should be located at the end of the image
  • La taille de l’entrée WIN_CERTIFICATE doit être positiveThe size of the WIN_CERTIFICATE entry must be positive
  • L’entrée WIN_CERTIFICATE doit commencer après la structure IMAGE_NT_HEADERS32 pour les exécutables 32 bits et après la structure IMAGE_NT_HEADERS64 pour les exécutables 64 bitsThe WIN_CERTIFICATEentry must start after the IMAGE_NT_HEADERS32 structure for 32-bit executables and IMAGE_NT_HEADERS64 structure for 64-bit executables

Pour plus d’informations, reportez-vous à la spécification relative à l’exécutable portable Authenticode et à la spécification relative au format de fichier PE.For more details, please refer to the Authenticode Portal Executable specification and the PE file format specification.

Notez que SignTool.exe peut créer une liste des fichiers binaires endommagés ou mal formés lorsque vous tentez de signer un package d'application Windows.Note that SignTool.exe can output a list of the corrupted or malformed binaries when attempting to sign an Windows app package. Pour ce faire, activez la journalisation détaillée en définissant la variable d’environnement APPXSIP_LOG sur 1 (par exemple, set APPXSIP_LOG=1), puis réexécutez SignTool.exe.To do this, enable verbose logging by setting the environment variable APPXSIP_LOG to 1 (e.g., set APPXSIP_LOG=1 ) and re-run SignTool.exe.

Pour réparer ces fichiers binaires endommagés, assurez-vous qu’ils respectent les exigences ci-dessus.To fix these malformed binaries, ensure they conform to the requirements above.

Étapes suivantesNext steps

Trouvez les réponses à vos questionsFind answers to your questions

Des questions ?Have questions? Contactez-nous sur Stack Overflow.Ask us on Stack Overflow. Notre équipe supervise ces étiquettes.Our team monitors these tags. Vous pouvez également nous poser vos questions ici.You can also ask us here.

Exécutez votre application / recherchez et corrigez les problèmesRun your application / find and fix issues

Voir Exécuter, déboguer et tester une application de bureau empaquetéeSee Run, debug, and test a packaged desktop application

Distribuer votre applicationDistribute your app

Consultez Distribuer une application de bureau empaquetée.See Distribute a packaged desktop application