VisualBasic Probleme mit Netzlaufwerk

7H0M45

Lt. Commander Pro
Registriert
Jan. 2010
Beiträge
1.374
Hallo alle zusammen,

ich wollte mir für meine Access Datenbank ein kleines Updatetool schreiben. Hierfür habe ich VisualStudio 2013 Express mit der Sprache VisualBasic genutzt. Das Programm liest eine Textdatei auf dem lokalen PC aus und vergleicht diese mit einer Textdatei im Netzlaufwerk.

Davor wird überprüft ob das Netzlaufwerk verfügbar ist:

Code:
        'Laufwerkverbindung überprüfen
        If mdlTools.CheckNetDrive(strNASBuchstabe & ":\") = False Then ' Laufwerkspfad aus Config nachlesen
            MsgBox("Keine Verbindung zum Netzlaufwerk möglich. Prüfen sie ihre Netzwerkverbindung und das Laufwerk!" & vbCr & _
                   "Netzlaufwerk: " & strNASBuchstabe & ":\", MsgBoxStyle.Critical, "FEHLER")
            Application.Exit()
        End If
strNASBuchstabe ist hierbei Z, der Laufwerksbuchstabe den das Laufwerk im Explorer hat.

mdlTools:
Code:
' Prüfen, ob Laufwerk bereit
    Public Function CheckNetDrive(netDrive As String)
        CheckNetDrive = False
        On Error Resume Next
        ChDrive(netDrive)
        If Err.Number <> 0 Then
            CheckNetDrive = False
        ElseIf Err.Number = 0 Then
            CheckNetDrive = True
        End If

    End Function

Dieser Code funktioniert, solange ich ihn in der Debug-Umgebung von VisualStudio ausführe. Wenn ich die EXE-Datei verwende die beim Debuggen erstellt wird, funktioniert der Code nicht.

Ähnliches ist beim überprüfen ob verschiedene Dateien auf dem Netzlaufwerk existieren:
Code:
If System.IO.File.Exists(strNASOrdnerPfad & "Installation\Config.txt") Then bolInstConfigVorhanden = True
strNASOrdnerPfad ist hierbei Z:\XYZ\



Auch hier funktioniert der Code in der Debug-Umgebung oder bei Dateien auf der Lokalen Festplatte. In der EXE-Datei funktioniert er nicht.

Es gibt keinerlei Fehlermeldungen, da diese ja auch durch den Code schon verhindert werden sollten.


Windows 7 64bit

VisualStudio 2013 Express


Woran kann das liegen?

Danke schonmal im Vorraus

Mit freundlichen Grüßen
Thomas
 
zugriffsrechte evtl.?
 
In wie weit Zugriffsrechte?

Der Benutzer der diese Datei ausführt kann auf dem Laufwerk Dateien Lese, Schreiben, Erstellen oder Löschen, eigentlich alles. Muss ich für die Exe Datei eigene Rechte vergeben? Wenn ja wie mache ich das?
 
Prozesse, die einem Benutzer gehören, erben seine Rechte. Dein Programm müsste sie ausdrücklich niederlegen und das wirst du kaum aus Versehen gemacht haben.
 
Dh. wenn ich auf die Daten im Netzlaufwerk zugreifen kann, sollte VB das auch können?

Aber woran liegts dann, vor allem weil beim Debuggen alles funktioniert hat.
 
Versuch erst einmal rauszufinden, ob die Exe überhaupt gestartet wird, indem du ganz vorne ein MsgBox reinpackst. Sollte das nicht funktionieren, müssen wir mal die Rahmenbedingungen prüfen (DLLs etc.).

Wenn das geht, lädst du irgendwelche Dateien, die im Ausführverzeichnis der exe liegen (sollen)?
 
Zurück
Oben