2014-09-03 19 views
1

我有一個應用程序,我使用ClickOnce進行部署。我使用的默認InstallUpdateUpdateSyncWithInfo()方法提供here。儘管我做了兩個改變;當我從靜態類調用它時,我將該方法設爲public和static。我知道不好的做法。這是一些懶惰的代碼,只是嘗試ClickOnce。如何在使用ClickOnce更新後防止加載我的應用程序的兩個實例?

每當應用程序更新時,它會加載兩個實例,一個是舊的,一個是新的。

除此之外,雖然我打電話像這樣在我app.xaml.cs方法:

public partial class App : Application 
{ 
    private void Application_Startup(object sender, StartupEventArgs e) 
    { 
     MainWindow window = new MainWindow(); 
     CheckForUpdates.InstallUpdateSyncWithInfo(); 
     window.Show(); 
    } 
} 

我想如果我叫Window.Show()檢查更新後,它會調用Application.Restart()方法InstallUpdateUpdateSyncWithInfo()前舊版本可能會加載,但事實並非如此。

有誰知道我可以如何防止應用程序更新後加載我的應用程序的兩個實例嗎?

another post on Stack Overflow從標題,我認爲會直接解決這個問題,但我沒有看到海報如何修改他的代碼,以防止加載兩個實例。

回答

2

有沒有必要自己寫自動更新代碼。首先,我會刪除您的更新代碼。

下一步右鍵單擊您的C#項目並選擇Properties。然後去Publish並點擊Updates...。勾選複選框,以便您的應用程序檢查更新,ClickOnce將處理其餘部分。

相關問題