作为Notepad ++粉丝,我看到当有新的可用更新时,会发生以下情况:
我想在我的.NET桌面应用程序中构建此功能。我不知道的是在下载文件之后:
答案 0 :(得分:1)
我的应用程序如何告诉操作系统运行更新文件?
您的c#应用程序可以使用Process.Start方法(存在于System.Diagnostics中)轻松调用其他进程,如果需要,甚至可以控制它。
我的应用程序无权在计算机上安装文件。它将如何绕过这个?
updater是一个单独的进程,它可以询问自己的管理员权限(通过调用UAC对话框)。
通过实施适当的app.manifest文件,c#应用程序可以轻松地请求管理员权限:
在Visual Studio上,您可以选择" Project" - > "添加新项目" - >应用程序清单,打开它并更改此行
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
用这个
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
我的应用程序将如何关闭,因为在更新过程中,需要更改当前的应用程序?
您的更新程序应用程序可以在完成后关闭您的主进程,或者您的主进程可以在更新程序完成时关闭(通过使用某种IPC)。
另一种方法是从主应用程序启动更新程序进程,然后立即关闭主应用程序。