2010-07-15 10 views
1

J'écris un programme d'installation en utilisant WiX qui va créer un site web et un répertoire virtuel, entre autres, dans IIS. J'ai eu du mal à m'assurer que le programme d'installation fonctionnera sur Windows Server 2003 avec IIS6, Windows Server 2008 avec IIS7 et Windows Server 2008 R2 avec IIS7.5.Les principales différences entre IIS6 et IIS7

L'un des premiers problèmes que j'ai rencontrés était que IIS7 utilise un groupe différent pour les comptes. Au lieu de IIS_WPG de IIS6, il utilisera le groupe IIS_IUSR. La configuration du site Web appartenait à une fonction d'action personnalisée distincte qui faisait référence à ce nom de groupe. Le passage à l'utilisation de la fonctionnalité WiX IIS peut aider avec d'autres différences mineures entre les versions IIS.

Y a-t-il d'autres changements importants à IIS dont je devrais être au courant? Existe-t-il des instructions pour écrire les programmes d'installation sur les plates-formes Windows Server 2003 et Windows Server 2008?

Merci

Répondre

2

Si vous utilisez WiX 3.0, vous devez savoir que vous devez tourner « IIS 6 mode de compatibilité » ON dans IIS 7.x pour le standard WiX IIS extension de travailler. WiX v3.5 contient un support natif pour IIS 7, mais il n'est pas encore stable - WiX 3.5 est la version bêta elle-même. Vous pouvez en savoir plus sur les plans et les fonctionnalités de la version WiX on Rob's blog.

Je dois personnellement prendre en charge toutes les versions d'IIS à partir de la version 5.1 (WinXP) de mon produit. J'ai fini par utiliser l'extension WiX IIS standard et exige le "mode de compatibilité IIS 6" comme condition préalable. De plus, j'ai un élément WebSite distinct pour chacune des versions d'IIS. Par exemple, WebSite element a l'attribut WebApplication, où vous référencez le WebApplication element. Cet élément possède à son tour l'attribut Isolation, ce qui est logique pour IIS 5.X et l'attribut WebAppPool, significatif pour IIS 6+. Par conséquent, j'ai un couple d'éléments WebApplication que je référence soit à partir de WebSite pour IIS 5, soit à partir de WebSite pour IIS 6+.

J'espère que vous avez compris l'idée et qu'elle peut vous aider.

+0

Salut Yan, merci pour votre contribution. Lorsque vous activez le "mode de compatibilité IIS6", cela l'active-t-il pour l'ensemble d'IIS ou juste pour cette application? Je ne veux pas empêcher d'autres développeurs de ne pas pouvoir utiliser la nouvelle fonctionnalité dans IIS7. Je me souviens qu'il y avait un mode d'isolation IIS5 pour IIS6, est-ce quelque chose de similaire? – fletcher

+0

Le mode de compatibilité IIS6 peut être activé pour tout IIS (vous pouvez le trouver sous "Programmes et fonctionnalités"> "Activer et désactiver les fonctionnalités Windows"> "Internet Information Services"), mais vous ne limitez pas les autres développeurs à utiliser la nouvelle API IIS7. Vous venez d'ouvrir la voie à l'ancien code, qui peut parler à la métabase IIS 6 (comme l'extension WiX IIS), pour s'exécuter sur votre IIS. Non, ce n'est pas le mode d'isolation IIS 5 qui fonctionne. –

Questions connexes