Как подписать пакет MSIX с помощью сертификата, принятого в Центре разработки для Windows

Я пытаюсь опубликовать приложение в Магазине Windows с помощью Azure Pipelines, проблема в том, что самозаверяющий сертификат не принимается в магазине, а я могу опубликовать пакет с помощью Visual Studio.

Как я могу заставить это работать.

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'
    msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)" 
                  /p:AppxPackageDir="$(appxPackageDir)" 
                  /p:AppxBundle=Always
                  /p:UapAppxPackageBuildMode=StoreUpload
                  /p:AppxPackageSigningEnabled=true
                  /p:AppxPackageOutput=$(Build.ArtifactStagingDirectory)\***.msix'
  displayName: 'Package the App'


- task: store-flight@0
  inputs:
    serviceEndpoint: 'PublishToWinStore'
    appId: '***'
    flightName: 'Beta'
    packagePath: '$(Build.ArtifactStagingDirectory)\***.msix'
    force: true
    skipPolling: false

person Fahad Alshaya    schedule 26.03.2020    source источник
comment
документы. microsoft.com/en-us/windows/uwp/packaging/   -  person Access Denied    schedule 27.03.2020


Ответы (1)


Для этой проблемы, как указано в документации:

Чтобы подписать пакет MSIX (или .appx), конвейер должен получить сертификат подписи. Для этого добавьте задачу DownloadSecureFile до задачи VSBuild. Это даст вам доступ к сертификату подписи через signingCert.

- task: DownloadSecureFile@1
  name: signingCert
  displayName: 'Download CA certificate'
  inputs:
    secureFile: '[Your_Pfx].pfx'

Для получения подробной информации перейдите по ссылке, указанной в комментарии Отказано в доступе.

person Hugh Lin    schedule 27.03.2020
comment
Я использовал эту задачу и успешно подписал пакет, но при загрузке в хранилище он отклоняет пакет из-за сертификата?! - person Fahad Alshaya; 28.03.2020
comment
``` ##[error]Статус отправки приложений/***/flights/***/submissions/*** завершился с ошибкой CommitFailed ##[error]Сообщенные ошибки: ##[error] InvalidParameterValue: Недопустимое имя семейства пакетов : . (ожидаемый: .) ##[error] InvalidParameterValue: Недопустимое имя издателя пакета: CN=* **, O=***, C=SA (ожидаемый: CN=***) ##[ошибка] InvalidParameterValue: Пакеты Appx (включая ранее опубликованные и загруженные в настоящее время) должны однозначно идентифицироваться их полными именами. Вы предоставили два пакета с полным именем .0.4.24.0_Neutral, которые имеют разное содержимое. ``` - person Fahad Alshaya; 28.03.2020