Je dois supprimer un répertoire virtuel et un pool d'applications de .NET dans le cadre de ma méthode de désinstallation. J'ai trouvé le code suivant sur le web quelque part:Comment puis-je supprimer des objets IIS de C#?
private static void DeleteTree(string metabasePath)
{
// metabasePath is of the form "IIS://<servername>/<path>"
// for example "IIS://localhost/W3SVC/1/Root/MyVDir"
// or "IIS://localhost/W3SVC/AppPools/MyAppPool"
Console.WriteLine("Deleting {0}:", metabasePath);
try
{
DirectoryEntry tree = new DirectoryEntry(metabasePath);
tree.DeleteTree();
tree.CommitChanges();
Console.WriteLine("Done.");
}
catch (DirectoryNotFoundException)
{
Console.WriteLine("Not found.");
}
}
mais il semble jeter un COMException
sur tree.CommitChanges();
. Ai-je besoin de cette ligne? Est-ce une approche correcte?
Pouvez-vous coller la COMException complète? – Kev
Vous devriez vraiment utiliser l'installateur Windows pour faire ce genre de choses. Wix intègre des fonctions permettant de créer et de supprimer automatiquement les objets IIS. –
@Jesse - En utilisant Wix, pouvez-vous demander aux utilisateurs de créer un nouveau pool d'applications/site Web/vdir plutôt que de choisir ceux qui existent déjà (le projet VS Web Setup vous permet uniquement de sélectionner des objets IIS existants)? – Kev