无法启动不在Windows 7的“Program Files”文件夹中的Windows服务

时间:2010-02-10 05:28:42

标签: windows-7 windows-services

我最近切换到Windows 7作为我的开发机器。我工作的软件的一个组件是Windows服务。我用来调试服务的一个技巧是使服务注册表值指向我的服务调试版本。然后我启动服务并使用VS.NET附加到进程。

然而,当我尝试在Windows 7上执行此操作并尝试启动服务的“调试”版本时,我收到一条错误消息,告诉我'访问被拒绝'。我认为我的调试构建服务肯定有问题。但为了解决这个问题,我尝试在名为“DebugService”的“Program Files”下创建一个文件夹,将debug build文件夹的内容复制到该文件夹​​,并将服务指向此位置。然后我能够毫无错误地启动服务。

有人在Windows 7中遇到此限制吗?必须将构建输出复制到“Program Files”中的文件夹是不方便的,并且我的服务也遇到权限问题,打开位于此“Program Files”文件夹中的某些文件(已安装的服务版本没有此类问题)。

我可以对Windows 7做些什么来告诉它可以启动位于“Program Files”下的文件夹中的服务吗?

1 个答案:

答案 0 :(得分:2)

嘿,我认为Program Files没有什么特别之处......但 很可能是关于你的构建位置的一些特殊内容:它属于你,而不属于Users组。假设你没有像你自己一样运行服务(或SYSTEM),那么它会让人感到不舒服,试图运行一个无法访问自己代码的程序!

我只是从root设置一个单独的目录树,可以由Users组访问,并在那里构建我的东西。但您当然可以将必要的权限分配给您已经使用的任何目录。