Urychlovače

Akcelerátor poskytuje efektivní způsob převodu starších aplikací (aplikací) do formátu MSIX. Skládá se z důležitých informací týkajících se balíčku (aplikace); operačního systému, ke kterému dochází k převodu; a kroky potřebné k opravě balíčku pro správné fungování převedeného MSIX.

Požadavky

Pokud chcete akcelerátory vyzkoušet v buildu Preview s dřívějším přístupem, připojte se k programu MSIX Packaging Tool Insider.

Vytvoření akcelerátoru

Pokud chcete zobrazit strukturu akcelerátoru a použít ji k vytvoření vlastního akcelerátoru, podívejte se na ukázkové akcelerátory v úložišti MSIX-Labs na GitHubu.

Definice

  • PackageName: Balíček je aplikace nebo program (Win32, WPF nebo Windows Forms aplikace), který má starší (exe, msi apod.) instalátor, který se převádí na formát MSIX.
  • PackageVersion: Verze balíčků jsou přidružené ke konkrétní verzi. V některých případech uvidíte perfektně vytvořené číslo Semantic Versioning; a v jiných případech se může zobrazit něco jiného. Toto může být řízeno daty, nebo mohou mít jiné znaky s určitým významem specifickým pro balíček.
  • PublisherName: Název původního vydavatele balíčku.
  • EligibleForConversion: Některé aplikace jsou zakázány převodu z bezpečnostních důvodů, používání ovladačů atd. Tento příznak se proto používá k určení způsobilosti k převodu. Přijaté hodnoty najdete tady.
  • ConversionStatus: Určete stav převodu aplikace. Přijaté hodnoty najdete tady.
  • SanacePřístup:
    • SequenceNumber: Určuje pořadové číslo kroku opravy. Kroky ke správné úpravě pro úspěšný převod aplikace by měly být poskytovány v chronologickém pořadí.
    • Problém:
      • Popis: Textový popis skutečného problému, ke kterým došlo při převodu. Například chyby registru nebo chyby FileCreate v nástroji Procmon.
      • Odkaz: (Volitelné pole) odkaz na dokument obsahující podrobné informace o problému.
    • Oprava:
      • FixType: Konkrétní druh kroku. Příklad – Pokud je FixType "Capability", je potřeba v tomto okamžiku přidat konkrétní schopnost. Přijaté hodnoty najdete tady.
      • Referenční informace: Odkaz na dokument obsahující podrobné informace o opravě a o tom, jak je potřeba provést. Toto pole je volitelné.
      • FixDetails: Určení konkrétního typu opravy požadovaného u konkrétního typu FixType. Příklad – Pokud je Fixtype "Závislost", pak by FixDetails měl obsahovat pole typu array nazvané "Závislosti", aby se zde vypisovaly všechny závislosti, které je nutné přidat pro aplikaci. Případy použití najdete tady.
  • MinimumPSFVersion: (Vyžaduje se pouze v případě, že alespoň jeden z FixType používá PSF nebo PackageSupportFramework). Vzhledem k tomu, že verze PSF jsou zpětně kompatibilní, bude fungovat jakákoli verze větší než tato zadaná verze.
  • AdditionalComments: Uvést další informace týkající se převodu aplikací, výhradně určených pro lidské čtení. Toto pole je volitelné.
  • Edice: Edice operačního systému. Příklad – Windows 10 Enterprise
  • MinimumOSVersion: Verze operačního systému. Příklad – 21H1. Toto pole znamená, že bude fungovat jakákoli verze vyšší než tato zadaná verze operačního systému.
  • MinimumOSBuild: Verze sestavení operačního systému. Příklad – 19043.1165. Toto pole znamená, že všechny sestavení operačního systému větší než toto zadané sestavení operačního systému bude fungovat.
  • Architektura: Architektura balíčku (aplikace). (32/64bitová verze)
  • MSIXConversionToolVersion: Verze nástroje MSIX Packaging Tool použitá k převodu. Příklad – 1.2021.709.0;
  • AcceleratorVersion: Verze použitého akcelerátoru V současné době je nejnovější verze 1.0.0.

Možnost příkazového řádku pro akcelerátory

Pro automatický převod můžete šablonu akcelerátoru vygenerovat pomocí nástroje MSIX Packaging.

  1. Ujistěte se, že je v nastavení nástroje pro balení MSIX vybraná možnost Vygenerovat soubor příkazového řádku s jednotlivými balíčky.

  2. Převeďte aplikaci pomocí nástroje MSIX Packaging a použijte akcelerátor v procesu převodu.

  3. Ve výchozím nastavení se soubor šablony převodu uloží do stejného umístění jako balíček MSIX, pokud nezadáte jiné umístění pro uložení.

  4. Spusťte MsixPackagingTool.exe v režimu se zvýšenými oprávněními.

  5. K použití akcelerační šablony spusťte následující cmdlet:

MsixPackagingTool.exe create-package --template c:\users\documents\AcceleratorTemplate.xml

Další informace o generování souboru šablony pro převody příkazového řádku najdete tady. Tady se dozvíte o parametrech, které je možné předat jako argumenty příkazového řádku .

Případy použití pro ConversionStatus

  • Úspěšné – nevyžaduje se žádná oprava
ConversionStatus: Successful - No Fix Required
  • Úspěšné – oprava je povinná.
ConversionStatus: Successful - Fix Required

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: App unable to install visual c++ dependency
    Fix:
      FixType: Dependency
      FixDetails:
        Dependencies:
          - Visual C++
  • Převedeno s problémy
ConversionStatus: Converted With Issues

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Shortcut not captured
    Fix:
      FixType: EntryPoint 
      FixDetails:
        EntryPointIssue: ShortcutNotCaptured
        Solution:
          - Launch from start menu
  • Neúspěšné
ConversionStatus: Failed

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Registry errors in Procmon
  • Nemá nárok
EligibleForConversion: No - Driver Required

ConversionStatus: Not Eligible

Případy použití pro FixDetails

  • FixType: Schopnost
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Admin Access needed to run an app 
    Fix:
      FixType: Capability
      Reference: /windows/uwp/packaging/app-capability-declarations#:~:text=or%20Visual%20Studio.-,Elevation,-The%20allowElevation%20restricted
      FixDetails:
        Capabilities:
          - allowElevation
      
  • FixType: Závislost
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: The app needs a 2008 C++ to be installed in the system
      Reference: https://forums.guru3d.com/threads/problem-running-afterburner.408768/
    Fix:
      FixType: Dependency
      Reference: https://forums.guru3d.com/threads/problem-running-afterburner.408768/
      FixDetails:
        Dependencies:
          - C++ 2008 runtime 
  • FixType: Instalační cesta
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Required permissions were not granted to the VFS folder and launcher.exe was not available during msix launch
    Fix:
      FixType: InstallationPath
      Reference: /windows/msix/packaging-tool/create-app-package#package-information
      FixDetails:
        Path: C:/Users/User/AppData/Local
  • FixType: Vlastní
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description:  Chromium is downloaded as zip (not exe or msi).
    Fix:
      FixType: Custom
      FixDetails:
        Solution:
          - MSIX Packaging Tool Installation Step, Unzip the chromium.zip and then launch chrome.exe.
  • FixType: PSF
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: There were create file errors in process monitor
    Fix:
      FixType: PSF
      Reference: https://github.com/Microsoft/MSIX-PackageSupportFramework/tree/master/fixups/FileRedirectionFixup
      FixDetails:
        PSFConfig:
          applications:
            - id: LINELAUNCHER
              executable: LINE/bin/LineLauncher.exe
              workingDirectory: LINE/bin/
          processes:
            - executable: LineLauncher
              fixups:
                - dll: FileRedirectionFixup.dll
                  config:
                    redirectedPaths:
                      packageRelative:
                        - base: LINE/Data/
                          patterns:
                            - .*\.tst
                        - base: LINE/bin/
                          patterns:
                            - .*
  • FixType: Služby
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: MSIX Packaging Tool failed to convert to MSIX stating a service is running outside the package.
    Fix:
      FixType: Services
      FixDetails:
        Exclude:
          - CleanupPSvc
  • FixType: EntryPoint
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Shortcut not captured
      Reference: https://microsoft.visualstudio.com/DefaultCollection/OS/_workitems/edit/35877020
    Fix:
      FixType: EntryPoint 
      FixDetails:
        EntryPointIssue: ShortcutNotCaptured
        Solution:
          - Launch from start menu
  • FixType: InstalledLocationVirtualization
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Test Issue
    Fix:
      FixType: InstalledLocationVirtualization
      Reference: /uwp/schemas/appxpackage/uapmanifestschema/element-uap10-installedlocationvirtualization
      FixDetails:
        UpdateActionsAttributes:
          ModifiedItems: keep
          DeletedItems: reset
          AddedItems: keep
  • FixType: LoaderSearchPathOverride
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: DLL not found 
    Fix:
      FixType: LoaderSearchPathOverride
      Reference: /uwp/schemas/appxpackage/uapmanifestschema/element-uap6-loadersearchpathoverride
      FixDetails:
        FolderPaths: 
          - VFS\ProgramFilesX64\LINE\lib
          - VFS\ProgramFilesX64\LINE\bin

Přijaté hodnoty pro EligibleForConversion

  • Ano
  • Ne
  • Ne – vyžaduje se ovladač.

Přijaté hodnoty pro ConversionStatus

  • Úspěšné – nevyžaduje se žádná oprava

  • Úspěšné – oprava je povinná.

  • Převedeno s problémy

  • Neúspěšné

  • Nemá nárok

Vztah mezi EligibleForConversion a ConversionStatus

ZpůsobilýProKonverzi Stav převodu
Ano Úspěšné – Oprava nevyžadována, Úspěšná – Oprava požadovaná, Převedeno s problémy
Ne Neúspěšné, nepřípustné
Ne – vyžaduje se ovladač. Nemá nárok

Přijaté hodnoty pro FixType

Přípustné hodnoty Definice
Schopnost* Potřebné možnosti (např. allowElevation, uiAccess atd.), aby aplikace MSIX fungovala. Přidání do AppManifestu nebo prostřednictvím stránky Schopností v nástroji pro balení MSIX během převodu. Další podrobnosti najdete tady.
Závislost Potřebné závislosti (např. C++ 2008 Redistributable x86) pro fungování aplikace MSIX. Externí stažení v prostředí operačního systému.
Instalační cesta Používá se k vlastnímu nastavení umístění instalačního programu exe/msi pro případ, že nainstaluje data mimo výchozí složku (Program Files). Během převodu je potřeba přidat cestu na stránce „Informace o balíčku“ v nástroji MSIX packaging. Další podrobnosti najdete tady.
Na zakázku Opravy, které musí uživatel provést ručně, aby opravil aplikaci MSIX. Příklad: Změna sekvence ID aplikace v manifestu aplikace.
PSV* Přidání oprav architektury podpory balíčků (Eg: FileRedirectionFixup) pro opravu aplikace MSIX. Uživatel musí vytvořit config.json a přidat ho a další potřebné knihovny DLL v balíčku během převodu. Další podrobnosti najdete tady. Autor akcelerátoru musí poskytnout ekvivalent yaml config.json v poli PSFConfig.
Služby Služby, které je potřeba zahrnout nebo vyloučit, aby aplikace MSIX fungovala. Během převodu je potřeba specifikovat ve zprávě o službě nástroje pro balení MSIX. Další podrobnosti najdete tady.
Vstupní bod Oprava problémů souvisejících s EntryPointem (např. ShortcutNotCaptured). Další podrobnosti najdete tady.
InstalledLocationVirtualization* Jedná se o rozšíření, které přesměruje všechny zápisy do instalačního adresáře aplikace do umístění v datech aplikace. Další podrobnosti najdete tady a tady . Výchozí hodnoty pro ModifiedItems, DeletedItems a AddedItems jsou zachovány, resetovat a uchovávat v uvedeném pořadí.
LoaderSearchPathOverride* Jedná se o rozšíření, které umožňuje vývojáři aplikací deklarovat cestu v balíčku aplikace vzhledem ke kořenové cestě balíčku aplikace, aby byla zahrnuta do vyhledávací cesty zavaděče pro procesy aplikace. Autor akcelerátoru musí poskytnout seznam cest, které se mají zahrnout. Další podrobnosti najdete tady.

Poznámka:

Nástroj MSIX Packaging tool automaticky podporuje akceptované typy FixType označené hvězdičkou (*).