Пользовательский установщик для приложения вне браузера (oob). Обновление не работает - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу создать пользовательский установщик для приложений oob для Windows и MacOS.

Для Windows я использовал следующий метод - https://www.codeproject.com/Articles/179756/Installing-Silverlight-OOB-Application-using-a-Set

Для MacOS следующее решение - https://www.blaize.net/2012/04/offline-oob-mac-installation/

Эти методы хорошо работают и создают приложение, но обновление приложения не работает с ними.

В приложении Silverlight я использую следующий код для обновления:

private void CheckUpdateApplication()
{
    if (Application.Current.IsRunningOutOfBrowser)
    {
        Application.Current.CheckAndDownloadUpdateAsync();
        Application.Current.CheckAndDownloadUpdateCompleted += Application_CheckAndDownloadUpdateCompleted;
    }
}

private void Application_CheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e)
{
    if (e.UpdateAvailable)
    {
        MessageBox.Show(CommonMethod.MessageUpdateApplication);
    }
    else if (e.Error != null)
    {
        MessageBox.Show(string.Format("{0} - {1}", e.Error.GetType().Name, e.Error.Message));
    }
}

В настройках приложения вне браузера я установил флажок - «Требовать повышенное доверие при работе вне браузера». Файл XAP подписан самозаверяющим сертификатом.

После установки в Windows при обновлении появляется следующая ошибка:

Исключение - ошибка HRESULT E_FAIL была возвращена из вызова к COM-компонент.

После установки в MacOS я получаю следующее:

OutOfMemoryException - Ошибка 0x1AA6.

...