1

您如何设置程序以在执行时要求提升?我在这里和那里问过,但没有得到答案。我不确定我会如何做到这一点,但我想编写的程序需要运行权限。

4

2 回答 2

4

安全模型是特定于平台的。Qt 没有 AFAIK 解决这类问题。(恰当的例子:当我没有以 root 身份运行 Qt Creator 安装程序时,它本身就卡住了。)

您可能需要进行本机调用或与为此目的设计的某些守护程序进行交互。通常最容易尝试你认为应该能够做的任何事情,并检查失败,如果你不能做你想做的事,然后要求用户以更高的权限显式地重新运行。

Linux:

在不同版本的 Linux 下以编程方式提升权限的最佳方法?

视窗:

http://msdn.microsoft.com/en-us/magazine/cc163486.aspx

苹果电脑:

以编程方式提升应用程序权限 OS X

(注意:通常,如果您必须就此类问题提出问题,可能会有更好的方法来做您想做的任何事情。考虑发布一个关于您想要的更笼统的问题,您可能会获得有关如何更干净地执行此操作的建议。)

于 2012-07-30T03:01:00.487 回答
1

我认为不可能要求自动提升。

我能想到的唯一方法是让服务作为本地管理员帐户运行并为您执行提升运行。

在作为 CI 构建的一部分自动安装/卸载 MSI 包时,我使用了它(Go 代理作为本地系统帐户运行)

于 2012-07-30T02:52:07.960 回答