0

好吧,我有一个 QProcess 作为我的程序更新程序,但是在 Windows 上,当它们运行时你不能修改 exe 文件,但是如果你关闭创建更新程序进程的程序,我想更新程序也会关闭。可以使更新程序进程独立吗?

然后,在 Windows Vista(及更高版本)上,无法运行我的更新程序,因为它返回我需要将我的级别提升为管理员,是否可以提升进程的权限?

4

1 回答 1

1

首先,与Linux相反,Windows进程默认独立于其父进程,父进程关闭后不会关闭。

解决问题的正确方法是将更新程序设为Windows 服务。然后,它不会由应用程序启动,它将具有写入系统文件夹等的权限(请参见此处

这是Qt 中服务支持的库(它确实有效)。

如果您想要更简单的解决方案,您可以使用ShellExecute升级权限以启动更新程序。

于 2012-07-06T21:01:13.263 回答