【问题标题】:How do I prevent two instances of my application from loading after updating using ClickOnce?使用 ClickOnce 更新后,如何防止加载我的应用程序的两个实例?
【发布时间】:2014-09-03 21:11:07
【问题描述】:

我有一个使用 ClickOnce 部署的应用程序。我正在使用here 提供的默认InstallUpdateUpdateSyncWithInfo() 方法。我做了两个改变;当我从静态类中调用它时,我将方法设为 public 和 static。我知道不好的做法。这是一些懒惰的代码,只是为了尝试 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(),它会在旧版本加载之前调用InstallUpdateUpdateSyncWithInfo() 中的Application.Restart() 方法,但事实并非如此。

有谁知道在应用程序更新后如何防止我的应用程序的两个实例加载?

标题中有another post on Stack Overflow,我认为可以直接解决这个问题,但我没有看到发布者如何修改他的代码以防止加载两个实例。

【问题讨论】:

    标签: c# wpf clickonce app.xaml


    【解决方案1】:

    无需自己编写自动更新代码。首先,我会删除您的更新代码。

    接下来右键单击您的 C# 项目并选择 Properties。然后转到Publish 并单击Updates...。勾选复选框,以便您的应用程序检查更新,而 ClickOnce 将处理其余部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 2023-03-20
      • 1970-01-01
      相关资源
      最近更新 更多