Silverlight InstallStateChanged不会触发

时间:2011-02-11 20:31:37

标签: silverlight silverlight-4.0 install silverlight-oob

我正在使用Silverlight 4开发一个浏览器外(OOB)应用程序。对于安装,我提供了一个带有安装按钮的网页来安装应用程序OOB。当用户单击该按钮时,将执行 Application.Current.Install ,异步安装应用程序。

问题是,在安装过程完成后,应该触发 InstallStateChanged 事件,其中我有代码将数据从我的XAP文件复制到隔离存储。但是,即使主页面在安装时正确显示, InstallStateChanged 也不会触发。

我也曾在Elevated Trust设置中尝试过此操作,但没有运气。

对此有何想法?

1 个答案:

答案 0 :(得分:0)

我终于弄清楚我做错了什么。我责备网上缺少VB示例: - )

在Install_click事件中(由安装按钮上的用户点击事件执行),我无法连接 InstallStateChanged 事件,如下所示:

AddHandler Application.Current.InstallStateChanged, AddressOf App_InstallStateChanged

我没有意识到这一步是必要的,并假设事件自行解雇。现在我可以继续将我的安装后操作代码放在* App_InstallStateChanged *事件例程中:

Private Sub App_InstallStateChanged(ByVal sender As Object, ByVal e As EventArgs)
  'Post-install execution code here
   Select Case Application.Current.InstallState
        Case InstallState.Installed
            DisplayInstalled() 'Routine that executes upon successful install
        Case InstallState.InstallFailed
            DisplayFailed()    'Routine that executes upon failed install
   End Select
End Sub