Ich bin diesen Weg schon einmal gegangen und muss den Anwendungspool manuell erstellen oder eine benutzerdefinierte Aktion schreiben, um dies für Sie zu verwalten.
Weiteres zu Grzenio Frage in den Kommentaren unten:
„Können Sie mir einen Tipp geben, wo die Code/Helferklassen zu beginnen, und halten Sie Ihr Projekt ein Web-Setup-Projekt, oder einfach nur benutzen das Standard-Anwendungs-Setup-Projekt? "
Ich habe ein neues Projekt namens InstallHelper
zu der Lösung hinzugefügt, die das Setup-Projekt enthält. In diesem Projekt habe ich eine Klasse namens InstallActions
erstellt, die sich ableitet von:
System.Configuration.Install.Installer
(MSDN).
Es gibt vier Methoden, die Sie in der Basisklasse Installer
überschreiben können, damit Sie benutzerdefinierte Aktionen angeben können, abhängig davon, ob Sie sich während der Installation im Install-, Commit-, Uninstall- oder Rollback-Modus befinden.
Ich habe der Benutzeroberfläche des Setup-Projekts auch eine Reihe von Textdialogfeldern hinzugefügt. Eingabe und Status, die von diesen Dialogen erfasst wurden, werden über ein Wörterbuch an Ihre benutzerdefinierte Installationsaktion übergeben. d.h .:
using System.Collections.Specialized;
using System.ComponentModel;
using System.Configuration.Install;
using System.Windows.Forms;
namespace InstallHelper
{
[RunInstaller(true)]
public partial class PostInstallActions : Installer
{
public override void Install(IDictionary state)
{
base.Install(state);
// Do my custom install actions
}
public override void Commit(IDictionary state)
{
base.Commit(state);
// Do my custom commit actions
}
public override void Uninstall(IDictionary state)
{
base.Uninstall(state);
// Do my custom uninstall actions
}
public override void Rollback(IDictionary state)
{
base.Uninstall(state);
// Do my custom rollback actions
}
}
}
Um die benutzerdefinierte Aktion zum Setup-Projekt hinzuzufügen, öffnen Sie die Aktionen Benutzerdefinierte Viewer/Editor, und geben Sie die Ausgabe aus dem InstallHelper
Projekt.
Das sind die Grundlagen und sollten Sie beginnen. Das Web-Setup-Projekt unterstützt auch benutzerdefinierte Aktionen und zusätzliche Benutzereingabedialogfelder, sodass Sie möglicherweise Ihr vorhandenes Projekt zusätzlich zu einer benutzerdefinierten Aktion erneut verwenden möchten.
Ich benutze benutzerdefinierte Aktionen dazu in .net 2.0 –
Prost für die Antwort. Könnten Sie mir einen Hinweis geben, wo ich anfangen soll, nach den Code-/Hilfsklassen zu suchen? Und behalten Sie Ihr Projekt ein Web-Setup-Projekt, oder verwenden Sie einfach das Standard-Anwendungs-Setup-Projekt? – Grzenio
Ich schaute mir zunächst das Web-Setup-Projekt an, entschied mich dann aber dafür, das Standard-Setup-Projekt zu verwenden, da meine Anforderungen auch die Installation eines Windows-Dienstes und die Erstellung der Website beinhalteten. – Kev