¿Debo implementar solo versiones de 32 bits o de 32 y 64 bits para Windows?


13

Tengo una aplicación multiplataforma escrita en un lenguaje compilado.

  • Para Linux, es habitual tener compilaciones amd64 e i386 disponibles para el usuario, por lo que el usuario puede elegir la versión adecuada para su entorno actual.
  • En Mac, es costumbre hacer Universal Binary, por lo que podría admitir múltiples versiones de computadoras Apple. O simplemente proporcione una versión de 64 bits, ya que todas las computadoras Apple actuales usan arquitectura y sistema operativo de 64 bits.

No quiero confundir a los usuarios, preguntando "¿Qué arquitectura son ustedes?", Pero la implementación de solo 32 bits es una mala idea, ya que este programa utiliza algo de magia de optimización de 64 bits y se ejecuta mucho más rápido en estas máquinas.

Mis ideas:

  • Instale las versiones de la aplicación de 32 y 64 bits y elija en tiempo de ejecución. (Requiere envoltorio, por lo que será difícil hacer clic y ejecutar la aplicación (como uTorrent)).
  • Detecta la arquitectura usando User-agenten el sitio web, para que el usuario pueda descargar la versión apropiada automáticamente (y hacer un enlace a "versiones alternativas"). (Es el estilo de Google Chrome)
  • ¿Forzar al usuario a usar la aplicación de 32 bits y hacer que la versión de 64 bits sea "solo para expertos"? (como VLC)

¿Qué debo hacer en Windows?


¿Se beneficia su aplicación de ser un proceso de 64 bits?
CodesInChaos

Sí, utiliza la biblioteca criptográfica, que se ejecuta más rápido en 64 bits.
Alexander Shishenko

¿Cuanto más rápido?
Robert Harvey

2
Además, ¿no hay una opción de compilación AnyCPU en Visual Studio? blogs.microsoft.co.il/sasha/2012/04/04/…
Robert Harvey

1
Debería haber mencionado que compilado es código nativo (escribo en C ++, sin extensiones C ++ / CLI), no .NET.
Alexander Shishenko

Respuestas:


16

Realmente no creo que sea una gran complejidad para el usuario final tener que seleccionar una opción de 32 bits o 64 bits al descargar. Pero si puede utilizar las cadenas de agente de usuario para hacer una sugerencia aún mejor.

Otra opción es hacer que su instalador detecte e instale el binario correcto para la plataforma del usuario. Eso permite una descarga más grande, pero el usuario no tiene que pensarlo. Si sigue ese enfoque, querrá proporcionar alguna forma para que el usuario anule la detección en caso de que necesite una compilación específica por cualquier razón.


77
Si sus usuarios no son técnicos, entonces les está lanzando grandes palabras (sin juego de palabras).
user253751

3
@GrandmasterB Los usuarios no técnicos no sabrían la diferencia entre una versión de 32 bits y una versión de 64 bits y no sabrían cuál necesitan.
Philipp

3
@Philipp, que se resuelve fácilmente agregando dos frases simples como "funciona bien en la mayoría de los casos" y "podría ser más rápido en algunas máquinas" como lo hacen muchos sitios de descarga.
5gon12eder

1
@Philipp: no, todo lo contrario (para la segunda opción). El instalador selecciona automáticamente la versión correcta, sin necesidad de mostrar nada técnico. Puede haber un botón de "opción Installion extendido" (pero siempre y cuando el usuario no lo presione, nada como de 32 o 64 bits versión se muestra.
Doc Brown

1
@ 5gon12eder En realidad, la versión de 64 bits "funcionará bien en la mayoría de los casos". Echemos un vistazo a las estadísticas de Steam Survey . Muestra que más del 83% de las máquinas Windows ejecutan un sistema operativo de 64 bits.
Alexander Shishenko

7

Bueno, primero descubra si alguna vez sería beneficioso usar una versión de 64 bits:

  • ¿Podría el conjunto de datos procesado ser lo suficientemente grande como para necesitar un espacio de direcciones de 64 bits para funcionar?
  • ¿Es la versión de 64 bits cada vez más eficiente o más rápida?
  • ¿Hay escenarios de interoperabilidad sensibles al bitness de sus programas, cambiar la interfaz para que sea insensible al bitness no es una opción, y el bitness no es suyo para dictarlo de todos modos?

Si la respuesta es no a todos, considere no tener una versión de 64 bits.

Ahora, si hay una ventaja tangible de usar 64 bits cuando puede:
haga que sea lo más cómodo posible para sus usuarios sin penalizar indebidamente a los que lo conocen.

  • Proporcione una descarga única si eso no es demasiada sobrecarga, que instala la mejor versión de forma predeterminada (permita la anulación con una opción de línea de comandos o similar para los expertos que desean la compilación de 32 bits en 64 bits).
  • De lo contrario, proporcione ambas descargas por separado (si la ventaja potencial de usar 64 bits es lo suficientemente pequeña, oculte eso un poco).
  • Si bien puede proporcionar un descargador para seleccionar y descargar solo las piezas necesarias, lo que puede reducir el tamaño de descarga en órdenes de magnitud si hay grandes piezas opcionales, márquelo prominentemente como un instalador en línea y enlace también a un instalador fuera de línea.
    (Puede (y probablemente debería) permitir la reutilización de lo que descarga, incluir una opción para descargar todo, al menos si no proporciona un instalador sin conexión completo).

4

Hoy en día, las personas y los sitios tienden a manejar esto por sí mismos y permiten que el usuario elija si lo desea . Entonces, usar una User-agentcuerda es una buena manera de hacerlo. OMI que también hace que su aplicación y su sitio se vean más profesionales (a las personas les gustan más las cosas si es capaz de hacer ajustes relacionados por sí mismas).

Colocar un enlace / elección de elegir versión es bueno ya que algunos expertos o personas que desean obtener una versión diferente pueden obtenerla.

También puede colocar una nota adhesiva en la página de elegir la versión (una similar a esta ) que explique cómo los usuarios pueden verificar el Tipo de sistema operativo (también conocido como clic derecho Computery elegir propiedades, bla, bla ...) para que los humanos curiosos puedan verificar y estar seguros que lo que ofreces es la versión correcta.

Tipo de sistema operativo


3

Tener un instalador de 32 bits que no contenga el ejecutable. Haga que detecte la plataforma de destino en la que se ejecuta y luego descargue el binario correcto de su servidor.


3
Si está haciendo esto, asegúrese de tener también las versiones finales disponibles para que los expertos las descarguen directamente. Muchas personas profesionales de TI prefieren poder configurar una instalación fuera de línea (por ejemplo, para que una instalación sea reproducible con precisión más adelante).
Jules

2
@Jules otro caso de uso es máquinas desconectadas. Incluso en 2015, no todas las máquinas tienen acceso directo a Internet público.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.