UNC-Pfad mit Hostname weggelassen?

483
Anthony

Ich habe eine Anwendung, die eine Datei öffnet, deren Pfad auf einen UNC-Pfad eingestellt ist, der doppelte Schrägstrich und der Hostname jedoch entfernt wurden

\\HOSTNAME\SHARED\FILE 

es hat

\SHARED\FILE 

Dies bezieht sich auf die Freigabe SHAREDauf dem lokalen Computer.

Das alles hat gut funktioniert, bis ich die Anwendung als Windows-Dienst gewechselt habe. Die Anwendung kann die Datei jetzt nicht öffnen.

Der Dienst wird als Domänenkonto ausgeführt, das die vollständige Kontrolle über die Freigabe hat.

Ich möchte die Bedeutung dieses Pfadformats verstehen, warum ein Windows-Dienst nicht auf eine Datei zugreifen kann, auf die verwiesen wird, aber eine Konsolenanwendung dies kann, und wie dies funktioniert, ohne den Pfad zu ändern (wenn möglich).

2

1 Antwort auf die Frage

1
grawity

Es ist kein UNC-Pfad mehr. Es ist ein regulärer lokaler Pfad, der beim root ( \) des gleichen Laufwerks wie das aktuelle Arbeitsverzeichnis des Prozesses beginnt .

Wenn also cwd ist c:\windows, \users\anthonywürde sich der Pfad darauf beziehen c:\users\anthony.

OK, Windows-Dienste werden in% WinDir% \ System32 ausgeführt, dh \ SHARED \ FILE bezieht sich auf `C: \ SHARED \ FILE`, aber` SHARED` befindet sich tatsächlich im Laufwerk `D: \`. Vielen Dank. Anthony vor 9 Jahren 1