Создайте неподписанный пакет 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-AppxPackage -Path ".\MyEmployees.appx" -AllowUnsigned

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