Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Za pomocą narzędzia do tworzenia pakietów MSIX można wykonać konwersję na dwa sposoby: za pośrednictwem interakcyjnego interfejsu użytkownika lub za pośrednictwem naszej opcji wiersza polecenia. W przypadku korzystania z wiersza polecenia należy podać plik szablonu, aby konwersja współdziałała z określonymi ustawieniami i potrzebami. Ten artykuł pomoże Ci przejść przez proces generowania pliku szablonu, który działa dla Ciebie.
Istnieją dwa sposoby uzyskiwania pliku szablonu, który działa dla Ciebie:
- Możesz użyć interfejsu użytkownika narzędzia do tworzenia pakietów MSIX. W ustawieniach narzędzia można określić, że chcesz wygenerować plik szablonu konwersji z każdym utworzonym pakietem MSIX.
- Możesz wziąć przykładowy szablon i ręcznie wprowadzić konfiguracje, których potrzebujesz dla każdej konwersji.
Generowanie pliku szablonu konwersji na podstawie narzędzia do tworzenia pakietów MSIX
- Uruchom narzędzie do tworzenia pakietów MSIX.
- Przejdź do ustawień w prawym górnym rogu aplikacji.
- Upewnij się, że wybrano opcję "Generuj plik wiersza polecenia z każdym pakietem".
- Wprowadź inne zmiany lub modyfikacje potrzebnych ustawień (np. elementów wykluczeń, kodów zakończenia).
- Zapisz ustawienia
- Zapoznaj się z przepływem pracy pakietu aplikacji przy użyciu instalatora.
- Jeśli nie wybierzesz instalatora, nie będzie można wygenerować pliku szablonu konwersji.
- Jeśli używasz pliku exe, musisz przekazać flagę dyskretną do instalatora, aby wygenerować plik szablonu konwersji.
- Na końcu konwersji zostanie skonfigurowany plik szablonu na podstawie wybranego instalatora oraz bieżące ustawienia, które można teraz ponownie użyć na potrzeby przyszłych konwersji.
- Domyślnie plik szablonu konwersji zostanie zapisany w tej samej lokalizacji co pakiet MSIX, ale możesz określić oddzielną lokalizację zapisywania pliku szablonu na stronie Tworzenie pakietu.
- Nadal trzeba będzie wprowadzić pewne modyfikacje w zależności od tego, jaki format MSIX chcesz uzyskać na końcu każdej konwersji.
Ręczne edytowanie pliku szablonu konwersji
Możesz ręcznie edytować parametry szablonu dla pliku szablonu konwersji, aby wygenerować plik szablonu, który działa dla Ciebie. Podczas generowania pliku szablonu konwersji zwróć uwagę na funkcje dodawane do pliku szablonu, ponieważ niektóre mogą wymagać dodatkowych odwołań do schematu w celu działania.
Dokumentacja parametrów szablonu konwersji
Poniżej znajduje się pełna lista parametrów, których można użyć w pliku szablonu konwersji.
| ConversionSettings | Opis |
|---|---|
| Ustawienia:: Zezwól na telemetrię | [opcjonalnie] Włącza rejestrowanie danych telemetrycznych dla tego wywołania narzędzia. |
| Ustawienia:: ApplyAllPrepareComputerFixes | [opcjonalnie] Stosuje wszystkie zalecane poprawki komputerów. Nie można ustawić, gdy są używane inne atrybuty. |
| Ustawienia:: GenerateCommandLineFile | [opcjonalnie] Kopiuje dane wejściowe pliku szablonu do katalogu SaveLocation do użytku w przyszłości. |
| Ustawienia:: AllowPromptForPassword | [opcjonalnie] Instruuje narzędzie, aby monitował użytkownika o wprowadzenie haseł dla maszyny wirtualnej i certyfikatu podpisywania, jeśli jest to wymagane i nieokreślone. |
| Ustawienia:: EgzekwujWymaganiaWersjonowaniaMicrosoftStore | [opcjonalnie] Instruuje narzędzie, aby wymusić schemat przechowywania wersji pakietów wymagany do wdrożenia ze sklepu Microsoft Store i Sklepu Microsoft dla Firm. |
| Ustawienia:: NumerPortuSerwera | [opcjonalnie] Używane podczas nawiązywania połączenia z maszyną zdalną. Wymaga wersji 2 schematu szablonu. |
| Ustawienia:: AddPackageIntegrity | [opcjonalnie] Dodaje integralność pakietu do każdego wygenerowanego pliku MSIX. Wymaga wersji 5 schematu szablonu. |
| PoprawneKodyWyjściaInstalatora | [opcjonalnie] 0 lub więcej elementów ValidInstallerExitCode. Wymaga wersji 2 schematu szablonu. |
| ValidInstallerExitCodes:: ValidInstallerExitCode | [opcjonalnie] Określ kody zakończenia instalatora, które mogą być nieznane narzędziu lub wymagają ponownego uruchomienia. Wymaga wersji 2 schematu szablonu. |
| ValidInstallerExitCodes:: ValidInstallerExitCode:: Uruchom ponownie | [opcjonalnie] Określ, czy kod zakończenia powinien wyzwolić ponowny rozruch podczas konwersji. Wymaga wersji 3 schematu szablonu. |
| Elementy wykluczeń | [opcjonalnie] 0 lub więcej elementów FileExclusion lub RegistryExclusion. Wszystkie elementy FileExclusion muszą znajdować się przed elementami RegistryExclusion. |
| ElementyWykluczenia::WykluczeniePliku | [opcjonalnie] Plik do wykluczenia na potrzeby pakowania. |
| ExclusionItems::FileExclusion::ExcludePath | Ścieżka do pliku do wykluczenia z pakietowania. |
| ElementyWykluczenia::WykluczenieRejestru | [opcjonalnie] Klucz rejestru do wykluczenia podczas pakietowania. |
| None needed as the original might be standard usage. | Ścieżka do rejestru, która ma być wykluczona przy tworzeniu pakietów. |
| PrepareComputer::D isableDefragService | [opcjonalnie] Wyłącza program Defragmentator systemu Windows podczas konwertowania aplikacji. Jeśli ustawisz na false, anulujesz działanie ApplyAllPrepareComputerFixes. |
| PrepareComputer:: DisableWindowsSearchService (Przygotuj komputer: Wyłącz usługę wyszukiwania Windows) | [opcjonalnie] Wyłącza usługę Windows Search podczas konwertowania aplikacji. Jeśli ustawisz na false, anulujesz działanie ApplyAllPrepareComputerFixes. |
| PrepareKomputer:: WyłączUsługęSmsHost | [opcjonalnie] Wyłącza hosta SMS podczas konwertowania aplikacji. Jeśli ustawisz na false, anulujesz działanie ApplyAllPrepareComputerFixes. |
| PrzygotujKomputer:: WyłączUsługęAktualizacjiWindows | [opcjonalnie] Wyłącza usługę Windows Update podczas konwertowania aplikacji. Jeśli ustawisz na false, anulujesz działanie ApplyAllPrepareComputerFixes. |
| Zapiszlokalizację | [opcjonalnie] Element określający lokalizację zapisywania narzędzia. Jeśli nie zostanie określony, pakiet zostanie zapisany w folderze Desktop. |
| SaveLocation::P ackagePath | [opcjonalnie] Ścieżka do pliku lub folderu, w którym jest zapisywany wynikowy pakiet MSIX. |
| SaveLocation::TemplatePath | [opcjonalnie] Ścieżka do pliku lub folderu, w którym jest zapisywany wynikowy szablon wiersza polecenia. |
| Instalator::P ath | Ścieżka do instalatora aplikacji. |
| Instalator::Argumenty | [opcjonalnie] Argumenty, które mają być przekazywane do instalatora. Narzędzie automatycznie uruchomi instalatory MSI w trybie dyskretnym przy użyciu argumentu "/qn /norestart INSTALLSTARTMENUSHORTCUTS=1 DISABLEADVTSHORTCUTS=1". UWAGA: Należy przekazać argumenty, aby wymusić uruchomienie instalatora w trybie cichym, jeśli używasz instalatorów .exe. |
| Instalator::InstallLocation | [opcjonalnie] Pełna ścieżka do folderu głównego aplikacji dla zainstalowanych plików, jeśli zostały zainstalowane (np. "C:\Program Files (x86)\MyAppInstalllocation"). |
| Instalator::IsUnattendedInstallWithoutArgument | [opcjonalnie] Ten atrybut powinien być używany, jeśli aplikacja zezwala na instalację nienadzorowaną bez argumentów dyskretnych. Ten atrybut jest używany tylko w przypadku instalatorów .exe. |
| Maszyna wirtualna | [opcjonalnie] Element określający, że konwersja zostanie uruchomiona na lokalnej maszynie wirtualnej. |
| VirtualMachine::Name | Nazwa maszyny wirtualnej, która ma być używana w środowisku konwersji. |
| VirtualMachine::Username | Nazwa użytkownika maszyny wirtualnej, która ma być używana w środowisku konwersji. |
| RemoteMachine | [opcjonalnie] Element określający, że konwersja zostanie uruchomiona na maszynie zdalnej. Wymaga wersji 2 schematu szablonu. |
| RemoteMachine:: ComputerName | Nazwa maszyny zdalnej, która ma być używana w środowisku konwersji. Wymaga wersji 2 schematu szablonu. |
| RemoteMachine:: Nazwa użytkownika | Nazwa użytkownika maszyny zdalnej, która ma być używana w środowisku konwersji. Wymaga wersji 2 schematu szablonu. |
| RemoteMachine:: WłączAutoLogowanie | [opcjonalnie] Spowoduje to automatyczne zalogowanie się ponownie, gdy wykonujesz konwersję wymagającą ponownego uruchomienia na maszynie zdalnej, aby twoja konwersja przebiegała bez zakłóceń. Wymaga wersji 3 schematu szablonu. |
| PackageInformation::P ackageName | Nazwa pakietu dla pakietu MSIX. |
| PackageInformation::P ackageDisplayName | Nazwa wyświetlana pakietu dla pakietu MSIX. |
| PackageInformation::P ublisherName | Wydawca pakietu MSIX. |
| PackageInformation::P ublisherDisplayName | Nazwa wyświetlana wydawcy pakietu MSIX. |
| InformacjeOPakiecie::Wersja | Numer wersji pakietu MSIX. |
| PackageInformation::P ackageDescription | [opcjonalnie] Opis pakietu MSIX. Wymaga wersji 4 schematu szablonu. |
| InformacjeOPakiecie:: GłównaNazwaPakietuDoModyfikacji | [opcjonalnie] Nazwa tożsamości głównego pakietu. Jest to używane podczas tworzenia pakietu modyfikacji, który przyjmuje zależność od głównej (nadrzędnej) aplikacji. |
| Informacje dotyczące podpisywania | [opcjonalnie] Element określający informacje dotyczące podpisywania dla funkcji Device Guard. Wymaga wersji 4 schematu szablonu. |
| Informacje o podpisie:: DeviceGuardSigning | [opcjonalnie] Element umożliwiający wskazanie informacji o podpisywaniu Device Guard. Wymaga wersji 4 schematu szablonu. |
| DeviceGuardSigning:: TokenFile | Token dostępu usługi Azure AD wymagany do podpisywania funkcji Device Guard w formacie JSON. Wymaga schematu szablonu w wersji 4. |
| DeviceGuardSigning:: TimestampUrl | [opcjonalnie] Udostępnia znacznik czasu podczas podpisywania za pomocą funkcji Device Guard, aby upewnić się, że aplikacja zostanie zainstalowana poza okresem istnienia certyfikatu. Wymaga wersji 4 schematu szablonu. |
| Aplikacje | [opcjonalnie] 0 lub więcej elementów aplikacji w celu skonfigurowania wpisów aplikacji w pakiecie MSIX. |
| Aplikacja::Id | Identyfikator aplikacji MSIX. Ten identyfikator będzie używany dla wykrytego wpisu aplikacji, który odpowiada określonej nazwie pliku wykonywalnego. W pakiecie można mieć wiele wartości identyfikatora aplikacji dla plików wykonywalnych. Ta wartość jest unikatowym identyfikatorem aplikacji w pakiecie. Ta wartość jest czasami określana jako identyfikator aplikacji względny do pakietu (PRAID). Identyfikator musi być unikatowy w pakiecie (tego samego identyfikatora nie można używać więcej niż raz w tym samym pakiecie). Jednak identyfikator nie może być unikatowy globalnie. W systemie może istnieć inny pakiet, który używa tego samego identyfikatora. Ten ciąg zawiera pola alfanumeryczne rozdzielone kropkami. Każde pole musi zaczynać się od znaku alfabetycznego ASCII. Nie można używać tych wartości jako wartości pól: "CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8" i "LPT9". |
| Application::D isplayName | Nazwa wyświetlana aplikacji dla pakietu MSIX. Ta nazwa wyświetlana będzie używana dla wpisu aplikacji wykrytego, który jest zgodny z określoną nazwą wykonywalną |
| Aplikacja::ExecutableName | Nazwa pliku wykonywalnego aplikacji MSIX, która zostanie dodana do manifestu pakietu. Odpowiedni wpis aplikacji zostanie zignorowany, jeśli nie zostanie wykryta żadna aplikacja o tej nazwie. |
| Application::D escription | [opcjonalnie] Opis aplikacji MSIX. Jeśli nie zostanie użyta, zostanie użyta nazwa wyświetlana aplikacji. Ten opis będzie używany dla wpisu aplikacji, który został wykryty i pasuje do określonej nazwy pliku wykonywalnego. |
| Możliwości | [opcjonalnie] 0 lub więcej elementów funkcji w celu dodania niestandardowych funkcji do pakietu MSIX. Funkcja "runFullTrust" jest domyślnie dodawana podczas konwersji. |
| Zdolność::Name | Możliwość dodawania elementów do pakietu MSIX. |
Przykładowy plik szablonu konwersji
<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>