je vais avoir une classe d'installation, voici un extrait:classe personnalisée d'installation, méthode Rollback jamais appelé
[RunInstaller(true)]
public partial class ServerWrapInstaller : Installer
{
public override void Install(IDictionary stateSaver)
{
EventLog.WriteEntry("Installer", "Install", EventLogEntryType.Information);
base.Install(stateSaver);
}
public override void Commit(IDictionary savedState)
{
EventLog.WriteEntry("Installer", "Commit", EventLogEntryType.Information);
base.Commit(savedState);
}
public override void Rollback(IDictionary savedState)
{
EventLog.WriteEntry("Installer", "Rollback", EventLogEntryType.Information);
base.Rollback(savedState);
}
public override void Uninstall(IDictionary savedState)
{
EventLog.WriteEntry("Installer", "UnInstall", EventLogEntryType.Information);
base.Uninstall(savedState);
}
}
Maintenant, je commence l'installation en pleine mode graphique, puis cliquez sur le bouton « Annuler » dans le milieu du processus provoquant l'annulation de l'installation. Le problème est que la méthode RollBack n'est pas appelée. Je ne vois pas l'entrée attendue dans le journal des événements.
Je tiens à mentionner que si je laisse l'installation se terminer, je vois le message "Installer" dans le journal des événements et si je puis désinstaller, je vois le message "désinstaller" dans le journal des événements. Mais si vous arrêtez le processus d'installation au milieu, en appuyant sur le bouton "annuler", je vois la barre de progression revenir en arrière, mais la méthode d'annulation n'est pas appelée.
qu'est-ce que je fais mal? Merci d'avance pour votre aide.
Edit:
Fournir plus de détails ...
Le programme d'installation est un package MSI.
Le package est intégré dans vs2009 à l'aide d'un projet d'installation. La classe d'installation est utilisée comme une action personnalisée par le projet d'installation.
Comme il s'agit d'un package MSI, j'ai une option pour l'exécuter en mode silencieux ou en mode interactif plus. Lorsque j'ai écrit "Mode graphique complet", j'utilise le mode interactif.
Que voulez-vous dire en exécutant l'installation en mode graphique complet? Votre ServerWrapInstaller est-il utilisé par un paquet .msi ou une application de configuration? Si oui, quelle technologie avez-vous utilisée pour créer l'installateur? –
Marque: J'ai édité le message – user88637