浏览器外(oob)应用程序的自定义安装程序。更新不起作用

时间:2018-11-09 15:11:13

标签: silverlight silverlight-5.0 silverlight-oob

我想为Windows和MacOS的oob应用程序创建一个自定义安装程序。

对于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中安装后,更新时出现以下错误:

  

异常-调用A返回了错误HRESULT E_FAIL   COM组件。

在MacOS中安装后,我得到以下信息:

  

OutOfMemoryException-错误0x1AA6。

1 个答案:

答案 0 :(得分:0)

/origin命令行参数传递给sllauncher.exe

来自https://www.codeproject.com/Articles/179756/Installing-Silverlight-OOB-Application-using-a-Set

  

此选项指定XAP文件来自的Uri。这个   Uri用于安全目的和自动更新。例如:   / origin:http://mywebsite.com/SampleOOB.xap