0

我有一个用 .NET 2.0 编写的文件和数据分发应用程序,我编写的类似于 Steam。

此应用程序需要在 Windows 7 中运行,并且需要能够运行和安装需要管理员权限的应用程序。但是,用户将没有管理员权限。

我的想法是将应用程序作为本地系统服务运行。我认为通过这样做,当用户不是管理员时,应用程序可以执行管理员权限操作(注册表编辑、启动应用程序等)。

我的假设正确吗?我需要采取哪些步骤才能将此应用程序安装为本地系统服务?

管理员将安装应用程序,但它将由没有管理员权限的用户运行。

提前致谢!

4

1 回答 1

2

仅仅作为服务运行可能还不够;您通常不能只使用一个应用程序(尤其是交互式应用程序)并抛出一个开关并使其成为服务。

这方面的一般模式是拆分您的应用程序:UI 像往常一样按需运行,具有用户的权限,并且还有一个持久性服务运行,UI 与之通信。通常,此拆分是针对权限问题(例如您的问题)或即使在 UI 关闭时也能够执行操作而完成的。

在您的情况下,您可能无法使用该服务来启动应用程序,因为该服务通常无法访问已登录用户的桌面。它也无法(轻松)访问注册表中的 HKEY_CURRENT_USER 配置单元,因为本地系统是与桌面用户不同的帐户。

于 2010-03-20T13:37:04.043 回答