Hallo Leute,
ich hab jetzt ne Weile im Netz und auch bei MS geguckt, aber für mich nichts richtig brauchbares gefunden.
Ich möchte gerne Programme installieren nach Aufruf eines Buttons (funktioniert schon) und dann die Prozessbar aktualisieren, dass er mir sozusagen anzeigt wieviel Prozent er vom gesamten Programmeinstallieren schon fertig hat.
hier ist die Installfunktion
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| private void install(string programm, string parameter) { lblStatus.Visible = true; string myProgramsPath = Application.StartupPath; proc.StartInfo.FileName = myProgramsPath + "\\" + programm; proc.StartInfo.Arguments = parameter; proc.StartInfo.CreateNoWindow = true; proc.Start(); installed++; progressBar1.Value = (100 * installed) / anzahl; progressBar1.Update(); lblProzent.Text = progressBar1.Value.ToString("00")+"%"; proc.WaitForExit(); } |
ich übergebe ihm eine exe datei und die parameter, wie gesagt installieren geht,
danach starte ich die Installation des Programms über proc.Start() und zähle die Anzahl der installierten Programme (installed++) eins hoch
nur mit den zwei zeilen mit der progressbar weiß ich nicht wie ich das global lassen laufen kann. stimmt die Berechnung?
Anzahl ist die Anzahl der zu installierenden Programme.
Ein weiteres Problem ist noch, dass während die Programme nacheinander installiert werden, ich nicht mehr ordentlich auf die GUI zugreifen kann, bzw. wenn ich ein Installationsfenster verschiebe während der installation, dann bleibt wird die GUI mit dem Installationsfenster weiterhin übermalt, sodass diese nicht vernünftig ausschaut.
Ich kann ja falls gewünscht einen Screenshot davon reinstellen....
Ich hoffe ihr könnt mir helfen.
LG Benny
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt