WinFuture-Forum.de: [vb.net] Iso Datei Erstellen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

[vb.net] Iso Datei Erstellen mit oscdimg.exe oder cdimage.exe


#1 Mitglied ist offline   Sereby 

  • Gruppe: aktive Mitglieder
  • Beiträge: 262
  • Beigetreten: 22. März 04
  • Reputation: 0

geschrieben 04. April 2007 - 16:15

Hi,

ich brauche ein bisschen hilfe von euch!

folgendes problem ärgert mich gerade:
Wenn ich ne ISO datei über einen der beiden folgenden .BAT befehle erstelle ist alles wunderbar!
Das DOS-Fester is prall gefüllt mit text und die ISO datei wird erstellt.
oscdimg.exe -n -b"F:\Betriebssysteme\Windows Vista\vistafinalde\boot\etfsboot.com" "F:\Betriebssysteme\Windows Vista\vistafinalde" "F:\test.iso" -lVISTAISOLABEL -o -m


"C:\CDIMAGE.EXE" -l"VISTAISOLABEL" -h -j1 -b"F:\Betriebssysteme\Windows Vista\vistafinalde\boot\etfsboot.com" -x -o -m "F:\Betriebssysteme\Windows Vista\vistafinalde" "F:\test.iso"


wenn ich diese befehle in VB.NET üpber den shell befehl laufen lasse funktioniert es ebenfalls.

Wenn ich allerdings versuche den Inhalt des Dosfensters auszulesen damit ich die % Zahl herausbekomme, damit ich ne Progressbar betreiben kann, is das Dosfenster leer! Mit folgendem CODE habe ichs versucht
Dim Anwendung As System.Diagnostics.Process = New System.Diagnostics.Process() 
With Anwendung.StartInfo 
.FileName = """" & Application.StartupPath & "\Bin\oscdimg.exe""" 
If C0060.Checked = True Then 
.Arguments = "-n -b""" & willkommen.SourcePaths.SelectedItem & "\boot\etfsboot.com"" """ & willkommen.SourcePaths.SelectedItem & """ """ & TextBox2.Text & """ -l" & TextBox1.Text & " -o -m" 
Else 
.Arguments = "-n -b""" & willkommen.SourcePaths.SelectedItem & "\boot\etfsboot.com"" """ & willkommen.SourcePaths.SelectedItem & """ """ & TextBox2.Text & """ -lVISTAISOLABEL -o -m" 
End If 
 .CreateNoWindow = False 
.RedirectStandardInput = True 
.RedirectStandardOutput = True 
.RedirectStandardError = True 
.UseShellExecute = False 
End With 

Anwendung.Start()


das selbe passiert mit CDIMAGE.EXE!
hoffe heir kann mir jemand helfen :(

Sereby

Dieser Beitrag wurde von Sereby bearbeitet: 04. April 2007 - 16:34

0

Anzeige



#2 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.942
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 04. April 2007 - 18:30

(Wer hat sich eigentlich damals diesen komischen With Mist ausgedacht?!)

Natürlich siehst du nichts, weil du kein Fenster anzeigst (CreateNoWindow = False) und den Output umleitest (RedirectStandardOutput = True ). Aber wohin?

Guck dir das mal an
 Process p = New Process()
 p.StartInfo.UseShellExecute = False
 p.StartInfo.RedirectStandardOutput = True
 p.StartInfo.FileName = "foo.exe"
 p.StartInfo.Arguments = "-bar"
 p.Start()
 String output = p.StandardOutput.ReadToEnd()
 p.WaitForExit()

0

#3 Mitglied ist offline   Sereby 

  • Gruppe: aktive Mitglieder
  • Beiträge: 262
  • Beigetreten: 22. März 04
  • Reputation: 0

geschrieben 04. April 2007 - 19:08

naja schonmal nen anfang..

Dim p As Process = New Process()
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardOutput = True
p.StartInfo.FileName = """" & Application.StartupPath & "\Bin\CDIMAGE.EXE"""
If C0060.Checked = True Then
	p.StartInfo.Arguments = "-l""VISTAFIXED"" -h -j1 -b""F:\Betriebssysteme\Windows Vista\vistafinalde\boot\etfsboot.com"" -x -o -m ""F:\Betriebssysteme\Windows Vista\vistafinalde"" ""F:\test.iso"""
Else
	p.StartInfo.Arguments = "-l""VISTAFIXED"" -h -j1 -b""F:\Betriebssysteme\Windows Vista\vistafinalde\boot\etfsboot.com"" -x -o -m ""F:\Betriebssysteme\Windows Vista\vistafinalde"" ""F:\test.iso"""
End If

p.Start()
Do Until p.HasExited
	RichTextBox1.Text = p.StandardOutput.ReadLine()
	My.Application.DoEvents()
Loop



bloss die gui hängt sich da trotzdem ein und somit is der text der textbox auch nich aktualisiert..
was tun?

Dieser Beitrag wurde von Sereby bearbeitet: 04. April 2007 - 19:09

0

#4 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.942
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 04. April 2007 - 21:38

Wenn die GUI "einfriert" dann musst du diese Operationen in einem zweiten Thread starten.
0

#5 Mitglied ist offline   Sereby 

  • Gruppe: aktive Mitglieder
  • Beiträge: 262
  • Beigetreten: 22. März 04
  • Reputation: 0

geschrieben 05. April 2007 - 08:07

mit threads kenn ich mich eigentlich garnich aus ^^
ich hab das hier ma gemacht

Dim t As Thread = New Thread(AddressOf Me.BackgroundProcess)
		t.Start()

Private Sub BackgroundProcess()
		p = New Process()
		p.StartInfo.UseShellExecute = False
		p.StartInfo.RedirectStandardOutput = True
		p.StartInfo.CreateNoWindow = False
		p.StartInfo.FileName = """" & Application.StartupPath & "\Bin\CDIMAGE.EXE"""
		If C0060.Checked = True Then
			p.StartInfo.Arguments = "-l""VISTAFIXED"" -h -j1 -b""F:\Betriebssysteme\Windows Vista\vistafinalde\boot\etfsboot.com"" -x -o -m ""F:\Betriebssysteme\Windows Vista\vistafinalde"" ""F:\test.iso"""
		Else
			p.StartInfo.Arguments = "-l""VISTAFIXED"" -h -j1 -b""F:\Betriebssysteme\Windows Vista\vistafinalde\boot\etfsboot.com"" -x -o -m ""F:\Betriebssysteme\Windows Vista\vistafinalde"" ""F:\test.iso"""
		End If

		p.Start()
		Do Until p.HasExited
			RichTextBox1.Text = p.StandardOutput.ReadToEnd
		Loop
End Sub


bloss das problem is da das übermitteln des outputs zur richtextbox! könnte mir da jemand helfen ich habe keine ahnung wie das anzustellen is.

Sereby
0

#6 Mitglied ist offline   LostGhost 

  • Gruppe: aktive Mitglieder
  • Beiträge: 295
  • Beigetreten: 18. Mai 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Bremen
  • Interessen:Zocken, Programieren, Kino, Am Windows rumbasteln (nicht unbedingt in dieser Reihenfolge :-)

geschrieben 05. April 2007 - 08:45

Es könnte auch daran liegen, dass die CDIMAGE die Prozente immer in die selbe Zeile schreibt. Sowas ist schwer auszulesen...

Du kannst es prüffen in dem du deine
Do
...
Loop
zählst.

Ich tippe, dass diese Schleife nicht 100 mal durchläuft, wie es für 100 Prozent notwendig währe.
LostGhost

Eingefügtes Bild
0

#7 Mitglied ist offline   Sereby 

  • Gruppe: aktive Mitglieder
  • Beiträge: 262
  • Beigetreten: 22. März 04
  • Reputation: 0

geschrieben 05. April 2007 - 09:03

ja oscdimg und cdimage sind eigentlich bis auf den namen absolut gleich
wie du gesagt hast immer in der selben zeile!
Angehängtes Bild: dingens.png
0

#8 Mitglied ist offline   tobiasndw 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.815
  • Beigetreten: 24. September 03
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 05. April 2007 - 09:06

Und das da steht "For Microsoft internal use only" ignorierst du einfach mal?

Wird ja sicherlich kein privates Tool.

Dieser Beitrag wurde von tobiasndw bearbeitet: 05. April 2007 - 09:06

0

#9 Mitglied ist offline   Sereby 

  • Gruppe: aktive Mitglieder
  • Beiträge: 262
  • Beigetreten: 22. März 04
  • Reputation: 0

geschrieben 05. April 2007 - 09:09

das steht bei cdimage ebenfalls!
0

#10 Mitglied ist offline   tobiasndw 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.815
  • Beigetreten: 24. September 03
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 05. April 2007 - 09:09

Ja, korrekt.
0

#11 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.942
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 05. April 2007 - 09:18

Zitat

For Microsoft internal use only

Kann mich hier gerade jemand aufklären...

Verstehe ich das richtig, dass das Tool rechtlich nur von Microsoft genutzt werden kann?

Wenn dem so ist, dürfen wir hier kein Support für geben und ich müsste hier dicht machen.
0

#12 Mitglied ist offline   tobiasndw 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.815
  • Beigetreten: 24. September 03
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 05. April 2007 - 09:20

@Witi

du hast es erfasst. ;-)
0

#13 Mitglied ist offline   Sereby 

  • Gruppe: aktive Mitglieder
  • Beiträge: 262
  • Beigetreten: 22. März 04
  • Reputation: 0

geschrieben 05. April 2007 - 09:22

da streiten sich vermutlich die geister.. tobiadndw wird dem auf jeden fall zu stimmen aber goole mal kurz nach "cdimage.exe" oder nur "cdimage" und guck ma wer das alles verwendet.. pe builder usw. und das seit ewigkeiten also ich glaube kaum dass ms da was gegen hat wenn das schon seit jahren so gemacht wird.
meiner meinung nach tolerieren die das ._.

ansonsten gebt mir ideen welche tools kostenlos sind und noch isos erstellen können die bootbar sind!
aber bitte nicht mkisofs, weil das nicht funktioniert -.-
0

#14 Mitglied ist offline   tobiasndw 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.815
  • Beigetreten: 24. September 03
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 05. April 2007 - 09:23

"mkisofs" funktioniert sehr wohl. :rolleyes:

Und CDRecord gibts auch noch:
http://cdrecord.berl...e/cdrecord.html

Dieser Beitrag wurde von tobiasndw bearbeitet: 05. April 2007 - 09:30

0

#15 Mitglied ist offline   Sereby 

  • Gruppe: aktive Mitglieder
  • Beiträge: 262
  • Beigetreten: 22. März 04
  • Reputation: 0

geschrieben 05. April 2007 - 09:31

also bei mir bricht der bei der erstellung immer ab und erhöht nie die % zahl

habe folgende parameter benutzt
mkisofs.exe -iso-level 4 -volid "Test" -udf -allow-multidot -relaxed-filenames -allow-leading-dots -N -l -d -D -joliet-long -duplicates-once -no-emul-boot -boot-load-size 4 -b boot/etfsboot.com -hide boot/etfsboot.com -hide boot.catalog -o "F:\test.iso" "F:\Betriebssysteme\Windows Vista\vistafinalde"


CDRecord hat mkisofs intus

Dieser Beitrag wurde von Sereby bearbeitet: 05. April 2007 - 09:32

0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0