Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Avec MSIX Packaging Tool, vous pouvez effectuer la conversion de deux manières : via l’interface utilisateur interactive ou via notre option de ligne de commande. Lorsque vous utilisez la ligne de commande, vous devez fournir un fichier de modèle afin que la conversion fonctionne avec vos paramètres et besoins spécifiques. Cet article vous guide tout au long du processus de génération d’un fichier de modèle qui fonctionne pour vous.
Il existe deux façons d’obtenir un fichier de modèle qui fonctionne pour vous :
- Vous pouvez utiliser l’interface utilisateur de MSIX Packaging Tool. Dans les paramètres de l’outil, vous pouvez spécifier que vous souhaitez générer un fichier de modèle de conversion avec chaque package MSIX que vous créez.
- Vous pouvez prendre un exemple de modèle et entrer manuellement les configurations dont vous avez besoin pour chaque conversion.
Générer un fichier de modèle de conversion à partir de l’outil d’empaquetage MSIX
- Lancez l’outil d’empaquetage MSIX.
- Accédez aux paramètres dans le coin supérieur droit de l’application.
- Vérifiez que l’option « Générer un fichier de ligne de commande avec chaque package » est sélectionnée.
- Apportez d’autres modifications ou modifications à vos paramètres dont vous avez besoin (par exemple, éléments d’exclusion, codes de sortie).
- Enregistrez les paramètres.
- Parcourez le flux de travail du package d’application à l’aide d’un programme d’installation.
- Si vous ne sélectionnez pas de programme d’installation, vous ne pourrez pas générer un fichier de modèle de conversion.
- Si vous utilisez un fichier exe, vous devez ajouter une option silencieuse à votre programme d'installation pour générer le modèle de conversion.
- À la fin de la conversion, vous disposez d’un fichier de modèle configuré en fonction du programme d’installation que vous avez choisi et de vos paramètres actuels que vous pouvez désormais réutiliser pour les futures conversions.
- Par défaut, le fichier de modèle de conversion est enregistré dans le même emplacement que votre package MSIX, mais vous pouvez spécifier un emplacement d’enregistrement distinct pour votre fichier de modèle dans la page Créer un package.
- Vous devrez toujours apporter des modifications en fonction de la sortie MSIX souhaitée à la fin de chaque conversion.
Modifier manuellement le fichier de modèle de conversion
Vous pouvez modifier manuellement les paramètres de modèle pour le fichier de modèle de conversion afin de générer un fichier de modèle qui fonctionne pour vous. Lors de la génération du fichier de modèle de conversion, faites attention aux fonctionnalités que vous ajoutez dans le fichier de modèle, car certains peuvent nécessiter des références de schéma supplémentaires pour fonctionner.
Informations de référence sur les paramètres du modèle de conversion
Voici la liste complète des paramètres que vous pouvez utiliser dans le fichier de modèle de conversion.
| ConversionSettings | Description |
|---|---|
| Paramètres :: AutoriserTélémétrie | [facultatif] Active la journalisation des données de télémétrie pour cet appel de l’outil. |
| Paramètres :: ApplyAllPrepareComputerFixes | [facultatif] Applique tous les correctifs de préparation de l’ordinateur recommandés. Impossible de définir lorsque d’autres attributs sont utilisés. |
| Paramètres :: GenerateCommandLineFile | [facultatif] Copie l’entrée de fichier de modèle dans le répertoire SaveLocation pour une utilisation ultérieure. |
| Paramètres :: AllowPromptForPassword | [facultatif] Indique à l’outil d’inviter l’utilisateur à entrer des mots de passe pour la machine virtuelle et le certificat de signature s’il est requis et non spécifié. |
| Paramètres :: AppliquerLesExigencesDeVersionnementDuMicrosoftStore | [facultatif] Indique à l’outil d’appliquer le schéma de contrôle de version de package requis pour le déploiement à partir du Microsoft Store et du Microsoft Store pour Entreprises. |
| Paramètres :: ServerPortNumber | [facultatif] Utilisé lors de la connexion à un ordinateur distant. Nécessite la version v2 du schéma de modèle. |
| Paramètres :: AddPackageIntegrity | [facultatif] Ajoute l’intégrité du package à chaque MSIX généré. Nécessite la version v5 du schéma de modèle. |
| ValidInstallerExitCodes | [facultatif] 0 ou plusieurs éléments ValidInstallerExitCode. Nécessite la version v2 du schéma de modèle. |
| ValidInstallerExitCodes :: ValidInstallerExitCode | [facultatif] Spécifiez les codes de sortie du programme d’installation que l’outil peut ne pas connaître ou exiger un redémarrage. Nécessite la version v2 du schéma de modèle. |
| ValidInstallerExitCodes :: ValidInstallerExitCode :: Redémarrage | [facultatif] Spécifiez si un code de sortie doit déclencher un redémarrage pendant la conversion. Nécessite la version v3 du schéma de modèle. |
| Éléments d'Exclusion | [facultatif] 0 ou plus d'éléments de type FileExclusion ou RegistryExclusion. Tous les éléments FileExclusion doivent apparaître avant tous les éléments RegistryExclusion. |
| ExclusionItems ::FileExclusion | [facultatif] Fichier à exclure pour l’empaquetage. |
| ExclusionItems ::FileExclusion ::ExcludePath | Chemin du fichier à exclure de l’empaquetage. |
| ExclusionItems ::RegistryExclusion | [facultatif] Clé de Registre à exclure pour le packaging. |
| ExclusionItems ::RegistryExclusion :: ExcludePath | Chemin du Registre à exclure pour le packaging. |
| PrepareComputer ::D isableDefragService | [facultatif] Désactive le défragmenteur Windows pendant la conversion de l’application. Si la valeur est false, remplace ApplyAllPrepareComputerFixes. |
| PrepareComputer :: DisableWindowsSearchService | [facultatif] Désactive La recherche Windows pendant la conversion de l’application. Si la valeur est false, remplace ApplyAllPrepareComputerFixes. |
| PrepareComputer:: DésactiverSmsHostService | [facultatif] Désactive l’hôte SMS pendant la conversion de l’application. Si la valeur est false, remplace ApplyAllPrepareComputerFixes. |
| PrepareComputer :: DisableWindowsUpdateService | [facultatif] Désactive Windows Update pendant la conversion de l’application. Si la valeur est false, remplace ApplyAllPrepareComputerFixes. |
| SaveLocation | [facultatif] Élément permettant de spécifier l’emplacement d’enregistrement de l’outil. S’il n’est pas spécifié, le package est enregistré sous le dossier Desktop. |
| SaveLocation ::P ackagePath | [facultatif] Chemin d’accès au fichier ou au dossier dans lequel le package MSIX obtenu est enregistré. |
| SaveLocation ::TemplatePath | [facultatif] Chemin d’accès au fichier ou au dossier dans lequel le modèle de ligne de commande résultant est enregistré. |
| Installer ::P ath | Chemin du programme d’installation de l’application. |
| Installer ::Arguments | [facultatif] Arguments à passer au programme d’installation. L’outil exécute automatiquement les programmes d’installation MSI en mode silencieux à l’aide de l’argument « /qn /norestart INSTALLSTARTMENUSHORTCUTS=1 DISABLEADVTSHORTCUTS=1 ». REMARQUE : vous devez transmettre les arguments pour forcer votre programme d’installation à s’exécuter en mode silencieux si vous utilisez .exe programmes d’installation. |
| Installer ::InstallLocation | [facultatif] Chemin complet du dossier racine de votre application pour les fichiers installés s’il a été installé (par exemple, « C :\Program Files (x86)\MyAppInstalllocation »). |
| Installer ::IsUnattendedInstallWithoutArgument | [facultatif] Cet attribut doit être utilisé si l’application autorise l’installation « Sans assistance » sans arguments de mode silencieux. Cet attribut est utilisé uniquement pour les programmes d’installation .exe. |
| Machine virtuelle | [facultatif] Élément à spécifier que la conversion sera exécutée sur une machine virtuelle locale. |
| VirtualMachine ::Name | Nom de la machine virtuelle à utiliser pour l’environnement de conversion. |
| VirtualMachine ::Username | Nom d’utilisateur de la machine virtuelle à utiliser pour l’environnement de conversion. |
| RemoteMachine | [facultatif] Élément à spécifier que la conversion sera exécutée sur un ordinateur distant. Nécessite la version v2 du schéma de modèle. |
| RemoteMachine :: ComputerName | Nom de l’ordinateur distant à utiliser pour l’environnement de conversion. Nécessite la version v2 du schéma de modèle. |
| RemoteMachine :: Nom d’utilisateur | Nom d’utilisateur de l’ordinateur distant à utiliser pour l’environnement de conversion. Nécessite la version v2 du schéma de modèle. |
| Machine à distance :: Activer la connexion automatique | [facultatif] Cela vous reconnectera automatiquement lors de l’exécution d’une conversion qui nécessite un redémarrage sur un ordinateur distant afin que votre conversion continue en toute transparence. Nécessite la version V3 du schéma de modèle. |
| PackageInformation ::P ackageName | Nom de votre package MSIX. |
| PackageInformation ::P ackageDisplayName | Nom complet de votre package MSIX. |
| PackageInformation ::P ublisherName | Éditeur de votre package MSIX. |
| PackageInformation ::P ublisherDisplayName | Nom complet de l’éditeur de votre package MSIX. |
| PackageInformation ::Version | Numéro de version de votre package MSIX. |
| InformationsSurLePaquet:DescriptionDuPaquet | [facultatif] Description de votre package MSIX. Nécessite la version v4 du schéma de modèle. |
| PackageInformation :: MainPackageNameForModificationPackage | [facultatif] Nom d’identité de package du nom du package principal. Cela est utilisé lors de la création d’un package de modification qui prend une dépendance sur une application principale (parent). |
| Informations de signature | [facultatif] Élément permettant de spécifier des informations de signature pour la signature Device Guard. Nécessite la version v4 du schéma de modèle. |
| SigningInformation :: DeviceGuardSigning | [facultatif] Élément permettant de spécifier les informations de signature Device Guard. Nécessite la version v4 du schéma de modèle. |
| DeviceGuardSigning :: TokenFile | Jeton d’accès Azure AD requis pour la signature Device Guard au format JSON. Requiert un schéma de modèle v4. |
| DeviceGuardSigning :: TimestampUrl | [facultatif] Fournit un horodatage au moment de la signature avec Device Guard pour vous assurer que votre application s’installera au-delà de la durée de vie du certificat. Nécessite la version v4 du schéma de modèle. |
| Applications logicielles | [facultatif] 0 ou plusieurs éléments d’application pour configurer les entrées d’application dans votre package MSIX. |
| Application::Identifiant | ID d’application de votre application MSIX. Cet ID sera utilisé pour l’entrée d’application détectée qui correspond à l’ExécutableName spécifié. Vous pouvez avoir plusieurs valeurs d’ID d’application pour les exécutables dans le package. Cette valeur est l’identificateur unique de l’application dans le package. Cette valeur est parfois appelée identificateur d’application relatif au package (PRAID). L’ID doit être unique dans le package (le même ID ne peut pas être utilisé plusieurs fois dans le même package). Toutefois, l’ID ne doit pas être unique globalement. Il peut y avoir un autre package sur le système qui utilise le même ID. Cette chaîne contient des champs alphanumériques séparés par des points. Chaque champ doit commencer par un caractère alphabétique ASCII. Vous ne pouvez pas les utiliser comme valeurs de champ : « CON », « PRN », « AUX », « NUL », « COM1 », « COM2 », « COM3 », « COM4 », « COM5 », « COM6 », « COM7 », « COM8 », « COM9 », « LPT1 », « LPT2 », « LPT3 », « LPT4 », « LPT5 », « LPT6 », « LPT7 », « LPT8 » et « LPT9 ». |
| Application::NomAfficher | Nom d’affichage de l’application pour votre package MSIX. Ce nom d'affichage sera utilisé pour l'entrée d'application détectée qui correspond au nom exécutable spécifié. |
| Application ::ExécutableName | Nom exécutable de l’application MSIX qui sera ajouté au manifeste du package. L’entrée d’application correspondante est ignorée si aucune application portant ce nom n’est détectée. |
| Application : Description | [facultatif] Description de l’application pour votre application MSIX. Si elle n'est pas utilisée, le DisplayName de l'application sera utilisé. Cette description sera utilisée pour l’entrée d’application détectée qui correspond à l’ExécutableName spécifié |
| Capacités | [facultatif] 0 ou plusieurs éléments de fonctionnalité pour ajouter des fonctionnalités personnalisées à votre package MSIX. La fonctionnalité « runFullTrust » est ajoutée par défaut pendant la conversion. |
| Capacité::Name | Possibilité d’ajouter à votre package MSIX. |
Exemple de fichier de modèle de conversion
<MsixPackagingToolTemplate
xmlns="http://schemas.microsoft.com/appx/msixpackagingtool/template/2018"
xmlns:V2="http://schemas.microsoft.com/msix/msixpackagingtool/template/1904"
xmlns:V3="http://schemas.microsoft.com/msix/msixpackagingtool/template/1907"
xmlns:V4="http://schemas.microsoft.com/msix/msixpackagingtool/template/1910"
xmlns:V5="http://schemas.microsoft.com/msix/msixpackagingtool/template/2001">
<!--Note: You only need to include xmlns:v2 - xmlns:v5 if you are using one of the features that use those schemas -->
<Settings
AllowTelemetry="true"
ApplyAllPrepareComputerFixes="true"
GenerateCommandLineFile="true"
AllowPromptForPassword="false"
EnforceMicrosoftStoreVersioningRequirements="false"
v2:ServerPortNumber="1599"
v5:AddPackageIntegrity="true">
<!--Note: Exclusion items are optional and if declared take precedence over the default tool exclusion items
<ExclusionItems>
<FileExclusion ExcludePath="[{CryptoKeys}]" />
<FileExclusion ExcludePath="[{Common AppData}]\Microsoft\Crypto" />
<FileExclusion ExcludePath="[{Common AppData}]\Microsoft\Search\Data" />
<FileExclusion ExcludePath="[{Cookies}]" />
<FileExclusion ExcludePath="[{History}]" />
<FileExclusion ExcludePath="[{Cache}]" />
<FileExclusion ExcludePath="[{Personal}]" />
<FileExclusion ExcludePath="[{Profile}]\Local Settings" />
<FileExclusion ExcludePath="[{Profile}]\NTUSER.DAT.LOG1" />
<FileExclusion ExcludePath="[{Profile}]\ NTUSER.DAT.LOG2" />
<FileExclusion ExcludePath="[{Recent}]" />
<FileExclusion ExcludePath="[{Windows}]\debug" />
<FileExclusion ExcludePath="[{Windows}]\Logs\CBS" />
<FileExclusion ExcludePath="[{Windows}]\Temp" />
<FileExclusion ExcludePath="[{Windows}]\WinSxS\ManifestCache" />
<FileExclusion ExcludePath="[{Windows}]\WindowsUpdate.log" />
<FileExclusion ExcludePath="[{Windows}]\Installer" />
<FileExclusion ExcludePath="[{AppVPackageDrive}]\$Recycle.Bin " />
<FileExclusion ExcludePath="[{AppVPackageDrive}]\System Volume Information" />
<FileExclusion ExcludePath="[{AppVPackageDrive}]\Config.Msi" />
<FileExclusion ExcludePath="[{AppData}]\Microsoft\AppV" />
<FileExclusion ExcludePath="[{Common AppData}]\Microsoft\Microsoft Security Client" />
<FileExclusion ExcludePath="[{Common AppData}]\Microsoft\Microsoft Antimalware" />
<FileExclusion ExcludePath="[{Common AppData}]\Microsoft\Windows Defender" />
<FileExclusion ExcludePath="[{ProgramFiles}]\Microsoft Security Client" />
<FileExclusion ExcludePath="[{ProgramFiles}]\Windows Defender" />
<FileExclusion ExcludePath="[{ProgramFiles}]\WindowsApps" />
<FileExclusion ExcludePath="[{Local AppData}]\Temp" />
<FileExclusion ExcludePath="[{Local AppData}]\Microsoft\Windows" />
<FileExclusion ExcludePath="[{Local AppData}]\Packages" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Microsoft\Cryptography" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Microsoft\Microsoft Antimalware" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Microsoft\Microsoft Antimalware Setup" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Microsoft\Microsoft Security Client" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Policies\Microsoft\Microsoft Antimalware" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Streams" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Microsoft\AppV" />
<RegistryExclusion ExcludePath= "REGISTRY\MACHINE\SOFTWARE\Wow6432Node\Microsoft\AppV" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Microsoft\AppV" />
<RegistryExclusion ExcludePath= "REGISTRY\USER\[{AppVCurrentUserSID}]\Software\Wow6432Node\Microsoft\AppV" />
</ExclusionItems>
-->
<!--Note: Specifying an installer exit code will allow you to automatically trigger a reboot during your conversion
<v2:ValidInstallerExitCodes>
<V2:ValidInstallerExitCode ExitCode="3010" V3:Reboot="true"/>
<V2:ValidInstallerExitCode ExitCode="1641"/>
</v2:ValidInstallerExitCodes>
-->
</Settings>
<!--Note: this section takes precedence over the Settings::ApplyAllPrepareComputerFixes attribute and is optional
<PrepareComputer
DisableDefragService="true"
DisableWindowsSearchService="true"
DisableSmsHostService="true"
DisableWindowsUpdateService="true"/>
-->
<SaveLocation
PackagePath="C:\users\user\Desktop\MyPackage.msix"
TemplatePath="C:\users\user\Desktop\MyTemplate.xml" />
<Installer
Path="C:\MyAppInstaller.msi"
InstallLocation="C:\Program Files\MyAppInstallLocation" />
<!--NOTE: This section specifies that the conversion will be run on a local Virtual Machine. This is optional if you want to change your conversion environment from the default local machine.
<VirtualMachine Name="vmname" Username="vmusername"/>
-->
<!--NOTE: This section specifies that the conversion will be run on a remote machine.This is optional if you want to change your conversion environment from the default local machine.
<v2:RemoteMachine ComputerName="vmname" Username="vmusername" v3:EnableAutoLogon="true"/>
-->
<PackageInformation
PackageName="MyAppPackageName"
PackageDisplayName="MyApp Display Name"
PublisherName="CN=MyPublisher"
PublisherDisplayName="MyPublisher Display Name"
Version="1.1.0.0"
MainPackageNameForModificationPackage="MainPackageIdentityName">
<!--Note: This is optional, if you want to sign your package with Device Guard signing
<v4:SigningInformation>
<v4:DeviceGuardSigning
Tokenfile="tokenfile.json"
TimestampUrl="https://mytimestamp.com"/>
</v4:SigningInformation>
-->
<!--NOTE: This ID will be used if the Application entry detected matches the specified ExecutableName
<Applications>
<Application
Id="MyApp1"
Description="MyApp"
DisplayName="My App"
ExecutableName="MyApp.exe"/>
</Applications>
-->
<!--NOTE: This is optional as “runFullTrust” capability is added by default during conversion
<Capabilities>
<Capability Name="runFullTrust" />
</Capabilities>
-->
</PackageInformation>
</MsixPackagingToolTemplate>