Плагин падает при обновлении страницы из приложения на Win 7 - PullRequest
4 голосов
/ 04 августа 2011

У меня есть страница с приложением Silverlight 4 oob.После того, как приложение установлено, bage на странице должен автоматически обновиться.Я попытался вызвать сценарии или простой Document.Submit из кода на InstallStateChanged - и все они хорошо работали на win XP (не только на моей машине), но на Win 7 или Vista страница зависала или даже плагин silverlight падал до начала установки.Однако без функции обновления процесс установки протекает гладко.Как мне сделать правильное обновление для этих систем?Также будет полезна информация о том, почему это может произойти.

    public App ()
    {
        this.Startup += this.Application_Startup;
        this.Exit += this.Application_Exit;
        this.UnhandledException += this.Application_UnhandledException;

        InitializeComponent();

        App.Current.InstallStateChanged += (s, c) => HtmlPage.Document.Submit(); //used that as the most common used example
    }

    private void Application_Startup (object sender, StartupEventArgs e)
    {
        if (Application.Current.IsRunningOutOfBrowser)
        {
            this.RootVisual = new MainPage();
        } else if (Application.Current.InstallState == InstallState.Installed)
        {
            this.RootVisual = new InstalledPage();
        } else
        {
            this.RootVisual = new InstallPage();
        }
    }

Где MainPage и instalPage - это простые сетки с текстовым полем.Страница установки содержит только кнопку с событием щелчка - для установки приложения.Веб-страница создается автоматически.Ничего более.Все еще на Win 7 и Vista имеют ту же проблему при установке, что и у них.

UPD: файлы проекта

1 Ответ

3 голосов
/ 17 августа 2011

Я изменил ваш тестовый пример следующим образом:

public App () {
        ...

    App.Current.InstallStateChanged += new EventHandler(Current_InstallStateChanged);
}

void Current_InstallStateChanged(object sender, EventArgs e) {
    if(App.Current.InstallState == System.Windows.InstallState.Installed) {
        HtmlPage.Document.Submit();
    }
}

И он обновляется при установке на Windows 7 нормально.

...