日期:2014-05-20  浏览次数:21291 次

WPF程序自动升级,更新后程序无法启动
程序更新以后(包括dll文件)使用
System.Diagnostics.Process.Start(filename)重新启动失败,提示程序已停止工作,
确认过了,文件路径没有错,程序在资源管理器里直接打开能够正常运行。求解决办法。
------最佳解决方案--------------------
升级程序不必要用wpf
在启动升级程序时要确保WPF程序所用的所有dll,资源等已释放,且整个程序已完全退出,
并且不要让升级程序和WPF共用dll,资源等,
你可以检查一下,运行升级程序时还有没有相关的进程或线程运行就知道了
------其他解决方案--------------------
测试了一下,System.Diagnostics.Process.Start()启动其它winform程序能正常启动,但是重新启动该wpf程序时仍然出错,确切的说,该wpf程序已经启动了,但是启动后报错,提示程序已停止工作,但是wpf程序手工启动是正常的。

其它说明:升级程序是用的winform程序,并且升级程序理使用System.Diagnostics.Process.Start()方法启动其它winform程序没有问题。这个wpf程序是在大屏幕上做展示用的,所以需要长期运行,并且升级需要自动完成,在做升级时,升级程序已经关掉了wpf程序,并且覆盖了wpf主程序以及相关dll文件,但是重新启动时出错了,难道说升级程序也必须要用wpf来写?

第一次发帖求助,请高手不佞赐教。
------其他解决方案--------------------
测试了一下,System.Diagnostics.Process.Start()启动其它winform程序能正常启动,但是重新启动该wpf程序时仍然出错,确切的说,该wpf程序已经启动了,但是启动后报错,提示程序已停止工作,但是wpf程序手工启动是正常的。

其它说明:升级程序是用的winform程序,并且升级程序理使用System.Diagnostics.Process.Start()方法启动其它winform程序没有问题。这个wpf程序是在大屏幕上做展示用的,所以需要长期运行,并且升级需要自动完成,在做升级时,升级程序已经关掉了wpf程序,并且覆盖了wpf主程序以及相关dll文件,但是重新启动时出错了,难道说升级程序也必须要用wpf来写?

第一次发帖求助,请高手不佞赐教。
------其他解决方案--------------------
问题解决了,ohkuy说得太对了,我的的升级程序和wpf公用了dll文件了。
------其他解决方案--------------------
谢谢!