2009-03-06 9 views
16

Me han dicho que hay una variable de entorno que puede establecer para forzar que las aplicaciones .NET se ejecuten como aplicaciones de 32 bits en las versiones x64 de Windows. ¿Sabes de qué se trata, o conoces una referencia sobre él? Me temo que mi google-fu me ha fallado hoy (o no existe).Variable de entorno para obligar a las aplicaciones .NET a ejecutarse como 32bit

Estoy usando Resolver One (una hoja de cálculo .NET) y quiero acceder a algunas funciones de 32 bits solamente sin modificar el ejecutable. Si puedo configurar esto desde una variable de entorno, entonces puedo acceder a la funcionalidad de 32 bits cuando sea necesario, pero también ejecutarla como una aplicación de 64 bits cuando sea necesario.

(NOTA: efectivamente Quiero ser capaz de cambiar si una aplicación se ejecuta como 32 o 64 bits en tiempo de puesta en marcha en lugar de forzarla en tiempo de compilación.)

Gracias

Respuesta

14

que he tenido una respuesta de Dino Veihland (Microsoft IronPython desarrollador). No he tenido tiempo de probarlo todavía ...

Es COMPLUS_ENABLE_64BIT. Creo que configurarlo en 0 deshabilita 64 bits.

Debería poder establecerlo como un env var o agregar un valor a HKLM \ Software \ Microsoft \ .NETFramework con el nombre "Enable_64Bit", el tipo REG_DWORD y el valor 0 para establecerlo globalmente (así es como todas las COMPlus_ * vars funcionan). Este podría ser lo suficientemente especial (tiene que ejecutarse antes de que se cree el proceso) que debe configurarse en la clave de registro, pero no estoy del todo seguro.

+1

La variable de entorno no funcionaba para mí, pero establecer la entrada de registro y reiniciar sí. – fuzzyman

+0

la configuración del registro también me funcionó, ¡gracias! – UserControl

+0

La configuración del registro funcionó como un encanto, gracias :) –

9

¿Qué tal this link

No es una variable de entorno, pero sólo tiene que utilizar la herramienta CoreFlags para cambiar de ida y vuelta.

Para cambiar a 32 bits:

CorFlags.exe TheApp.exe /32BIT+ 

Para volver a 64 bits:

CorFlags.exe TheApp.exe /32BIT- 
+0

Hmmm ... esto es lo que estaba tratando de evitar, pero puede que no tenga otra opción, gracias. – fuzzyman

+0

@Ruben - corrigió mi respuesta. –

+0

@Eric: cosas geniales; Eliminado mi comentario –

Cuestiones relacionadas