Devo implantar apenas versões de 32 bits ou ambas as versões de 32 e 64 bits para Windows?

13

Eu tenho um aplicativo de plataforma cruzada escrito em uma linguagem compilada.

  • Para o Linux, é habitual ter as versões amd64 e i386 disponíveis para o usuário, para que o usuário possa escolher a versão adequada ao seu ambiente atual.
  • No Mac, é comum o Universal Binary, para que ele possa suportar várias versões de computadores Apple. Ou apenas forneça a versão de 64 bits, pois todos os computadores Apple atuais usam arquitetura e sistema operacional de 64 bits.

Não quero confundir os usuários, perguntando "Qual arquitetura você é?", Mas implantar apenas 32 bits é uma má ideia, pois esse programa usa alguma mágica de otimização de 64 bits e roda muito mais rápido nessas máquinas.

Minhas ideias:

  • Instale as versões de 32 e 64 bits do aplicativo e escolha em tempo de execução. (Requer wrapper, portanto, tornar difícil o aplicativo clicar e iniciar (como o uTorrent) será difícil).
  • Detecte a arquitetura usando User-agentno site, para que o usuário possa baixar a versão apropriada automaticamente (e criar um link para "versões alternativas"). (É estilo do Google Chrome)
  • Forçar o usuário a usar o aplicativo de 32 bits e tornar a versão de 64 bits "somente para especialistas"? (como VLC)

O que devo fazer no Windows?

Alexander Shishenko
fonte
Seu aplicativo lucra por ser um processo de 64 bits?
CodesInChaos
Sim, ele usa a biblioteca criptográfica, que roda mais rapidamente em 64 bits.
Alexander Shishenko
Quão rápido?
Robert Harvey
2
Além disso, não há uma opção de compilação AnyCPU no Visual Studio? blogs.microsoft.co.il/sasha/2012/04/04/…
Robert Harvey
1
Eu deveria ter mencionado, que compilado é código nativo (eu escrevo em C ++, sem extensões C ++ / CLI), não .NET.
Alexander Shishenko

Respostas:

16

Eu realmente não acho que seja uma complexidade enorme para o usuário final ter que selecionar uma opção de 32 bits ou 64 bits ao fazer o download. Mas se você puder usar as seqüências user-agent para fazer uma sugestão ainda melhor.

Outra opção é fazer com que o instalador detecte e instale o binário correto para a plataforma do usuário. Isso resulta em um download maior, mas o usuário não precisa pensar nisso. Se você seguir essa abordagem, precisará fornecer uma maneira de o usuário substituir a detecção, caso precise de uma construção específica por qualquer motivo.

GrandmasterB
fonte
7
Se seus usuários não são técnicos, você está jogando grandes palavras neles (sem trocadilhos).
user253751
3
@GrandmasterB Os usuários não técnicos não saberiam a diferença entre uma versão de 32 bits e uma de 64 bits e não saberiam qual deles precisam.
Philipp
3
@ Philipp O que é facilmente resolvido adicionando duas frases simples como "funciona bem na maioria dos casos" e "pode ​​ser mais rápido em algumas máquinas" do que muitos sites de download.
Sep12
1
@ Philipp: não, muito pelo contrário (para a segunda opção). O instalador escolhe automaticamente a versão correta, sem a necessidade de exibir nada técnico. Pode haver um botão "opção installion estendida" (mas contanto que o usuário não pressioná-lo, nada como 32 ou 64 bits versão é exibida.
Doc Brown
1
@ 5gon12eder Na verdade, a versão de 64 bits “funcionará bem na maioria dos casos”. Vamos dar uma olhada nas estatísticas da Pesquisa Steam . Mostra que mais de 83% das máquinas Windows executam SO de 64 bits.
Alexander Shishenko
7

Bem, primeiro descubra se o uso de uma versão de 64 bits seria benéfico:

  • O conjunto de dados processado pode ser grande o suficiente para precisar de um espaço de endereço de 64 bits para funcionar?
  • A versão de 64 bits é cada vez mais eficiente ou mais rápida?
  • Existe algum cenário de interoperabilidade sensível ao desempenho do seu programa, alterar a interface para torná-lo insensível ao desempenho não é uma opção, e o desempenho não é seu para determinar de qualquer maneira?

Se a resposta for não para todos, considere não ter uma versão de 64 bits.

Agora, se houver uma vantagem tangível no uso de 64 bits, quando você puder:
Torne-o o mais confortável possível para seus usuários, sem penalizar indevidamente quem sabe.

  • Forneça um único download, se não houver muita sobrecarga, que instale a melhor versão por padrão (permita a substituição de uma opção de linha de comando ou para especialistas que desejam a construção de 32 bits em 64 bits).
  • Caso contrário, forneça os dois downloads separados (se a vantagem potencial de usar o 64-Bit for pequena o suficiente, oculte-o um pouco).
  • Embora você possa fornecer um downloader para selecionar e baixar apenas as peças necessárias, o que pode reduzir o tamanho do download em ordens de magnitude, se houver peças opcionais enormes, marque-o como um instalador on-line e vincule-o também a um instalador off-line.
    (Você pode (e provavelmente deveria) permitir a reutilização do que é baixado, incluir uma opção para baixar tudo, pelo menos se você não fornecer um instalador offline completo.)
Desduplicador
fonte
4

Atualmente, pessoas e sites tendem a lidar com isso sozinhos e permitem que o usuário escolha se deseja . Portanto, usar User-agentstring é um bom caminho a percorrer. A IMO também faz com que seu aplicativo e site pareçam mais profissionais (as pessoas gostam mais de coisas, se for capaz de fazer ajustes relacionados por si mesmas).

A colocação de um link / opção de versão de escolha é boa, pois alguns especialistas ou pessoas que desejam obter uma versão diferente podem obtê-la.

Você também pode colocar uma nota na página de escolha da versão (semelhante a esta ), explicando como os usuários podem verificar o tipo de sistema do sistema operacional (também conhecido como clique com o botão direito do mouse Computere escolher as propriedades blá blá ...) para que humanos curiosos possam verificar e ter certeza que o que você oferece é a versão correta.

Tipo de sistema OS

Anjo caído
fonte
3

Tenha um instalador de 32 bits que não contenha o executável. Faça com que ele detecte a plataforma de destino em que é executado e faça o download do binário correto do seu servidor.

Philipp
fonte
3
Se você estiver fazendo isso, verifique se também possui as versões finais reais disponíveis para os especialistas fazerem o download diretamente. Muitos profissionais de TI preferem poder configurar uma instalação offline (por exemplo, para que uma instalação seja reproduzível com precisão posteriormente).
Jules
2
@Jules outro caso de uso são máquinas desconectadas. Mesmo em 2015, nem todas as máquinas têm acesso direto à Internet pública.