我现在做了一个WINDOWS服务,
网络的目标电脑上有一个共享文件夹,通过\\***.***.***.***能够访问,并能够在目标电脑上创建文件现在的要求是通过WINDOWS服务,能够向目标电脑的共享文件夹中生成文件当我把WINDOWS服务中的代码移植到WINFORM中的时候,能够在目标电脑的共享文件夹中生成文件,
但运行WINDOWS服务的时候就不能生成文件了.是不是权限的问题,还是WINDOWS服务不能在共享文件夹中生成文件?

解决方案 »

  1.   

    可以明确地告诉你windows服务同样能够在共享文件夹中生成文件,如果可以请附代码分析。
      

  2.   

    设置好共享文件夹的权限,然后在windows服务的机器上做一个映射,就跟写本地硬盘一样了
      

  3.   

    一般service服务默认的启动身份是local SYSTEM. 我想你可以把自定义服务的属性修改一下,把log on改成用管理员帐户登入,同时允许服务访问desktop。(在windows服务列表中点该服务的属性) 访问时不需要映射,直接用\\ip\共享文件夹
      

  4.   


    我就是在服务中有个方法
    SaveImage()
    里面调用了BitMap.Save(\\***.***.***.***\share\111.jpg)
    在WINDOWS服务中不能成功生成啊
      

  5.   

    "log on改成用管理员帐户登入"
    是本地的管理员还是目标电脑的管理员?
      

  6.   

    你用什么做的映射?
    可使用 api函数 WNetAddConnection2进行映射,然后成功后进行文件操作。
      

  7.   

    谢谢各位的帮忙.
    终于搞定了,在codeproject上找到了解决方法.
    给分!帖出来,共享之.
    i also searched on the web and found 2 rticles which solved my problem completely
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=249102&SiteID=1
    &
    http://support.microsoft.com/default.aspx?scid=kb;en-us;827421#appliestoso finally i changed code in installer
    SrvPInstaller.Account = ServiceAccount.User ;
    SrvPInstaller.Username = "";
    SrvPInstaller.Password = "";
    and while installing the service it asked me the user id and password where i i/p my uid and pwd which had the rights for that network shared directory