我正在使用Silverlight 4开发一个浏览器外(OOB)应用程序。对于安装,我提供了一个带有安装按钮的网页来安装应用程序OOB。当用户单击该按钮时,将执行 Application.Current.Install ,异步安装应用程序。
问题是,在安装过程完成后,应该触发 InstallStateChanged 事件,其中我有代码将数据从我的XAP文件复制到隔离存储。但是,即使主页面在安装时正确显示, InstallStateChanged 也不会触发。
我也曾在Elevated Trust设置中尝试过此操作,但没有运气。
对此有何想法?
答案 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