Programme, die aus einem Ordner ausgeführt werden, dessen übergeordneter Ordner nicht zugänglich ist, können die TCP-Schicht nicht verwenden

Programme, die aus einem Ordner ausgeführt werden, dessen übergeordneter Ordner nicht zugänglich ist, können die TCP-Schicht nicht verwenden

Die IT-Abteilung unseres Unternehmens und ich haben viele Stunden gebraucht, um dieses Problem zu ermitteln.

Das Problem tritt nur unter Windows Server 2008, Windows 7 und Windows 8 auf. Unter Windows XP oder Windows Server 2003 haben wir keine Probleme.

Wir haben ein Programm, das wir intern in unserem Unternehmen entwickelt haben. Das Programm funktioniert einwandfrei und das Problem betrifft nicht nur dieses Programm.

Das Programm verwendet localhost, um über Webservices mit anderen Programmen auf dem Computer zu kommunizieren. Das Problem besteht darin, dass diese Kommunikation nicht funktioniert, wenn sich das Programm im Home-Ordner des Benutzers befindet.

Nachdem wir viele Stunden damit verbracht haben, herauszufinden, warum das so ist, haben wir vor Kurzem festgestellt, dass das Problem verschwindet, wenn der Benutzer Zugriff auf alle übergeordneten Ordner im UNC-Pfad zur ausführbaren Datei hat.

Wenn also das Home-Laufwerk unter H: = \SomeServer\hdrive$\SomeUser gemountet ist und der Benutzer keinen Zugriff auf \SomeServer\hdrive$ hat, erhält unser Programm TCP-Fehler und die Webdienste funktionieren nicht.

Wenn der Benutzer dann nur die Berechtigung „Ordnerinhalte auflisten“ für diesen Pfad erhält, funktionieren die Webdienste.

Ansonsten läuft das Programm einwandfrei. Wir haben überprüft, dass alle DLL-Dateien erfolgreich verknüpft sind und keine weiteren Fehler auftreten.

Dies scheint etwas zu sein, was das Betriebssystem tut. Weiß jemand, warum das passiert?

Antwort1

In Windows 7 und höher sind bestimmte Ordner standardmäßig geschützt. Meines Wissens geschieht dies aus Sicherheitsgründen. So wird es für Programm A schwieriger, heimlich eine von Programm B verwendete DLL zu ändern.

Ich habe oft festgestellt, dass es problemlos funktioniert, wenn ich mit der rechten Maustaste auf das betreffende Programm klicke und es „als Administrator“ ausführe. Ich bin mir nicht sicher, ob das in Ihrem Fall funktionieren würde.

verwandte Informationen