2016-10-03 42 views
-1

我已经创建了一个基于控制台的应用程序并运行正常,并将相同的应用程序转换为Windows服务。当我通过Visual Studio安装它来调试它的安装并且顺利运行时,但是当代码流将app.config文件值0更改为1时,它将引发异常UnauthorizedAccessException'并且拒绝访问。在Windows中安装后没有写入文本文件的Windows服务

+1

WindowsService进程将运行在与可能运行Visual Studio的帐户不同的帐户下。 – sachin

+1

是的,@sachin是对的。转到START->服务查看您的服务列表并找到您的应用程序。看看用户是什么。也许改变用户或授予他额外的权利。 –

回答

1

问题可以是下列两个原因导致的:

  • 如果不使用绝对路径访问文件,该服务可能会在除了你之外的其他位置寻找文件正在期待。

    服务是由被称为服务控制
    Manager的应用程序启动。此应用程序住在系统目录 %WINDIR%\ SYSTEM32

    在Windows 7旗舰版 - 64位,这条路居然是:%WINDIR%\ Syswow64资料

  • 的WindowsService过程可能从下运行的Visual Studio可能运行在不同 之下的帐户运行的是

    您可以使服务在已具有该文件许可权的帐户下运行,也可以授予该服务已在其下运行的帐户的权限。

+0

非常感谢你们的反馈,我的问题已经解决了...... –

+0

哪一个问题? – sachin

+0

U表示“WindowsService进程将运行在不同于Visual Studio可能运行的帐户下”这是问题 –