Win C#:以pipe理员身份运行应用程序,无需UAC提示

我需要我的一个.exe永远以pipe理员身份运行没有UAC提示。 我的程序将安装与设置,这将有一次pipe理员权限,我需要执行这样的步骤在这个设置中,我的exe文件将始终作为pipe理员没有UAC提示执行。

到目前为止我find了两个解决scheme:

1.使用自定义服务,这将提升我的程序。

2.使用任务计划程序 。

有没有其他解决scheme? 有些可能显示吗?

谢谢。

当然,如果你只是想要驱动UI,你应该怎么做才能使用清单中的UI访问标志(参见http://msdn.microsoft.com/en-us/library/ms742884.aspx )。 如果您将应用程序安装在受信任的位置(例如system32)并且已经签名(bleh!),那么当您运行应用程序时,它将被提升到高位(对于管理员帐户)。

签名要求使其稍微恼人,但至少会稍微减少攻击面,因为您的代码以高完整性运行,而不是以管理员令牌运行。

如果有可能这样做,那么UAC将是完全无效的。 未经用户同意,应用软件无法提升是UAC背后的根本原则。

除了已经有一个升级过程启动它(即服务或任务调度),答案是否定的,这是不能做到的。