为了自动更新我的WPF应用程序,我有以下策略:
(1) process.exe 启动 process.exe 寻找更新 => 发现有更新 process.exe 复制自身 => process_copy.exe process.exe 使用 "update" 参数启动 process_copy.exe process.exe 退出
(2) process_copy.exe 启动 process_copy.exe 发现 "update" 参数,将更新下载到 process.exe process_copy.exe 启动 process.exe process_copy.exe 退出 process.exe 启动
请注意,我的应用程序使用一个 dll。
这个策略是有效的,但有时候(不是每次),当应用程序在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 中启动时会崩溃。
有时它会在 (2) 处崩溃,并显示以下错误信息:
System.IO.FileNotFoundException was unhandled Message="Could not load file or assembly 'ManagedWinapi, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
我不明白为什么会崩溃。如果它能在 (1) 中启动,为什么不能在 (2) 中启动(有时候)?
有人能解释一下吗?
感谢您提前的回答。
(1) process.exe 启动 process.exe 寻找更新 => 发现有更新 process.exe 复制自身 => process_copy.exe process.exe 使用 "update" 参数启动 process_copy.exe process.exe 退出
(2) process_copy.exe 启动 process_copy.exe 发现 "update" 参数,将更新下载到 process.exe process_copy.exe 启动 process.exe process_copy.exe 退出 process.exe 启动
请注意,我的应用程序使用一个 dll。
这个策略是有效的,但有时候(不是每次),当应用程序在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 中启动时会崩溃。
有时它会在 (2) 处崩溃,并显示以下错误信息:
System.IO.FileNotFoundException was unhandled Message="Could not load file or assembly 'ManagedWinapi, Version=0.3.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
我不明白为什么会崩溃。如果它能在 (1) 中启动,为什么不能在 (2) 中启动(有时候)?
有人能解释一下吗?
感谢您提前的回答。