Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье перечислены сведения, которые необходимо знать перед преобразованием существующего установщика в MSIX. Возможно, вам не придется многое сделать, чтобы приложение было готово к процессу упаковки, но если любой из указанных ниже элементов применяется к приложению, необходимо решить его перед упаковкой.
У приложения есть служба. Мы поддерживаем преобразование приложений со службами, но важно учитывать ограничения для преобразования службы. После преобразования вам потребуется повышение прав администратора для установки MSIX, содержащей службу. Приложение можно преобразовать с помощью служб, начиная с версии 1.2019.1220.0 средства упаковки MSIX, и развернуть MSIX с службами, начиная с весеннего обновления 2020 года Windows 10.
Для установщика требуется перезапуск. Если для установщика требуется перезапуск, это поддерживается в средстве упаковки MSIX, начиная с версии 1.2019.701.0. Если установщик возвращает необычный код выхода, чтобы указать, что требуется перезапуск, необходимо добавить его в раздел кодов завершения перезапуска параметров средства упаковки MSIX.
Для приложения .NET требуется версия .NET Framework ранее 4.6.2. Если вы упаковывают приложение .NET, рекомендуется использовать .NET Framework 4.6.2 или более поздней версии. Возможность установки и запуска упакованных классических приложений была впервые представлена в Windows 10 версии 1607 (также называемой юбилейным обновлением), и эта версия ОС включает .NET Framework 4.6.2 по умолчанию. Более поздние версии ОС включают более поздние версии .NET Framework. Полный список версий .NET, включенных в более поздние версии Windows 10, см. в этой статье.
Ожидается, что в большинстве случаев использование версий платформы .NET Framework ранее 4.6.2 в упакованных настольных приложениях будет работать. Однако если вы нацелены на более раннюю версию, чем 4.6.2, необходимо полностью протестировать упакованое классическое приложение, прежде чем распространять его пользователям.
4.0 — 4.6.1. Приложения, предназначенные для этих версий .NET Framework, должны выполняться без проблем в версии 4.6.2 или более поздней версии. Поэтому эти приложения должны устанавливать и запускаться без изменений в Windows 10 версии 1607 или более поздней версии с версией .NET Framework, которая входит в состав ОС.
2.0 и 3.5. В нашем тестировании упакованные классические приложения, предназначенные для этих версий .NET Framework, как правило, работают, но могут столкнуться с проблемами производительности в некоторых сценариях. Чтобы эти упакованные приложения устанавливали и запускали, на целевом компьютере должна быть установлена функция .NET Framework 3.5 (эта функция также включает .NET Framework 2.0 и 3.0). Вы также должны тщательно протестировать эти приложения после их упаковки.
Для приложения требуется драйвер. MSIX не поддерживает драйверы.
Приложение записывает данные в папку AppData или в реестр с намерением совместного использования данных с другим приложением. После преобразования AppData перенаправляется в локальное хранилище данных приложения, которое является частным хранилищем для каждого приложения.
Все записи, записываемые вашим приложением в куст реестра HKEY_LOCAL_MACHINE, перенаправляются в отдельный двоичный файл, а все записи, записываемые вашим приложением в куст реестра HKEY_CURRENT_USER, помещаются в частное расположение для каждого пользователя и приложения. Дополнительные сведения о перенаправлении файлов и реестра см. в разделе "За кулисами" моста для настольных компьютеров.
Ваше приложение записывает в каталог, в который оно установлено. Например, приложение записывает в файл журнала, который вы помещаете в тот же каталог, что и exe. Это не поддерживается, так как папка защищена. Мы рекомендуем записать данные в другое место, например в локальное хранилище данных приложения. Мы добавили возможность, которая позволяет это в 1809 и более поздних версиях.
Приложение использует текущий рабочий каталог. Во время выполнения ваше упакованное настольное приложение не получит тот же рабочий каталог, который был ранее указан в ярлыке .LNK. Необходимо изменить CWD во время выполнения, если для правильной работы приложения важно иметь правильный каталог.
Приложение устанавливает и загружает сборки из параллельной папки Windows. Например, приложение использует библиотеки среды выполнения C VC8 или VC9 и динамически связывает их из параллельной папки Windows, то есть код использует общие DLL-файлы из общей папки, например C:\Windows\WinSxSS. Это не поддерживается. Вам потребуется статически связать их, напрямую включив распространяемые файлы библиотеки в код.
Другие вопросы
Перепаковка установщика для правильной архитектуры. Если установщик предназначен для установки на компьютере x86. Обязательно перепакуйте установщик на компьютере x86. Это применимо для установщика, предназначенного для компьютеров x64.
Замечание
Если вашему приложению необходимо записать данные в каталог установки или использовать текущий рабочий каталог, вы также можете добавить исправление для среды выполнения с помощью Платформы Поддержки Пакетов в ваш пакет. Дополнительные сведения см. в этой статье.