Installationspfad herausfinden

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von niwax.

    Installationspfad herausfinden

    Guten Tag,

    ich schreibe mit Visual Basic ein Programm, welches dann installiert wird. Nun würde zur Laufzeit gerne den Installationspfad auslesen um dort eine Datei zuerzeugen und auszulesen.

    Es scheint so zu gehen, zumindest beim Debuggen:

    VB.NET-Quellcode

    1. Dim ApplicatonPath As String = Application.StartupPath

    Leider kann ich das Programm momentan nicht installieren und deshalb wollte ich wissen, ob ich dann beim installierten Programm den Pfad der .exe bekomme, mit der das Programm aufgerufen wurde.

    Danke und Gruß


    Verschoben, da kein VBA-Thema

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Agent“ ()

    Die datei erzeugen:

    VB.NET-Quellcode

    1. my.computer.filesystem.writeallbytes(application.startuppath & "name.txt", Richtextbox1.text)

    oder:

    VB.NET-Quellcode

    1. richtextbox1.savefile(application.startuppath & "name.txt")


    auslesen:

    VB.NET-Quellcode

    1. richtextbox1.text = application.startuppath & "name.txt"



    Wichtig:

    Das Programm muss als Administrator ausgeführt werden! Sonst hat es keine
    Lese- und Schreibrechte!

    greenVB-user

    greenVB-user schrieb:

    Das Programm muss als Administrator ausgeführt werden! Sonst hat es keine
    Lese- und Schreibrechte!

    Das ist nur begrenzt richtig.
    Pfade die der User sowiso hat darf er auch bescheiben. Root oder sopnstige nicht.

    @tester567
    dein Code liest den StartUp Path aus . das ist richtig.

    VB.NET-Quellcode

    1. Dim ApplicatonPath As String = Application.StartupPath
    Die Beispiele brauchen den allerdings gar nicht, da das WorkingDirectory (Windows-Terminus -> Verknüpfungen "Ausführen in...") als CurrentDirectory für die Anwendung gilt:

    VB.NET-Quellcode

    1. IO.File.Create("note.txt", My.Resources.Notizen)

    ist äquivalent zu

    VB.NET-Quellcode

    1. IO.File.Create(My.Application.Info.StartupPath & "note.txt", My.Resources.Notizen)
    Wenn du ne Einstellungsdatei oä speichern willst ist es sinnvoller, die in dem AppData-Ordner des benutzers anzulegen, weil sonst die UAC dazwischenfunkt.

    VB.NET-Quellcode

    1. My.Computer.FileSystem.SpecialDirectories.CurrentUserApplicationData

    gibt zB C:\Users\<Benutzer>\AppData\Roaming\<anwendung>\<Version>\ zurück. Damit sind Anwendung-, Benutzer- und versionskonflikte behoben und dein Programm hat volle Zugriffsrechte auf den Ordner.