tags:

views:

28

answers:

1

Hi,

I don't know if anyone has any expertise with Novell Netware or not, but I situation where one of my clients is getting a weird error trying to move a file to a netware share. The situation is pretty complicated but I'll try and outline it as best I can.

1) The application is running as a service 2) The file to be moved is a local file in an accessible location (to the service) 3) The file is being moved with FileInfo.MoveTo(). 4) The MoveTo is throwing an IOException and the message is "a device attached to the system is not functioning".

I'm at a loss as to explain what might be happening. On a side note, it seems that running a small test program interactively using the same method (FileInfo.MoveTo) to the same location works fine so it seems to be associated with the service itself.

Any help would be hugely greatful. Thanks.

Kristofor Wilson

A: 

That's normal. Windows services need to login to the server separately, like local users do. When you run your program interactively, it accesses the NetWare server using your, already established, connection. To access the server from the service, your program needs to establish its own connection first.

I am afraid I don't know how to login to NetWare from a C# program, and I am not sure if it is possible to set up your service that it does not need to log in to NetWare. I'd explore one of these ways though.

Oh, almost forgot. If a local user has NetWare volumes mapped to disk drive letters in Windows, like SYS: volume to P: and so on, these mapping will not be visible to the service; it will have to map the volumes to letters separately, or use UNC paths

dmityugov
Thanks for the information. Do you happen to know if using Windows "impersonation" would be enough to login to netware? A previous version of the product I work on didn't have this problem (even running as a service) and the only difference is that it used impersonation and the current version does not.
Kristofor
No, I am afraid I don't. From your comment though it seems that the answer is yes
dmityugov