点击一次更新后重启WPF应用程序(启动新版本)

Saw*_*wan 20 c# deployment wpf clickonce

如何使用click-once更新WPF应用程序,我需要启动新版本!

小智 19

有几种方法,但大多数不能正常工作,他们最终重新打开旧版本.

WPF没有正确的处理方式(#fixwpf)听起来很疯狂,但你需要引用System.Windows.Forms.dll和调用System.Windows.Forms.Application.Restart();

快速搜索发现Rob Relyea关于同样事情的帖子(XAML,WPF Microsoft Guy) http://robrelyea.wordpress.com/2007/07/24/application-restart-for-wpf/


Mic*_*fen 15

没有必要为此包括winforms组件,这似乎有点矫枉过正.

你可以做winforms在其重启方法中幕后做的事情.更新已应用后:

String ApplicationEntryPoint = ApplicationDeployment.CurrentDeployment.UpdatedApplicationFullName;

Process.Start(ApplicationEntryPoint);

//shutdown current instance here
Run Code Online (Sandbox Code Playgroud)

这将启动应用程序的新版本使用正确的ClickOnce初始化.

  • 出于某种原因,我不得不使用`String ApplicationEntryPoint = ApplicationDeployment.CurrentDeployment.UpdateLocation.AbsoluteUri;` (2认同)