web-dev-qa-db-fra.com

Comment puis-je forcer IIS Express pour fonctionner en mode 32 bits?

J'ai une application classique ASP que j'essaie de lancer sous IIS Express sous Windows 64 bits. Il utilise Jet pour se connecter à une base de données Microsoft Access et ne fonctionnera pas en 64 bits.

J'ai créé le pool d'applications suivant pour l'application ASP, mais il semble ignorer l'attribut enable32BitAppOnWin64 et le processus est toujours en 64 bits.

<applicationPools>
    <add name="UnmanagedClassicAppPool32" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" enable32BitAppOnWin64="true" />
</applicationPools>

Comment puis-je obtenir ce pool d'applications dans IIS Express pour s'exécuter en tant que processus 32 bits?

47
GiddyUpHorsey

Selon this , IIS Express 7.5 n’est fourni qu’en tant qu’application 32 bits. IIS Express 8.0 est toutefois fourni avec les versions 32 bits et 64 bits de l'application. La version 32 bits peut être trouvée à c:\program files (x86)\IIS Express\iisexpress.exe et la version 64 bits à c:\program files\IIS Express\iisexpress.exe.

IIS Express ignore l'attribut enable32BitAppOnWin64. Pour exécuter le pool d'applications en 32 bits, vous devez exécuter la version 32 bits de IIS Express.

Vous pouvez déterminer quelle version est en cours d'exécution dans le Gestionnaire des tâches en examinant le processus dans l'onglet Processus. La version 64 bits sera affichée sous la forme iisexpress.exe et la version 32 bits sous la forme iisexpress.exe *32.

39
GiddyUpHorsey

Pour Visual Studio 2013 Visual Studio 2015 Visual Studio 2017:

 Tools
  -> Options
   -> Projects and Solutions
    -> Web Projects
     -> Uncheck "Use the 64 bit version of IIS Express for web sites and projects"`
94
Neal

Dans la fenêtre de propriété IIS Express de VS studio, modifiez la première option: "Pool d'applications gérées" de "intégré" à "classique".

1
Paul

Êtes-vous sûr?

Il utilise Jet pour se connecter à une base de données Microsoft Access et ne fonctionnera pas en 64 bits.

J'ai eu le même problème et l'ai finalement résolu en forçant l'installation des pilotes 64 bits. Initialement, cela a échoué à cause d'une erreur empêchant l'installation des pilotes 64 bits si Office 2010 32 bits est installé.

Mais ... vous pouvez forcer la version 64 bits du moteur de base de données Access (ACE) à partir d'ici à installer avec le commutateur "passif":

AccessDatabaseEngine_x64.exe /passive

Et ensuite, j'ai pu exécuter mon code hérité avec mon environnement de développement actuel.

0
Jeremy