![]() |
ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
Hallö,
ich habe auf ein Windows10 64 Bit Rechner ein Netzwerklaufwerk eingebunden (Laufwerk Z). Jetzt versuche mit meiner Anwendung (32 Bit und Adminrechte) mit System.SysUtils.ForceDirectories(Z:\bla\blaa) ein Verzeichnis zu erstellen. Rückgabewert von ForceDirectories ist false und Verzeichnis ist nicht erstellt. ForceDirectories(C:\bla\bla) geht es aber. Auf ein Windows 7 32 Bit Rechner geht auch ForceDirectories(Z:\bla\blaa). Was mache ich falsch? |
AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
Hmm..
Ich gehe davon aus, das Z: ein Netzwerklaufwerk ist.. Wie hast Du dieses den gemapt? Wenn dieses als normaler User/Admin (ohne elevated) erfolgt ist und Du dann als elevated Admin darauf versuchst zuzugreifen, dann wird dies scheitern, da Windows hier unterscheidet, ob User oder elevated User.. Dies sind für Windows 2 verschiedene Benutzer und nur der eine hat das Laufwerk gemapt.. ;) |
AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
Das Netzwerklaufwerk Z ist ist mit einem anderen Benutzer gemapt als der auf den Rechner angemeldet ist.
Der am Rechner angemeldete User hat Adminrechte. Unter den Netzwerklaufwerkeigenschaften von Z: sehe ich das es für „Jeden“ aktiv ist. Über den Explorer kann ich auch Verzeichnisse auf Z: anlegen. |
AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
Hallo,
was sagt denn GetLastError? Bestimmt "Zugriff verweigert" oder so ähnlich. Über den Explorer kann ich auch Verzeichnisse auf Z: anlegen. Wie rufst Du denn ForceDirectories im Explorer auf, wenn es dort ja gehen soll? Verzeichnis anlegen <> ForceDirectories Interessant ist folgender Thread, dort ganz unten, wo steht, dass Delphi gar nicht die Windows-Funktion benutzt. ![]() |
AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
Netzlaufwerke waren schon immer (seit XP) nutzerspezifisch. Seit Vista trifft das sogar auf Netzlaufwerke zu, die in einem Programm verbunden wurden, das als Administrator (via UAC) läuft. Insofern sind Netzlaufwerke nicht nur nutzerspezifisch sondern an ein Token gebunden.
Wenn deine Anwendung unter einem anderen Nutzer läuft, wirst du das Laufwerk dort nochmal verbinden müssen. Das ließe sich übrigens ermitteln, indem du einfach prüfst, ob das Laufwerk bzw. Dateien darauf existieren, bevor du ForceDirectories machst ;). Die Anregung als Code:
Delphi-Quellcode:
Grüße
if FileExists('Z:\bla\*.*') then
ShowMessage('Da gibts was'); if ForceDirectories('Z:\bla') then ShowMessage('wurde angelegt'); Dalai |
AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
Hmm..
Zitat:
Adminrechte <> Elevated.. Windows-Explorer wird (normalerweise) unelevated gestartet. Starte den Elevated und das Z: ist nicht mehr vorhanden! Mapping gilt immer nur für den User (elevated und unelevated sind VERSCHIEDENE User, auch bei gleichem Namen) der auch das Mapping ausgeführt hat! |
AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
Hallö,
das mit den Adminrechten und Elevated war das Problem. Danke HolgerX Hier war ich die Lösung: ![]() ![]() Nach einem Neustart des Rechners das Netzwerklaufwerk nicht erreichbar(rotes Kreuz im Explorer) Problem war das: ![]() Das hat geholfen: ![]() Gruß |
AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
In dem MS Link fehlt am Ende eine Klammer zu. Der Darstellungstext ist richtig.
![]() |
AW: ForceDirectories geht mit Metzwerklaufwerk unter Win 10 nicht.
Danke generic.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz