2014-01-17 104 views
0

我在Visual C++ 2010中创建了一个Windows服务。它基本上查找文件,如果存在,则将其删除。将应用程序作为Windows服务运行需要管理员权限吗?

现在,如果我以管理员身份运行该应用程序,则该文件将从该位置成功删除。但是如果我将它安装为Windows服务并运行该服务,则会检测到该文件但不会被删除,即使该服务正在本地系统上运行。

现在我的问题是,Windows服务是否需要最高权限,或者它是否以最高权限运行?

+0

权限可能不是问题。添加一些日志记录,以便您可以查看调用“DeleteFile”时返回的错误代码。 –

回答

2

不,Windows服务可以使用任何帐户运行,因此几乎没有任何权限。

当然,如果你想删除一个文件,NTFS将检查它的访问控制列表(ACL)。当管理员具有删除权限但本地系统不具有删除权限时,您将有观察到的行为。但重要的是文件ACL,服务并不特殊。

相关问题