1

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

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

我也在 E​​levated Trust 设置中尝试过,但没有运气。

对此有什么想法吗?

4

1 回答 1

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
于 2011-02-17T15:38:58.810 回答