Delen via


Een sjabloonbestand genereren voor opdrachtregelconversies

Met het MSIX Packaging Tool kunt u de conversie op twee manieren uitvoeren: via de interactieve gebruikersinterface of via onze opdrachtregeloptie. Wanneer u de opdrachtregel gebruikt, moet u een sjabloonbestand opgeven, zodat de conversie werkt met uw specifieke instellingen en behoeften. Dit artikel helpt u bij het genereren van een sjabloonbestand dat voor u geschikt is.

Er zijn twee manieren waarop u een sjabloonbestand kunt ophalen dat geschikt is voor u:

  • U kunt de gebruikersinterface van het MSIX Packaging Tool gebruiken. In de instellingen van het hulpprogramma kunt u opgeven dat u een conversiesjabloonbestand wilt genereren met elk MSIX-pakket dat u maakt.
  • U kunt een voorbeeldsjabloon nemen en handmatig de configuraties invoeren die u nodig hebt voor elke conversie.

Een conversiesjabloonbestand genereren vanuit het MSIX Packaging Tool

  1. Start het MSIX Packaging Tool.
  2. Ga naar de instellingen in de rechterbovenhoek van de toepassing.
  3. Zorg ervoor dat de optie 'Een opdrachtregelbestand genereren met elk pakket' is geselecteerd.
  4. Breng eventuele andere wijzigingen of wijzigingen aan in uw instellingen die u nodig hebt (bijvoorbeeld uitsluitingsitems, afsluitcodes).
  5. Sla de instellingen op
  6. Doorloop de werkstroom van het toepassingspakket met behulp van een installatieprogramma.
    • Als u geen installatieprogramma selecteert, kunt u geen conversiesjabloonbestand genereren.
    • Als u een exe gebruikt, moet u een stille vlag doorgeven aan het installatieprogramma om het conversiesjabloonbestand te genereren.
  7. Aan het einde van de conversie hebt u een sjabloonbestand geconfigureerd op basis van het installatieprogramma dat u hebt gekozen en uw huidige instellingen die u nu opnieuw kunt gebruiken voor toekomstige conversies.
    • Standaard wordt het conversiesjabloonbestand opgeslagen op dezelfde locatie als uw MSIX-pakket, maar u kunt een afzonderlijke opslaglocatie opgeven voor uw sjabloonbestand op de pagina Pakket maken.
    • U moet nog steeds enkele wijzigingen aanbrengen op basis van de MSIX die u aan het einde van elke conversie wilt uitvoeren.

Het conversiesjabloonbestand handmatig bewerken

U kunt de sjabloonparameters voor het conversiesjabloonbestand handmatig bewerken om een sjabloonbestand te genereren dat voor u geschikt is. Let bij het genereren van het conversiesjabloonbestand op welke functies u aan het sjabloonbestand toevoegt, omdat sommige mogelijk extra schemaverwijzingen vereisen om te kunnen werken.

Naslaginformatie over parameters voor conversiesjablonen

Hier volgt de volledige lijst met parameters die u kunt gebruiken in het conversiesjabloonbestand.

ConversionSettings Beschrijving
Instellingen:: AllowTelemetry [optioneel] Hiermee schakelt u telemetrielogboekregistratie in voor deze aanroep van het hulpprogramma.
Instellingen:: ApplyAllPrepareComputerFixes [optioneel] Hiermee worden alle aanbevolen oplossingen voor het voorbereiden van computers toegepast. Kan niet instellen wanneer andere kenmerken worden gebruikt.
Instellingen:: GenerateCommandLineFile [optioneel] Kopieert de invoer van het sjabloonbestand naar de map SaveLocation voor toekomstig gebruik.
Instellingen:: AllowPromptForPassword [optioneel] Hiermee wordt het hulpprogramma geïnstrueerd om de gebruiker te vragen om wachtwoorden in te voeren voor de virtuele machine en voor het handtekeningcertificaat als dit vereist is en niet is opgegeven.
Instellingen:: EnforceMicrosoftStoreVersioningRequirements [optioneel] Hiermee wordt het hulpprogramma geïnstrueerd om het pakketversiebeheerschema af te dwingen dat is vereist voor implementatie vanuit Microsoft Store en Microsoft Store voor Bedrijven.
Instellingen:: ServerPortNumber [optioneel] Wordt gebruikt bij het maken van verbinding met een externe computer. Vereist v2 van het sjabloonschema.
Instellingen:: VoegPakketIntegriteitToe [optioneel] Voegt pakketintegriteit toe aan elke gegenereerde MSIX. Vereist v5 van het sjabloonschema.
GeldigeInstallatieAfsluitCodes [optioneel] 0 of meer ValidInstallerExitCode-elementen. Vereist v2 van het sjabloonschema.
ValidInstallerExitCodes:: ValidInstallerExitCode [optioneel] Geef afsluitcodes van het installatieprogramma op waarmee het hulpprogramma mogelijk niet bekend is of waarvoor opnieuw opstarten is vereist. Vereist v2 van het sjabloonschema.
ValidInstallerExitCodes:: ValidInstallerExitCode:: Herstarten [optioneel] Geef op of een uitgangscode een herstart moet activeren tijdens de conversie. Vereist v3 van het sjabloonschema.
Uitsluitingsitems [optioneel] 0 of meer FileExclusion- of RegistryExclusion-elementen. Alle FileExclusion-elementen moeten worden weergegeven vóór alle RegistryExclusion-elementen.
ExclusionItems::FileExclusion [optioneel] Een bestand dat moet worden uitgesloten voor verpakking.
ExclusionItems::FileExclusion::ExcludePath Pad naar bestand dat moet worden uitgesloten bij het inpakken.
ExclusionItems::RegistryExclusion [optioneel] Een registersleutel die moet worden uitgesloten voor verpakking.
ExclusionItems::RegisterUitsluiting::UitsluitPad Pad naar register dat moet worden uitgesloten voor verpakking.
PrepareComputer::D isableDefragService [optioneel] Schakelt Windows Defragmenter uit terwijl de app wordt geconverteerd. Als ingesteld op false, wordt ApplyAllPrepareComputerFixes overschreven.
PrepareComputer:: Windows-zoekservice uitschakelen [optioneel] Schakelt Windows Search uit terwijl de app wordt geconverteerd. Als ingesteld op false, wordt ApplyAllPrepareComputerFixes overschreven.
PrepareComputer:: SchakelSMSHostServiceUit [optioneel] Hiermee schakelt u sms-host uit terwijl de app wordt geconverteerd. Als ingesteld op false, wordt ApplyAllPrepareComputerFixes overschreven.
PrepareComputer:: DisableWindowsUpdateService [optioneel] Schakelt Windows Update uit terwijl de app wordt geconverteerd. Als ingesteld op false, wordt ApplyAllPrepareComputerFixes overschreven.
Opslaglocatie [optioneel] Een element om de opslaglocatie van het hulpprogramma op te geven. Als dit niet is opgegeven, wordt het pakket opgeslagen onder de map Bureaublad.
SaveLocation::P ackagePath [optioneel] Het pad naar het bestand of de map waarin het resulterende MSIX-pakket wordt opgeslagen.
SaveLocation::TemplatePath [optioneel] Het pad naar het bestand of de map waarin de resulterende opdrachtregelsjabloon wordt opgeslagen.
Installatieprogramma::Path Het pad naar het installatieprogramma van de toepassing.
Installatieprogramma::Argumenten [optioneel] De argumenten die moeten worden doorgegeven aan het installatieprogramma. Het hulpprogramma voert AUTOMATISCH MSI-installatieprogramma's op de achtergrond uit met het argument '/qn /norestart INSTALLSTARTMENUSHORTCUTS=1 DISABLEADVTSHORTCUTS=1'. OPMERKING: U moet de argumenten doorgeven om af te dwingen dat het installatieprogramma op de achtergrond wordt uitgevoerd als u .exe installatieprogramma's gebruikt.
Installatieprogramma::InstallLocation [optioneel] Het volledige pad naar de hoofdmap van uw toepassing voor de geïnstalleerde bestanden als deze is geïnstalleerd (bijvoorbeeld 'C:\Program Files (x86)\MyAppInstalllocation').
Installatieprogramma::IsUnattendedInstallWithoutArgument [optioneel] Dit kenmerk moet worden gebruikt als de app een installatie zonder toezicht mogelijk maakt die geen stille argumenten gebruikt. Dit kenmerk wordt alleen gebruikt voor .exe installatieprogramma's.
Virtuele machine [optioneel] Een element dat moet worden opgegeven dat de conversie wordt uitgevoerd op een lokale virtuele machine.
VirtualMachine::Name De naam van de virtuele machine die moet worden gebruikt voor de conversieomgeving.
VirtualMachine::Username De gebruikersnaam voor de virtuele machine die moet worden gebruikt voor de conversieomgeving.
RemoteMachine [optioneel] Een element om aan te geven dat de conversie op een externe computer wordt uitgevoerd. Vereist v2 van het sjabloonschema.
RemoteMachine:: ComputerNaam De naam van de externe computer die moet worden gebruikt voor de conversieomgeving. Vereist v2 van het sjabloonschema.
RemoteMachine:: gebruikersnaam De gebruikersnaam voor de externe computer die moet worden gebruikt voor de conversieomgeving. Vereist v2 van het sjabloonschema.
RemoteMachine:: EnableAutoLogon [optioneel] Hiermee wordt u automatisch aangemeld bij het uitvoeren van een conversie waarvoor opnieuw opstarten op een externe computer is vereist, zodat uw conversie naadloos doorgaat. Vereist V3 van het sjabloonschema.
PackageInformation::P ackageName De pakketnaam voor uw MSIX-pakket.
PackageInformation::P ackageDisplayName De weergavenaam van het pakket voor uw MSIX-pakket.
PackageInformation::P ublisherName De Uitgever voor uw MSIX-pakket.
PackageInformation::P ublisherDisplayName De weergavenaam van Publisher voor uw MSIX-pakket.
PackageInformation::Version Het versienummer voor uw MSIX-pakket.
PackageInformation::P ackageDescription [optioneel] De beschrijving voor uw MSIX-pakket. Vereist v4 van het sjabloonschema.
PackageInformation:: MainPackageNameForModificationPackagePackage [optioneel] De naam van de pakketidentiteit van het hoofdpakket. Dit wordt gebruikt bij het maken van een wijzigingspakket dat afhankelijk is van een hoofdtoepassing (bovenliggende toepassing).
Ondertekeningsinformatie [optioneel] Een element voor het opgeven van ondertekeningsgegevens voor Device Guard-ondertekening. Vereist v4 van het sjabloonschema.
SigningInformation:: DeviceGuardSigning [optioneel] Een element voor het opgeven van apparaatbeveiligingsondertekeningsgegevens. Vereist v4 van het sjabloonschema.
DeviceGuardSigning:: TokenFile Het Azure AD-toegangstoken dat is vereist voor Device Guard-ondertekening in JSON-formaat. Vereist v4-sjabloonschema.
DeviceGuardSigning:: TimestampUrl [optioneel] Biedt een tijdstempel op het moment van ondertekening met Device Guard om ervoor te zorgen dat uw toepassing na de levensduur van het certificaat wordt geïnstalleerd. Vereist v4 van het sjabloonschema.
Toepassingen [optioneel] 0 of meer toepassingselementen om de toepassingsvermeldingen in uw MSIX-pakket te configureren.
Applicatie-ID De app-id voor uw MSIX-toepassing. Deze ID wordt gebruikt voor de toepassingsvermelding die wordt gedetecteerd en overeenkomt met de opgegeven UitvoerbareNaam. U kunt meerdere waarden voor toepassings-id's voor uitvoerbare bestanden in het pakket hebben.

Deze waarde is de unieke id van de toepassing in het pakket. Deze waarde wordt soms aangeduid als de pakket-relatieve app-id (PRAID). De id moet uniek zijn binnen het pakket (dezelfde id kan niet meer dan één keer in hetzelfde pakket worden gebruikt). De id mag echter niet wereldwijd uniek zijn. Er kan een ander pakket op het systeem zijn dat dezelfde id gebruikt.

Deze tekenreeks bevat alfanumerieke velden, gescheiden door punten. Elk veld moet beginnen met een alfabetisch ASCII-teken. U kunt deze niet gebruiken als veldwaarden: "CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8" en "LPT9".
Toepassing::DisplayName De weergavenaam van de app voor uw MSIX-pakket. Deze weergavenaam wordt gebruikt voor de gedetecteerde toepassingsvermelding die overeenkomt met de opgegeven uitvoerbarenaam
Toepassing::Uitvoerbare naam De uitvoerbare naam voor de MSIX-toepassing die wordt toegevoegd aan het pakketmanifest. De bijbehorende toepassingsvermelding wordt genegeerd als er geen toepassing met deze naam wordt gedetecteerd.
Toepassing::Beschrijving [optioneel] De beschrijving van de app voor uw MSIX-toepassing. Als deze niet wordt gebruikt, wordt de Application DisplayName gebruikt. Deze beschrijving wordt gebruikt voor de toepassingsvermelding die overeenkomt met de opgegeven ExecutableName
Capaciteiten [optioneel] 0 of meer mogelijkheidselementen om aangepaste mogelijkheden toe te voegen aan uw MSIX-pakket. De mogelijkheid 'runFullTrust' wordt standaard toegevoegd tijdens de conversie.
Mogelijkheid::Naam De mogelijkheid om toe te voegen aan uw MSIX-pakket.

Voorbeeld van conversiesjabloonbestand

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