Akselerator

Akselerator menyediakan cara yang efisien untuk mengonversi aplikasi warisan (aplikasi) ke format MSIX. Ini terdiri dari info penting mengenai: paket (aplikasi); sistem operasi (OS) tempat konversi terjadi; dan langkah-langkah yang diperlukan untuk memperbaiki paket untuk berfungsinya MSIX yang dikonversi.

Prasyarat

Untuk mencoba akselerator dalam build pratinjau akses awal, bergabunglah dengan MSIX Packaging Tool Insider Program.

Membuat akselerator

Untuk melihat struktur akselerator, dan menggunakannya untuk membangun akselerator Anda sendiri, lihat akselerator sampel di repositori MSIX-Labs GitHub.

Definisi

  • PackageName: Paket adalah aplikasi atau program (aplikasi Win32, WPF, atau Windows Forms) yang memiliki penginstal warisan (exe, msi, dll.) yang sedang dikonversi ke format MSIX.
  • PackageVersion: Versi paket dikaitkan dengan rilis tertentu. Dalam beberapa kasus, Anda akan melihat nomor Penerapan Versi Semantik yang dibentuk dengan sempurna; dan dalam kasus lain Anda mungkin melihat sesuatu yang berbeda. Ini mungkin berbasis tanggal, atau mungkin memiliki karakter lain yang memiliki arti khusus terkait paket.
  • PublisherName: Nama penerbit asli paket.
  • EligibleForConversion: Beberapa aplikasi dilarang dikonversi karena alasan keamanan, penggunaan driver, dll. Oleh karena itu, bendera ini digunakan untuk menentukan kelayakan untuk konversi. Nilai yang diterima dapat ditemukan di sini.
  • ConversionStatus: Menentukan status konversi aplikasi. Nilai yang diterima dapat ditemukan di sini.
  • RemediationApproach:
    • SequenceNumber: Menentukan nomor urut dari langkah perbaikan. Langkah-langkah untuk mengonversi aplikasi dengan sukses perlu disediakan secara berurutan.
    • Masalah:
      • Deskripsi: Deskripsi teks dari masalah aktual yang ditemui saat konversi. Misalnya, kesalahan Registry atau kesalahan FileCreate di Procmon.
      • Referensi: Tautan (Bidang Opsional) ke dokumen yang berisi informasi terperinci tentang masalah ini.
    • Perbaiki:
      • FixType: Jenis langkah tertentu. Contoh - Jika FixType adalah "Kemampuan", kemampuan tertentu perlu ditambahkan pada saat ini. Nilai yang diterima dapat ditemukan di sini.
      • Referensi: Tautan referensi ke dokumen yang berisi informasi terperinci tentang perbaikan dan bagaimana hal itu perlu dilakukan. Bidang ini bersifat opsional.
      • FixDetails: Untuk menentukan jenis perbaikan tertentu yang diperlukan di bawah FixType tertentu. Contoh - Jika Fixtype adalah "Dependensi", maka FixDetails akan memiliki bidang jenis array yang disebut "Dependensi" untuk mencantumkan semua dependensi yang perlu ditambahkan untuk aplikasi. Kasus penggunaan dapat ditemukan di sini.
  • MinimumPSFVersion: (Hanya diperlukan saat setidaknya salah satu FixType menggunakan PSF atau PackageSupportFramework). Karena rilis PSF bersifat kompatibel ke belakang, versi mana pun yang lebih tinggi dari versi yang ditentukan ini akan berfungsi.
  • AdditionalComments: Untuk mencantumkan informasi tambahan mengenai konversi aplikasi, ditujukan hanya untuk dibaca oleh manusia. Bidang ini bersifat opsional.
  • Edisi: Edisi sistem Operasi. Contoh - Windows 10 Enterprise.
  • MinimumOSVersion: Versi sistem Operasi. Contoh - 21H1. Bidang ini untuk menandakan bahwa versi apa pun yang lebih besar dari versi OS yang ditentukan ini akan berfungsi.
  • MinimumOSBuild: Versi Build Sistem Operasi. Contoh - "19043.1165". Bidang ini untuk menandakan bahwa setiap build OS yang lebih besar dari build OS yang ditentukan ini akan berfungsi.
  • Arsitektur: Arsitektur paket (aplikasi). (32/64 bit)
  • MSIXConversionToolVersion: Versi MSIX Packaging Tool yang digunakan untuk konversi. Contoh - 1.2021.709.0;
  • AcceleratorVersion: Versi akselerator yang digunakan. Saat ini versi terbaru adalah 1.0.0.

Opsi baris perintah untuk Akselerator

Untuk konversi otomatis, Anda dapat menghasilkan templat akselerator melalui alat MSIX Packaging.

  1. Pastikan bahwa opsi 'Buat file baris perintah dengan setiap paket' dipilih di Pengaturan Alat Pengemasan MSIX.

  2. Konversikan aplikasi menggunakan alat MSIX Packaging, menerapkan akselerator dalam proses konversi.

  3. Secara default, file templat konversi akan disimpan di lokasi yang sama dengan paket MSIX Anda, kecuali Anda menentukan lokasi penyimpanan yang berbeda.

  4. Jalankan MsixPackagingTool.exe dalam mode yang ditingkatkan.

  5. Jalankan cmdlet berikut untuk menggunakan templat akselerator:

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

Informasi selengkapnya tentang membuat file templat untuk konversi baris perintah di sini. Pelajari tentang parameter yang dapat diteruskan sebagai argumen baris perintah di sini.

Contoh penggunaan untuk ConversionStatus

  • Berhasil - Tidak Diperlukan Perbaikan
ConversionStatus: Successful - No Fix Required
  • Berhasil - Perbaikan Diperlukan
ConversionStatus: Successful - Fix Required

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: App unable to install visual c++ dependency
    Fix:
      FixType: Dependency
      FixDetails:
        Dependencies:
          - Visual C++
  • Konversi Mengalami Masalah
ConversionStatus: Converted With Issues

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Shortcut not captured
    Fix:
      FixType: EntryPoint 
      FixDetails:
        EntryPointIssue: ShortcutNotCaptured
        Solution:
          - Launch from start menu
  • Kegagalan
ConversionStatus: Failed

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Registry errors in Procmon
  • Tidak Memenuhi Syarat
EligibleForConversion: No - Driver Required

ConversionStatus: Not Eligible

Kasus penggunaan untuk FixDetails

  • FixType: Kemampuan
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: Dependensi
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: InstallationPath
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: Kustom
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: Layanan
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: Titik Masuk
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
  • JenisPerbaikan: VirtualisasiLokasiTerpasang
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

Nilai yang diterima untuk EligibleForConversion

  • Ya
  • Tidak.
  • Tidak diperlukan pengandar

Nilai yang diterima untuk ConversionStatus

  • Berhasil - Tidak Diperlukan Perbaikan

  • Berhasil - Perbaikan Diperlukan

  • Konversi Mengalami Masalah

  • Kegagalan

  • Tidak Memenuhi Syarat

Hubungan antara EligibleForConversion dan ConversionStatus

LayakUntukKonversi Status Konversi
Ya Berhasil - Tidak Ada Perbaikan yang Diperlukan, Berhasil - Perbaikan Diperlukan, Dikonversi dengan Kendala
Tidak. Gagal, Tidak Memenuhi Syarat
Tidak diperlukan pengandar Tidak Memenuhi Syarat

Nilai yang diterima untuk FixType

Nilai yang diterima Definisi
Kemampuan* Kemampuan yang diperlukan (misalnya: allowElevation, uiAccess dll.) agar aplikasi MSIX berfungsi. Untuk ditambahkan di AppManifest atau melalui halaman Kemampuan di alat pengemasan MSIX selama konversi. Lihat di sini untuk lebih jelasnya.
Ketergantungan Dependensi yang diperlukan (misalnya: C++ 2008 Redistributable x86) agar aplikasi MSIX berfungsi. Untuk diunduh secara eksternal di lingkungan OS.
Jalur Instalasi Digunakan untuk mengatur kustom lokasi penginstal exe/msi jika menginstal data di luar folder default (Program Files). Jalur perlu ditambahkan di halaman "Informasi Paket" di alat pengemasan MSIX selama konversi. Lihat di sini untuk lebih jelasnya.
Kustom Perbaikan yang perlu dilakukan secara manual oleh pengguna untuk memperbaiki aplikasi MSIX. Misalnya: Mengubah urutan Id Aplikasi dalam manifes aplikasi.
PSF* Menambahkan perbaikan kerangka kerja dukungan Paket (Misalnya: FileRedirectionFixup) untuk memperbaiki aplikasi MSIX. Pengguna perlu membuat config.json dan menambahkannya dan dll lain yang diperlukan dalam paket selama konversi. Lihat di sini untuk lebih jelasnya. Penulis akselerator perlu menyediakan yaml yang setara dengan config.json di bidang PSFConfig.
Layanan Layanan yang perlu disertakan/dikecualikan agar aplikasi MSIX berfungsi. Perlu menentukan dalam Laporan Layanan alat MSIX Packaging selama konversi. Lihat di sini untuk lebih jelasnya.
Titik Masuk Untuk memperbaiki masalah yang terkait dengan EntryPoint (Misalnya: ShortcutNotCaptured). Lihat di sini untuk lebih jelasnya.
LokasiTerpasangVirtualisasi* Ini adalah ekstensi yang mengalihkan penulisan apa pun dari direktori penginstalan aplikasi ke lokasi dalam data aplikasi. Lihat di sini dan di sini untuk detail selengkapnya. Nilai default bagi ModifiedItems, DeletedItems, dan AddedItems adalah tetap, atur ulang, dan tetap masing-masing.
LoaderSearchPathOverride* Ini adalah ekstensi yang memungkinkan pengembang aplikasi untuk mendeklarasikan jalur dalam paket aplikasi, relatif terhadap jalur akar paket aplikasi, untuk disertakan dalam jalur pencarian pemuat untuk proses aplikasi. Penulis akselerator perlu menyediakan daftar jalur yang akan disertakan. Lihat di sini untuk lebih jelasnya.

Nota

FixTypes yang diterima yang ditandai dengan tanda bintang (*) di atas secara otomatis didukung oleh MSIX Packaging Tool.