2016-05-14 3 views
0

Ich bin etwas neu in VB.NET, so kam ich hierher, um eine Frage zu stellen. Ich mache ein benutzerdefiniertes Installationsprogramm, das "setup.exe" startet, das sich im lokalen Verzeichnis befindet und von der Visual Studio-Funktion "Publish" erstellt wurde. Ich möchte meine WindowsFormApplication bekommen das 'Ja oder Nein' Ergebnis von der 'setup.exe' und wenn es ja ist, wird es aktivieren button1 und wenn Nein, wird es zeigen MsgBox sagen "Prozess vom Benutzer abgebrochen. Ich habe recherchiert . viel im Internet, die nur erzählt, wie YesorNo Ergebnis aus der MsgBox zu bekommen und eine Aktion habe ich versucht, dies:Get 'Yes or No' Ergebnis von gestarteten Anwendung - Vb.net

Dim result As Integer = Process.Start("setup.exe") 
    If result = Result.No Then 
     MessageBox.Show("Process Cancelled by user") 
    ElseIf result = Result.Yes Then 
     Button1.Enabled = True 
    End If 
+0

Die von "Veröffentlichen" erstellte Datei setup.exe ist für die Verwendung als ClickOnce-Installationsprogramm gedacht. Die von einem Bereitstellungsprojekt erstellte Datei setup.exe, entweder ISLE oder [die Erweiterung] (https://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9), enthält eine Schaltfläche zum Abbrechen. – peterG

+0

Danke, aber ich habe bereits "Microsoft Visual Studio 2015 Installer-Projekte" installiert. f Diese Methode ist mit der von Visual Studio erstellten setup.exe nicht möglich. Gibt es eine andere Möglichkeit, dies zu tun? –

+0

Ich bin mir nicht sicher, was Sie tun möchten, tbh, aber ich denke, dass [diese Frage] (http://stackoverflow.com/questions/1585354/get-return-value-from-process) könnte was du bist Ich suche nach. – peterG

Antwort

0

Sie sollten dies lesen,

https://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput(v=vs.110).aspx

Sie warten müssen für den Prozess zu verlassen, aber alles hängt davon ab, was setu p.exe generiert für die Ausgabe ...

+0

Aber es wartet nur auf den Ausgang und erzielt keine Ergebnisse. Der Exit kann auf beiden Seiten erfolgen. Wenn Ja geklickt wird, installiert Setup.exe die Anwendung und schließt. Wenn Nein geklickt wird, wird Setup.exe einfach geschlossen. Der Code sagt, was zu tun ist, wenn das Programm geschlossen ist. –

+0

Das habe ich gesagt und was du wahrscheinlich nicht hören willst; Es hängt davon ab, welche Ausgabe diese setup.exe erstellt. Es gibt keine einfache Möglichkeit herauszufinden, was in einem anderen Programm passiert, wenn das andere Programm keine Ausgabe liefert. Sie können diese setup.exe dekompilieren und/oder neu erstellen, was sehr schwierig ist. Anscheinend erzeugt Ihre setup.exe keine Ausgabe. Sehen Sie, Sie starten einen Prozess und Sie möchten sehen, ob später etwas installiert wird. Sie können die Liste der installierten Programme nach der Installation aus der Registrierung abrufen und Ihre Schaltfläche aktivieren, falls sie installiert ist. – Lectere

+0

Gibt es eine Möglichkeit, etwas Ähnliches wie setup.exe zu erstellen, das das Programm installiert und eine Ausgabe liefert? –

Verwandte Themen