Как заставить установщик приложений MSIX выводить правильные настройки во время каждой сборки / публикации?

Вопрос:

Как заставить MSIX appinstaller выводить правильные настройки во время каждой сборки / публикации?

Контекст:

Это дополнительный вопрос к Почему MSIX не проверяет наличие обновлений автоматически каждый раз, когда приложение запускается при включенной загрузке неопубликованных приложений?

Я бегаю:

  • Windows 10 20H2, сборка ОС 19042.928
  • Visual Studio 2019 Community Edition, версия 16.9.4

Параметры таргетинга Windows для MSIX следующие:

  • Целевая версия = Windows 10, версия 2004
  • Минимальная версия = Windows 10, версия 1809

Проект установщика MSIX создает недопустимый файл appinstaller, который не позволяет приложению автоматически проверять наличие обновлений при каждом запуске. Я могу вручную изменять файл после каждой сборки / публикации, но я не думаю, что мне нужно это делать, потому что это кажется самоубийственным и неправильным.

Вообще говоря, я бы почти проигнорировал создание appinstaller каждый раз, но файл автоматически увеличивает номер версии. Итак, похоже, что в настоящее время я застрял в какой-то форме ручного вмешательства, либо изменяя разделы schema version и UpdateSettings, либо обновляя версию в путях. Может ли это быть связано с запуском Visual Studio Community Edition? Нужен ли мне Professional, чтобы он работал?

Установщик приложений, созданный Visual Studio, что неверно:

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    Uri="https://<AppService>.azurewebsites.net/<AppName>.Setup.appinstaller"
    Version="<AppVersion>" xmlns="https://schemas.microsoft.com/appx/appinstaller/2017/2">
    <MainBundle
        Name="<SomeGuid>"
        Version="<AppVersion>"
        Publisher="CN=<CertificateName>"
        Uri="https://<AppService>.azurewebsites.net/<AppName>.Setup_<AppVersion>_Development_Test/<AppName>.Setup_<AppVersion>_x64_Development.msixbundle" />
    <UpdateSettings>
        <OnLaunch
            HoursBetweenUpdateChecks="0" />
    </UpdateSettings>
</AppInstaller>

Установщик приложений, который мне нужно создать в Visual Studio:

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    Uri="https://<AppService>.azurewebsites.net/<AppName>.Setup.appinstaller"
    Version="<AppVersion>" xmlns="https://schemas.microsoft.com/appx/appinstaller/2018">
    <MainBundle
        Name="<SomeGuid>"
        Version="<AppVersion>"
        Publisher="<CertificateName>"
        Uri="https://<AppService>.azurewebsites.net/<AppName>.Setup_<AppVersion>_Development_Test/<AppName>.Setup_<AppVersion>_x64_Development.msixbundle" />
    <UpdateSettings>
        <OnLaunch
            HoursBetweenUpdateChecks="0"
            ShowPrompt="true"
            UpdateBlocksActivation="true" />
        <AutomaticBackgroundTask />
        <ForceUpdateFromAnyVersion>true</ForceUpdateFromAnyVersion>
    </UpdateSettings>
</AppInstaller>

См. также:  Задача сборки Visual Studio Online TFS — файл не копируется
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. J Weezy

    Мы решили проблему, из-за которой приложение не проверяло автоматические обновления даже при включенной загрузке неопубликованных приложений. Нам нужно добавить в проект MSIX дополнительный элемент типа App Installer. Это создаст имя файла по умолчанию Package.appinstaller *. Этот файл содержит параметры конфигурации для файла установщика приложений, которые необходимы для управления всеми доступными параметрами, включая раздел UpdateSettings.

    Некоторые дополнительные функции, которые позволяет установить appinstaller, — это блокировать пользователю запуск приложения без обновления. Это было проблемой для профиля публикации ClickOnce, поскольку он давал пользователю возможность пропустить обновление; мы не смогли найти способ предотвратить это. Однако установщик приложений MSIX позволяет контролировать это поведение.

    * НЕ ПЕРЕИМЕНОВАТЬ ЭТОТ ФАЙЛ, ПОТОМУ ЧТО УТИЛИТА BUILD / PUBLISH НЕ ПОЛУЧИТ ЕЕ И ПРИМЕНИТЬ НАСТРОЙКИ К ФАЙЛУ APPINSTALLER. ЭТО, ПОКАЗЫВАЕТСЯ, БЫЛО ОШИБКОЙ / СТАТИЧЕСКИМ-ФАЙЛОМ-СПРАВОЧНИКОМ.

    Package.appinstaller

    <?xml version="1.0" encoding="utf-8"?>
    <AppInstaller Uri="{AppInstallerUri}"
                  Version="{Version}"
                  xmlns="https://schemas.microsoft.com/appx/appinstaller/2018">
    
      <MainBundle Name="{Name}"
                  Version="{Version}"
                  Publisher="{Publisher}"
                  Uri="{MainPackageUri}"/>
    
      <UpdateSettings>
        <OnLaunch
            HoursBetweenUpdateChecks="0"
            ShowPrompt="true"
            UpdateBlocksActivation="true" />
        <AutomaticBackgroundTask />
        <ForceUpdateFromAnyVersion>true</ForceUpdateFromAnyVersion>
      </UpdateSettings>
    
    </AppInstaller>
    

    Ссылки:

    Дополнительные ссылки:

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: