2011-10-14 1 views
2

J'ai développé un filtre ISAPI qui fonctionne correctement sur 32 bits. Je l'ai également compilé pour 64 bits en utilisant VS2005 cross-compiler. Mais lorsque j'essaie de l'exécuter sur un serveur Windows 2008 R2 64 bits avec IIS-7.5, cela ne fonctionne pas. Il semble que la DLL du filtre a été chargée mais IIS ne fait rien avec. J'ai utilisé la commande suivante pour vérifier cela.Le filtre ISAPI ne fonctionne pas sous Windows 2008 R2 64 bits

tasklist/m * mydll

Toutes les suggestions que

Répondre

3

Y at-il une raison particulière que vous avez besoin de la DLL pour être 64 bits? Je suis en mesure d'exécuter 32 filtres ISAPI bits sur une machine 64 bits en procédant comme suit:

  • Assurez-vous que le pool d'applications IIS est configuré pour autoriser les applications 32 bits (ce qui est désactivé par défaut)

  • enregistrer la DLL en utilisant la version 32 bits de regsvr32: C: \ Windows \ SysWOW64 \ regsvr32.exe

  • Vérifiez que la DLL ne manque pas de dépendances en utilisant la dépendance Walker: http://www.dependencywalker.com/

+0

Merci pour la réponse. En fait, la raison en est qu'il y a un autre filtre ISAPI qui fonctionne en 64 bits, donc je dois le rendre compatible avec 64 bits. Les étapes que vous avez suggérées ne peuvent donc pas être appliquées, bien que j'aie essayé cela aussi et que l'autre filtre ait cessé de fonctionner. De toute façon mon problème est résolu, je ne sais pas comment mais j'ai joué avec quelques réglages et ça a marché. J'essaie de comprendre le problème réel. L'affichera s'il est trouvé pour d'autres utilisateurs. Merci :) – Jawaid

+1

Je sais que je suis en retard, mais vous venez de me sauver la vie. Merci! – christianblais

+0

Pouvez-vous nous indiquer les paramètres que vous avez modifiés? – hawkeye

1

Pour 64 bits, le problème est le Registre: Le problème que je 32 bits l'emplacement de redirecteur apache dans le registre est: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Apache Software Foundation \ Jakarta ISAPI Redirector \ 1.0]

mais pour 64 bitlocation doit être: [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Apache Software Foundation \ Jakarta ISAPI Redirector \ 1.0]

Notez le "Wow6432Node". Il suffit donc de recréer le bit 32 sur le noeud Wow6432Node et de le définir. Il vous suffit alors de recréer le bit 32 sur le noeud Wow6432Node.

Questions connexes