Создание пакета MSIX без знака

По состоянию на Windows 11 приложение можно установить с помощью PowerShell без необходимости подписывать пакет. Эта функция предназначена для упрощения быстрого тестирования приложения. Не используйте эту функцию для широкого распространения приложения.

Создание неподписаемого пакета

Пакет без знака должен содержать специальное значение OID (идентификатор организации) в элементе Identity в файле манифеста, в противном случае не будет разрешено зарегистрировать. Неподписанный пакет никогда не будет иметь то же удостоверение, что и подписанный пакет. Это предотвращает конфликт между неподписанными пакетами или спуфингом удостоверения подписанного пакета.

Рассмотрим пример.

...
<Identity Name="NumberGuesserManifest"
  Publisher="CN=AppModelSamples, OID.2.25.311729368913984317654407730594956997722=1"
  Version="1.0.0.0" />
...

Установка неподписаемого пакета

Важно!

В большинстве случаев вам потребуется запустить PowerShell от имени администратора. Дополнительные сведения см. ниже.

  • Чтобы установить неподписанный пакет, передайте -AllowUnsigned флаг в команду Add-AppxPackage .
  • В большинстве случаев пакет без знака будет содержать исполняемое содержимое; поэтому вам потребуется запустить PowerShell от имени администратора. Это связано с тем, что для всех пользователей необходимо установить неподписанный пакет, содержащий исполняемое содержимое. Так как это может повлиять не только на текущего пользователя, он требует прав администратора.
  • Если неподписанный пакет содержит только неисполнимое содержимое (например, если требуется загрузить только изображения, ресурсы и другие файлы содержимого или файлы скриптов), то права администратора не требуются, а администратор может установить пакет.

Ниже приведен пример синтаксиса.

Add-AppPackage -Path ".\MyEmployees.appx" -AllowUnsigned

Когда приложение будет готово к распространению, необходимо убедиться, что пакет подписан. Обязательно удалите специальный OID и убедитесь, что имя издателя совпадает с именем субъекта сертификата.