Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

172
Vistas
Reinicie .NET AnyCPU exe con diferente bitness

Tengo un .NET exe compilado para "AnyCPU", por lo que teóricamente puede ejecutarse tanto en modo de 32 bits como de 64 bits (en un sistema operativo de 64 bits). Dado que mi exe interactúa fuertemente con MS Office, necesito ejecutarlo con el mismo bitness que la versión de Office instalada . (Por favor, dé por sentado este requisito, con mucho gusto proporcionaré detalles en los comentarios, si está interesado).

Ahora, he pensado en una solución para esto, pero parece más complicado de lo necesario:

  1. Compile dos versiones: MyExe32.exe y MyExe64.exe, dirigidas a x86 y x64, respectivamente, en lugar de AnyCPU.
  2. Cree una aplicación de inicio Launcher.exe, que determina el bitness de la versión de Office instalada localmente (sé cómo hacerlo) y luego inicia MyExe32.exe o MyExe64.exe.

Esto funcionaría, pero prefiero tener un solo MyExe.exe simple con algo como el siguiente pseudocódigo durante el inicio:

 if (Environment.Is64BitProcess && IsOffice32BitInstalled) { // restart myself in a 32-bit process instead of a 64-bit process ??? // <-- this is where I need help }

¿Es eso posible? Si es así, ¿cómo?


Notas: Conozco la utilidad CorFlags , pero prefiero tener una solución que no requiera modificar el exe en tiempo de ejecución.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

¿Reiniciar a través del parámetro de tiempo de ejecución es una opción?

 dotnet run -r win-x86

https://stackoverflow.com/a/63252884/18152293

over 4 years ago · Santiago Trujillo Denunciar

0

Aparentemente, no tengo la reputación suficiente para publicar comentarios, así que publiqué esto como respuesta.

Si, como usted dice, está implementando en una red interna, recomendaría usar un iniciador de todos modos .

De esa manera, los usuarios pueden tener un solo acceso directo de red al iniciador, que no se mueve. El iniciador puede determinar qué bitness se requiere y cuál es la versión más reciente e iniciar el EXE para esa versión.

Si permite que los usuarios vayan directamente al EXE, encontrará problemas con los usuarios que tienen el EXE abierto, por lo que no podrá sobrescribirlo, o tendrá que crear nuevos accesos directos de usuario para cada versión.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda