2008-09-13 6 views
20

Ich habe ein Visual Studio-Setup-Projekt, das ich verwende, um eine ziemlich einfache WinForms-Anwendung zu installieren. Am Ende der Installation habe ich eine benutzerdefinierte Benutzeroberfläche, die ein einzelnes Kontrollkästchen anzeigt, das den Benutzer fragt, ob er die Anwendung ausführen möchte. Ich habe gesehen, dass andere Installateure das oft machen. Ich kann jedoch keine Möglichkeit finden, das Setup-Projekt nach Abschluss der Installation dazu zu veranlassen, eine ausführbare Datei auszuführen. Eine Idee?Wie wird die ausführbare Datei am Ende des Installationsprojekts ausgeführt?

HINWEIS: Sie können keine benutzerdefinierten Aktionen verwenden, da diese als Teil des Installationsprozesses verwendet werden. Ich möchte meine installierte Anwendung ausführen, sobald der Benutzer am Ende der Installation auf die Schaltfläche 'Schließen' klickt.

Antwort

8

Ich glaube, das ist eine der wirklichen Einschränkungen des Visual Studio Installationsprojekts. Sie müssen in der Lage sein, die letzte Seite der Installationsoberfläche zu ändern, aber VS.NET bietet Ihnen keine Möglichkeit, dies zu tun. Sie könnten die Tabellen in der .MSI ändern, nachdem sie erstellt wurde, aber VS.NET würde diese Änderungen wahrscheinlich jedes Mal überschreiben, wenn sie erstellt wird. Möglicherweise können Sie die letzte Seite mithilfe eines Mergemoduls überschreiben, das Sie in das Installationsprojekt einschließen. In jedem Fall müssen Sie sich mit der Erstellung der UI-Dialoge in einer .MSI vertraut machen, was nicht trivial ist.

Sie sollten in Erwägung ziehen, zu einem kostenlosen scriptbasierten Installationsprogramm zu wechseln oder eine kommerzielle Authoring-Anwendung zu kaufen (kaufen Sie InstallShield nicht aus Liebe zu Pete). Werfen Sie einen Blick auf InstallAware (obwohl ich es nicht benutzt habe).

1

Ich habe dies für interne Anwendungen getan, indem ich eine VB-Skript-Kabelbaum erstellt, startet die ausführbare Setup-Datei, wartet auf den Abschluss und startet dann das zweite Programm.

Sie könnten dies auch mit ein wenig mehr Polnisch mit ein paar Win-API-Aufrufe in einer ausführbaren C ausführen.

4

Sie können auch benutzerdefinierte Aktionen

+0

Unter dem commit Ordner in Zollmaßnahmen helfen können Sie eine benutzerdefinierte Aktion hinzufügen und wechseln Sie zu Ihrem primären Ausgang exe auswählen können. Dies wird nach der Installation ausgeführt werden. Sie können es auch abhängig von einer Checkbox machen, die Sie zu Einstellungsdialogen hinzufügen können. In der Bedingung Eigenschaft hätten Sie CHECKBOXA1 = 1 zum Beispiel –

4

Ich habe verwenden gefunden nur eine sehr einfache Art und Weise, die keine externen Werkzeuge erfordert. Sie müssen dem Hauptprojekt nur eine Klassendatei und dem Setup-Projekt eine benutzerdefinierte Aktion hinzufügen.

http://www.codeproject.com/KB/install/Installation.aspx

+0

Dank der Link hat mir geholfen, den gesamten Prozess viel besser zu verstehen – DeveloperChris

+0

Dank nützlichen Link – Ahmed

0

Ich schaffte es, indem Sie die Hauptmethode der Baugruppe mit der folgenden Zeile Aufruf:

(typeof(ClassWithinAssemblyToExecute)).Assembly.EntryPoint.Invoke(null, new Object[] {}) 
+0

okay, so dass nicht einen neuen Prozess starten, aber es arbeitete für meine Bedürfnisse als alle ich Dazu musste ein kleines Konfigurationsformular ausgeführt werden. – Grub

0

Sie es von einem Installations tun können. Fügen Sie einfach die Installer-Klasse hinzu und Sie sehen viele Ereignisse wie nach der Installation, vor der Installation. Einfach nach der Installation anschließen und von dort aus exe nach Prozessklasse ausführen. Ich würde vorschlagen, dass Sie googeln, um mehr über benutzerdefinierte Installationsprogramm zu finden. hier ist eine gute Verbindung, die u http://www.codeproject.com/Articles/19560/Launching-Your-Application-After-Install-using-Vis

dank