# Individueller Pfad des CD/DVD Laufwerks (Visual Basic)



## eXILe (24. Februar 2011)

Hallo zusammen,

ich möchte mir ein kleines "Programm" erstellen, dass ich auf eine CD/DVD brenne, auf der auch mehrere Setup Datein vorhanden sind. 
D.h. ich möchte, wenn ich auf einen Button in/auf dieser Programmoberfläche klicke, die gewünschte Setup Datei auf der DVD ausgeführt wird.

Das ganze mach ich in Visual Basic 2010 Express.

Das ausführen der Datei sollte nicht das Problem sein (shell Befehl, wenn ich mich nicht irre). Aber wie muss ich hier den Pfad angeben, dass dieser sich auf der CD/DVD befindet? Bei einem Festplatten Ordner, kann ich ja einfach den normalen Pfad angeben, aber bei den Optischen Laufwerken, ist das ja nicht von PC zu PC gleich.

mfg
exile


----------



## bingo88 (24. Februar 2011)

Ausm Bauch heraus würde ich jetzt sagen, du rufst den Pfad relativ zu deinem Programm auf:

[CD-ROOT]
- dein-launcher.exe
- app1
  - setup.exe
- app2
  - setup.exe

Pfade dann in der Form angeben:
Pfad1 = "app1\setup.exe"
Pfad2 = "app2\setup.exe"


----------



## eXILe (25. Februar 2011)

Hi, 
danke schonmal für die Infos. 

Aber es handelt sich hierbei nicht um eigenständige exe Dateien, sondern ganze Installationsordner. D.h. die Setup Dateien der verschiedenen Programme sind in den jeweiligen Ordnern.
Ok, dass die Launcher.exe im Root Verzeichnis sein muss ist irgendwie klar. Könnte diese ja auch über einen Autorun starten lassen.

Habs aber trotzdem mal so eingegeben:

Code für einen Button:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim programm1 As Long
        programm1 = Shell("programm1\setup.exe")
    End Sub

So gings aber net. Hab mir dann mit CDBurnerXP ein Image erstellt und in Virtual Clone Drive geladen. Die Launcher.exe konnte ich ausführen, aber wenn ich auf den Button geklickt hab, hatte es mir eine Fehlermeldung ausgegeben, dass es den Pfad nicht finden konnte.

Danke und schönes WE
exile


----------



## bingo88 (28. Februar 2011)

Dann versuch mal bitte das hier: Application.ExecutablePath-Eigenschaft (System.Windows.Forms)

Du musst allerdings den Pfad extrahieren (also ohne die Exe am Ende; da gibts aber auch ne Funktion irgendwo...)


----------



## eXILe (3. März 2011)

War jetzt paar Tage im Uni-Klausuren-Wahnsinn, aber jetzt hab ich das nochmal probiert.

Wenn ich einen festen Pfad eingebe, z.B. irgendwo auf C:\ findet er die setup.exe wunderbar.
Hab mal bissle gegoogelt und bin auf den Begriff Relativer Pfad gekommen. Könnte man das nun so machen, dass ich in der Launcher Datei die Unterordner abfrage und somit eine Ordnerstruktur bekomme, die ich dann wieder in den Prozess einfügen kann und somit einen Pfad hab?

@bingo88: das was du mir vorgeschlagen hast, versteh ich schon. Nur ich weiß nicht, wie ich das dann in die  VB Datei einbauen kann?! Aber das ist ja im Prinzip das, was ich oben geschrieben hab, Ordnerstruktur auslesen und diese dann verwenden oder?


----------

