Nous avons une application Web qui était jusqu'à présent installée sous le "Site Web par défaut" dans IIS. Un client veut maintenant que nous l'installions sous un site Web différent, et nous voulons le faire à partir de l'installateur. Ma question est en 2 parties: A) Comment est-ce que j'ajoute par programme un autre site Web à côté du 'site web par défaut'? B) Nous utilisons Windows Installer - existe-t-il un moyen de déclencher le code que j'écris pour la section A à partir de l'installateur à temps pour que l'installation ait lieu au nouvel emplacement? Il semble que l'inversion de Install() soit trop tardive dans le jeu ...Comment ajouter par programme un site Web (C#) à IIS 6.0?
Répondre
nous utilisons un script Windows js pour mettre à jour nos répertoires virtuels entre les branches, j'imagine que vous pouvez utiliser les mêmes objets pour créer un site Web
var iisPath = "IIS://localhost/W3SVC/" + siteID;
var site = GetObject(iisPath);
Microsoft a une fairly extensive article sur la configuration IIS 6 programatically. Tant que votre MSI peut appeler un fichier batch, cet article devrait vous aider.
This article a également un fichier de script complet qui crée un site Web.
Si vous utilisez WiX pour créer votre MSI, voyez this question.
Non, pas WiX ici, juste de base Windows Installer (. Oh, la joie ... pas) –
Pas vraiment un expert dans les fichiers MSI, mais vous pouvez ajouter un site Web à l'aide de scripts utilisant adsutil.vbs. La manière de l'homme pauvre de manipuler ceci est d'avoir votre installateur déposez les dossiers à un emplacement sans créer un site Web alors courez une étape plus tard avec le manuscrit pour créer un site Web avec la racine à cet endroit. Des points bonus pour rendre cette option optionnelle pour les administrateurs IIS nus comme moi qui détestent les installateurs touchant IIS.
est ici un code C# pour programme la création d'un site:
1 using System.DirectoryServices;
2 using System;
3
4 public class IISAdmin
5 {
6 public static int CreateWebsite(string webserver, string serverComment, string serverBindings, string homeDirectory)
7 {
8 DirectoryEntry w3svc = new DirectoryEntry("IIS://localhost/w3svc");
9
10 //Create a website object array
11 object[] newsite = new object[]{serverComment, new object[]{serverBindings}, homeDirectory};
12
13 //invoke IIsWebService.CreateNewSite
14 object websiteId = (object)w3svc.Invoke("CreateNewSite", newsite);
15
16 return (int)websiteId;
17
18 }
19
20 public static void Main(string[] args)
21 {
22 int a = CreateWebsite("localhost", "Testing.com", ":80:Testing.com", "C:\\inetpub\\wwwroot");
23 Console.WriteLine("Created website with ID: " + a);
24 }
25
26 }
Référence: http://www.it-notebook.org/iis/article/cs_create_website_iis6.htm
- 1. Comment ajouter par programme un filtre générique pour IIS?
- 2. Code pour ajouter un en-tête d'hôte à un site Web IIS
- 3. Comment la connexion à un site Web IIS utilisant Kerberos
- 4. Comment ajouter un mappage de type de fichier à IIS 5 par programme
- 5. Créer par programme un site Web dans IIS en utilisant C# et définir le numéro de port
- 6. Quel paramètre IIS 6.0 détermine comment un chemin est résolu?
- 7. Connectez-vous par programme dans un site Web dans asp.net
- 8. Configuration du répertoire virtuel IIS 6.0
- 9. Monitor IIS 6.0
- 10. Comment ajouter un site à la zone "Local Intranet" par programme?
- 11. Configurer le port SSL du site Web IIS 6 par programmation?
- 12. Comment ajouter des éléments à un menu par programme?
- 13. Démarrer le site Web spécifique d'IIS 6.0 via le script
- 14. Comment puis-je rechercher l'ID de site IIS en C#?
- 15. requête de site Web IIS
- 16. Ajouter un modèle de site (.stp) à SharePoint par programmation
- 17. Ajout de métadonnées personnalisées à un site d'équipe par programme
- 18. Ajouter par programme "Mon emplacement réseau" pour le site FTP?
- 19. TWiki ajouter un nouveau sujet par programme
- 20. Comment se connecter par programme à IIS 7
- 21. Ajouter par programme un SSIS ForEachLoop
- 22. Ajouter des lignes par programme à un DataGridTable
- 23. Comment modifier un site Web à partir d'un site hébergé IIS vers un site hébergé ASP.Net Development Server?
- 24. Ajout de l'application Web C# à un site Web avec IIS6
- 25. OSGi: ajouter par programme des importations à un groupe
- 26. Ajouter un rendez-vous à l'agenda via Exchange par programme
- 27. Comment débloquer un site Web bloqué à l'aide de C#?
- 28. ajouter par programme css class à ListItem
- 29. classique ASP dans IIS 6.0 n'échelle
- 30. Comment puis-je limiter par programme l'accès à un Webservice?
I suppose que j'ai supposé que le site Web était C# pas le programme demandé. Cependant, il n'y a aucune raison pour que ces objets ne puissent pas être utilisés en C#. –