Pfad kann nicht gefunden werden

  • VB.NET

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von SystemUnknow.

    Pfad kann nicht gefunden werden

    Gumo liebe VBler,

    heute morgen hab ich schon wieder ein Problem aber an diesem knacke ich schon seit Tagen und ich finde einfach keine Lösung dazu.
    Und zwar will ich Avira Antivir öffnen über einen Button klick nur kriege ich immer die Meldung das diese datei nicht existiert obwohl sie aber vorhanden ist. Sämtliche möglichkeiten habe ich schon ausprobiert bei diesem String aber nichts hat geklappt.

    VB.NET-Quellcode

    1. If File.Exists(Chr(34) & "C:\program files (x86)\avira\avira desktop\avscan.exe" & Chr(34)) ThenShell(Chr(34) &"C:\program files (x86)\avira\avira desktop\avscan.exe /CFG='C:\Program Files (x86)\avira\antivir desktop\sysscan.avp'" & Chr(34))


    Das System kann den angegebenen Pfad nicht finden. Das ist bei den beiden anderen Varianten die jetzt kommen genauso.



    VB.NET-Quellcode

    1. If File.Exists("C:\program files (x86)\avira\avira desktop\avscan.exe") Then Shell("C:\program files (x86)\avira\avira desktop\avscan.exe /CFG='C:\Program Files (x86)\avira\antivir desktop\sysscan.avp'")



    VB.NET-Quellcode

    1. If File.Exists("""C:\program files (x86)\avira\avira desktop\avscan.exe""") Then Shell("""C:\program files (x86)\avira\avira desktop\avscan.exe /CFG='C:\Program Files (x86)\avira\antivir desktop\sysscan.avp'""")


    Kann mir da irgendwer die Lösung drauf verraten :S Ich verzweifle hier noch.

    Danke schonmal im Vorraus :)

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hal2000“ ()

    Der Programmordner wird vom Computer verwaltet, ähnlich wie der Benutzer-Ordner, und ist somit nicht statisch ansprechbar.

    Finde mittels SpecialDirectories den Pfad des Programmordners heraus und verbinde diesen mit dem weitern Pfad mit Path.Combine().

    Und mach mal die unnötigen Anführungszeichen weg.

    Edit: Habe noch das hier gefunden, vielleicht hilft es ja.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Schau dir:
    1. Environment
    2. Path.Combine
    3. Process klasse an

    Damit kannst du sehr einfach und sauber eine EXE starten.

    MFG

    EDIT: Lukas war schneller xD
    GOOGLE ist mein Meister :)
    Beispielcode:

    VB.NET-Quellcode

    1. Dim foo as String = Environment.GetEnvironmentVariable("ProgramFiles(x86)")
    2. Dim pfad as String = Path.Combine(foo, "avira\avira desktop\avscan.exe")
    3. Process.Start(pfad, "/CFG=C:\Program Files (x86)\avira\antivir desktop\sysscan.avp")


    Wäre nett, wenn du eine Rückmeldung gibst, ob das ganze funktioniert.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Gefunden und behoben :D Danke euch hier der alte Quellcode und die Lösung darunter

    VB.NET-Quellcode

    1. ''Systemscan ausführen
    2. 'If File.Exists("C:\program files\avira\avira desktop\avscan.exe") Then
    3. ' Shell("C:\program files\avira\avira desktop\avscan.exe /CFG='C:\Program Files\avira\antivir desktop\sysscan.avp'")
    4. 'ElseIf File.Exists(Chr(34) & "C:\program files (x86)\avira\avira desktop\avscan.exe" & Chr(34)) Then
    5. ' Shell("C:\program files (x86)\avira\avira desktop\avscan.exe /CFG='C:\Program Files (x86)\avira\antivir desktop\sysscan.avp'")
    6. 'Else
    7. ' MsgBox("Das Virenprogramm wurden icht gefunden!")
    8. 'End If
    9. Dim p As String
    10. Dim p2 As String
    11. p2 = "C:\Program Files (x86)\Avira\AntiVir Desktop\sysscan.avp"
    12. p = "C:\Program Files (x86)\Avira\AntiVir Desktop\avscan.exe"
    13. MsgBox(File.Exists(p))
    14. MsgBox(File.Exists("C:\Program Files (x86)\Avira\AntiVir Desktop\sysscan.avp"))
    15. Process.Start(p, " /CFG=" & p2)
    Wenn du die Anwendung verteilen willst, nimm lieber meine Lösung, den Programmordner rauszufinden. Denn den gibt es bei 32-bit-Systemen nicht. Du solltest also vorher noch prüfen, welche Architektur das System hat.

    Hier unten: [VB.NET] Betriebssystem ermitteln (inkl. Architektur)
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Jop daran habe ich auch gedacht ich hab es jetzt so gelöst

    VB.NET-Quellcode

    1. Dim px64 As String
    2. Dim px642 As String
    3. Dim px86 As String
    4. Dim px862 As String
    5. px64 = "C:\Program Files\Avira\AntiVir Desktop\avscan.exe"
    6. px642 = "C:\Program Files\Avira\AntiVir Desktop\sysscan.avp"
    7. px86 = "C:\Program Files (x86)\Avira\AntiVir Desktop\avscan.exe"
    8. px862 = "C:\Program Files (x86)\Avira\AntiVir Desktop\sysscan.avp"
    9. If File.Exists(px64) Then
    10. Process.Start(px64, " /CFG=" & px642)
    11. ElseIf File.Exists(px86) Then
    12. Process.Start(px86, " /CFG=" & px862)
    13. End If


    Deine Lösung ist natürlich schöner die habe ich aber auf Anhieb grade gar nicht gesehen hatte die Lösung bereits Sorry aber echt gut Bedankt.

    EDIT: Da ich noch andere Programme verwende (Freeware) habe ich einen Installer für alles insgesamt gemacht. Das Setup kann nur auf Windoof 7 Versionen ausgeführt werden. :)

    symphonie89 schrieb:

    Deine Lösung ist natürlich schöner

    Die ist nicht "schöner", sondern korrekt. Deine ist Müll. Sorry, aber ist so!
    Genau wegen so einem MÜLL hat Win7 zb die Versionsnummer 6.1 und nicht 7. Hat MS nur gemacht, weil 80% der Programmierer faule Säcke sind, die sich einen Sch... um "richtige" Lösungen kümmern, Hauptsache ihr Dreck läuft irgendwie.

    Hart, aber herzlos! Gewöhn dir an, KORREKTE Lösungen zu verwenden und NICHT "funktionierende"!
    Die ist nicht "schöner", sondern korrekt. Deine ist Müll. Sorry, aber ist so!
    Genau wegen so einem MÜLL hat Win7 zb die Versionsnummer 6.1 und nicht 7. Hat MS nur gemacht, weil 80% der Programmierer faule Säcke sind, die sich einen Sch... um "richtige" Lösungen kümmern, Hauptsache ihr Dreck läuft irgendwie.

    Hart, aber herzlos! Gewöhn dir an, KORREKTE Lösungen zu verwenden und NICHT "funktionierende"!


    Sooo jetzt kannst du es selbst austesten wenn du so sehr von dir Überzeugt bist!

    VB.NET-Quellcode

    1. Dim foo As String = Environment.GetEnvironmentVariable("ProgramFiles(x86)")
    2. Dim pfad As String = Path.Combine(foo, "avira\avira desktop\avscan.exe")
    3. Process.Start(pfad, "/CFG=C:\Program Files (x86)\avira\antivir desktop\sysscan.avp")


    Diese Lösung Funktioniert nämlich nicht!!! Falls du leute die grade mit VB angefangen haben Runtermachen willst dann mach das doch BITTE PRIVAT wenn die Leute auch vor dir stehen den es macht mir so den Anschein das du das nicht kannst. Wenn du so toll Programmieren kannst in VB dann Herzlichen aber einen ANFÄNGER runtermachen zu wollen SORRY aber das ist für mich das letzte mehr werde ich dazu nicht sagen.
    picoflop hat verdammt was auf dem Kasten. Also würde ich lieber leise sein.

    Zu deinem Problem: Was funktioniert nicht? Fehlermeldung? Symptome? "Funktioniert nämlich nicht!!!"111einself hilft uns nicht dabei, dir zu helfen.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Geh mal zur Datei -> Eigenschaften -> Sicherheit -> prüfe den Pfad.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    C:\Program Files (x86)\Avira\AntiVir Desktop\sysscan.avp
    Eingefügt Ausprobiert Ergebnis = geht nicht kann die Datei nicht finden

    habe jetzt foo und pfad mal ausgeben lassen
    foo ist c:\program files (x86)
    und pfad ist nur \avira\avira desktop\avscan.exe

    trotz

    VB.NET-Quellcode

    1. Dim pfad As String = Path.Combine(foo, "\avira\avira desktop\avscan.exe")

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „symphonie89“ ()

    symphonie89 schrieb:


    und pfad ist nur \avira\avira desktop\avscan.exe


    Nein.
    Bilder
    • nein.png

      17,9 kB, 571×235, 292 mal angesehen
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Schreib den Pfad mal groß, vielleicht hilft es ja. Ansonsten: Das kannst nur du lösen, denn wir haben deine Dateien nicht.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lukas“ ()