Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Акселератор предоставляет эффективный способ преобразования устаревших приложений (приложений) в формат MSIX. Она состоит из важных сведений о пакете (приложении); операционная система (ОС), в которой происходит преобразование; и шаги, необходимые для исправления пакета для правильного функционирования преобразованного MSIX.
Предпосылки
Чтобы попробовать акселераторы в предварительной версии сборки с ранним доступом, присоединитесь к программе MSIX Packaging Tool Insider.
Создание акселератора
Чтобы просмотреть структуру акселератора и использовать ее для создания собственного акселератора, ознакомьтесь с примерами акселераторов в репозитории MSIX-Labs GitHub.
Определения
- PackageName: пакет — это приложение или программа (приложение Win32, WPF или Windows Forms) с устаревшим установщиком (exe, msi и т. д.), который преобразуется в формат MSIX.
- PackageVersion: версии пакетов связаны с определенным выпуском. В некоторых случаях вы увидите совершенно сформированный номер семантического версионирования, а в других случаях вы можете увидеть что-то другое. Они могут быть основаны на датах или иметь другие символы со специфическим значением для пакета.
- PublisherName: имя исходного издателя пакета.
- EligibleForConversion: некоторые приложения запрещены для преобразования по соображениям безопасности, использования драйверов и т. д. Таким образом, этот флаг используется для определения возможности преобразования. Допустимые значения можно найти здесь.
- ConversionStatus: определение состояния преобразования приложения. Допустимые значения можно найти здесь.
-
Подход к исправлению:
- SequenceNumber: определяет порядковый номер шага исправления. Шаги для успешного преобразования приложения должны быть предоставлены последовательно.
-
Проблема:
- Описание: текстовое описание фактической проблемы, возникной при преобразовании. Например, ошибки реестра или ошибки FileCreate в Procmon.
- Ссылка: (необязательное поле) ссылку на документ, содержащий подробные сведения о проблеме.
-
Исправление:
- FixType: конкретный тип шага. Пример. Если FixType — "Capability", необходимо добавить определенную возможность на этом этапе. Допустимые значения можно найти здесь.
- Справочник. Ссылка на документ, содержащий подробные сведения об исправлении и способах его выполнения. Это поле является необязательным.
- FixDetails: определение определенного типа исправления, необходимого для конкретного Объекта FixType. Пример. Если Fixtype — "Зависимость", то FixDetails будет иметь поле типа массива с именем "Зависимости", чтобы перечислить все зависимости, которые необходимо добавить для приложения. Варианты использования можно найти здесь.
- MinimumPSFVersion: (Обязательно, только если atleast один из FixType использует PSF или PackageSupportFramework). Так как выпуски PSF являются обратно совместимыми, любая версия выше указанной версии будет работать.
- Дополнительные комментарии: предоставить дополнительную информацию о преобразовании приложений, предназначенную исключительно для восприятия человеком. Это поле является необязательным.
- Edition: Выпуск операционной системы. Пример — Windows 10 Корпоративная.
- MinimumOSVersion: версия операционной системы. Пример — 21H1. Это поле означает, что любая версия, превышающая указанную версию ОС, будет работать.
- MinimumOSBuild: версия сборки операционной системы. Пример : "19043.1165". Это поле означает, что любая сборка ОС больше указанной сборки ОС будет работать.
- Архитектура: архитектура пакета (приложения). (32/64 бита)
- MSIXConversionToolVersion: версия средства упаковки MSIX, используемая для преобразования. Пример : 1.2021.709.0;
- AcceleratorVersion: версия используемого акселератора. В настоящее время последняя версия — 1.0.0.
Параметр командной строки для акселераторов
Для автоматического преобразования можно создать шаблон акселератора с помощью средства упаковки MSIX.
Убедитесь, что в параметрах средства упаковки MSIX выбран параметр "Создать файл командной строки с каждым пакетом".
Преобразуйте приложение с помощью средства упаковки MSIX, применяя акселератор в процессе преобразования.
По умолчанию файл шаблона преобразования будет сохранен в том же расположении, что и пакет MSIX, если не указать другое расположение сохранения.
Запустите MsixPackagingTool.exe в режиме с повышенными привилегиями.
Выполните следующий командлет, чтобы использовать шаблон акселератора:
MsixPackagingTool.exe create-package --template c:\users\documents\AcceleratorTemplate.xml
Дополнительные сведения о создании файла шаблона для преобразования командной строки см. здесь. Узнайте о параметрах, которые можно передать в качестве аргументов командной строки .
Сценарии использования для ConversionStatus
- Успешно. Исправление не требуется
ConversionStatus: Successful - No Fix Required
- Успешно — требуется исправление
ConversionStatus: Successful - Fix Required
RemediationApproach:
- SequenceNumber: 1
Issue:
Description: App unable to install visual c++ dependency
Fix:
FixType: Dependency
FixDetails:
Dependencies:
- Visual C++
- Преобразовано с ошибками
ConversionStatus: Converted With Issues
RemediationApproach:
- SequenceNumber: 1
Issue:
Description: Shortcut not captured
Fix:
FixType: EntryPoint
FixDetails:
EntryPointIssue: ShortcutNotCaptured
Solution:
- Launch from start menu
- Неудача
ConversionStatus: Failed
RemediationApproach:
- SequenceNumber: 1
Issue:
Description: Registry errors in Procmon
- Не подходит
EligibleForConversion: No - Driver Required
ConversionStatus: Not Eligible
Варианты использования для FixDetails
- FixType: возможность
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
- Тип исправления: зависимость
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: ПутьУстановки
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
- ТипИсправления: Пользовательский
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: Услуги
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
- ТипИсправления: ТочкаВхода
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
- ТипИсправления: ВиртуализацияУстановленногоРасположения
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
- ТипИсправления: ПереопределениеПутиЗагрузчика
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
Допустимые значения для EligibleForConversion
- Да
- нет
- Нет — требуется драйвер
Принятые значения для ConversionStatus
Успешно. Исправление не требуется
Успешно — требуется исправление
Преобразовано с ошибками
Неудача
Не подходит
Отношение между EligibleForConversion и ConversionStatus
| Допустимо для конверсии | ConversionStatus (СтатусConversionStatus) |
|---|---|
| Да | Успешно — исправление не требуется, успешно — исправление необходимо, преобразовано с проблемами |
| нет | Сбой, не соответствует требованиям |
| Нет — требуется драйвер | Не подходит |
Принятые значения для FixType
| Принятые значения | Определения |
|---|---|
| Способность* | Необходимые возможности (например, allowElevation, uiAccess и т. д.) для работы приложения MSIX. Добавление в AppManifest или страницу возможностей в средстве упаковки MSIX во время преобразования. Подробнее см. здесь. |
| Зависимость | Необходимые зависимости (например, распространяемая версия C++ 2008 x86) для работы приложения MSIX. Для скачивания вне операционной системы. |
| Путь установки | Используется для настройки расположения установщика exe/msi, если он устанавливает данные вне папки по умолчанию (Program Files). Путь необходимо добавить на странице "Сведения о пакете" в средстве упаковки MSIX во время преобразования. Подробнее см. здесь. |
| Обычай | Исправления, которые необходимо выполнить вручную пользователем, чтобы исправить приложение MSIX. Например: изменение последовательности идентификатора приложения в манифесте приложения. |
| PSF* | Добавление исправлений платформы поддержки пакетов (например: FileRedirectionFixup) для исправления приложения MSIX. Пользователь должен создать config.json и добавить его, и другие необходимые библиотеки dll, в пакет во время преобразования. Подробнее см. здесь. Автор акселератора должен предоставить yaml-эквивалент для config.json в поле PSFConfig. |
| Услуги | Службы, которые необходимо включить или исключить, чтобы приложение MSIX работало. Необходимо указать в отчете службы средства упаковки MSIX во время преобразования. Подробнее см. здесь. |
| Точка входа | Чтобы устранить проблемы, связанные с EntryPoint (например: ShortcutNotCaptured). Подробнее см. здесь. |
| УстановкаLocationVirtualization* | Это расширение, которое перенаправляет все записи из каталога установки приложения в папку данных приложения. Дополнительные сведения см. здесь и здесь . Значения по умолчанию для ModifiedItems, DeletedItems и AddedItems — сохранить, сбросить и сохранить соответственно. |
| LoaderSearchPathOverride* | Это расширение, которое позволяет разработчику приложений указывать путь в пакете приложения относительно корневого пути пакета приложения, который должен быть включен в путь поиска загрузчика для процессов приложения. Автор акселератора должен предоставить список путей, которые нужно включить. Подробнее см. здесь. |
Замечание
Принятые типы исправлений, помеченные звездочкой (*) выше, автоматически поддерживаются средством упаковки MSIX.