Recientemente actualicé un servicio de Windows C# para ejecutarlo como un proceso .net de 64 bits. Normalmente, esto sería trivial, pero el sistema hace uso de una DLL de 32 bits escrita en C++. No es una opción convertir esta DLL a 64 bits, así que envolví la DLL en un proceso separado de .net de 32 bits y expuse una interfaz .net a través de la comunicación remota.¿Puedo cargar una DLL de 32 bits en un proceso de 64 bits en Windows?
Esta es una solución bastante confiable, pero preferiría ejecutar el sistema como un proceso único. ¿Hay alguna forma de que pueda cargar mi archivo DLL de 32 bits en un proceso de 64 bits y acceder a él directamente (quizás a través de algún tipo de capa thunk)?
La pregunta establece que el proceso es un servicio de Windows en lugar de un sitio web de ASP.NET. Además, las configuraciones de IIS que describe implementan efectivamente la misma solución que la pregunta está tratando de evitar. –