Devo distribuire solo versioni a 32 bit o entrambe a 32 e 64 bit per Windows?


13

Ho un'applicazione multipiattaforma scritta in un linguaggio compilato.

  • Per Linux è consuetudine avere sia build amd64 che i386 disponibili per l'utente, in modo che l'utente possa scegliere la versione, adatta al suo ambiente attuale.
  • In Mac è consuetudine creare Universal Binary, quindi potrebbe supportare più versioni di computer Apple. O semplicemente fornire la versione a 64 bit, poiché tutti i computer Apple attuali utilizzano l'architettura e il sistema operativo a 64 bit.

Non voglio confondere gli utenti, chiedendo "Che architettura sei?", Ma distribuire solo a 32 bit è una cattiva idea, poiché questo programma utilizza un po 'di magia di ottimizzazione a 64 bit e funziona molto più velocemente su queste macchine.

Le mie idee:

  • Installa entrambe le versioni dell'applicazione a 32 e 64 bit e scegli in fase di esecuzione. (Richiede wrapper, quindi sarà difficile creare un'applicazione click-and-launch (come uTorrent)).
  • Rileva l'architettura utilizzando User-agentsul sito Web, in modo che l'utente possa scaricare automaticamente la versione appropriata (e creare un collegamento a "versioni alternative"). (È in stile Google Chrome)
  • Forzare l'utente a utilizzare l'applicazione a 32 bit e rendere la versione a 64 bit "solo per esperti"? (come VLC)

Cosa devo fare in Windows?


La tua applicazione trae profitto dall'essere un processo a 64 bit?
CodesInChaos,

Sì, utilizza la libreria crittografica, che viene eseguita più velocemente a 64 bit.
Alexander Shishenko,

Quanto più veloce?
Robert Harvey,

2
Inoltre, non esiste un'opzione di compilazione AnyCPU in Visual Studio? blogs.microsoft.co.il/sasha/2012/04/04/…
Robert Harvey,

1
Avrei dovuto menzionare che il compilato è un codice nativo (scrivo in C ++, senza estensioni C ++ / CLI), non .NET.
Alexander Shishenko,

Risposte:


16

Non credo davvero che sia un'enorme complessità per l'utente finale selezionare un'opzione a 32 o 64 bit durante il download. Ma se puoi usare le stringhe user-agent per dare un suggerimento ancora migliore.

Un'altra opzione è che il tuo installatore rilevi e installi il binario corretto per la piattaforma dell'utente. Ciò comporta un download più grande, ma l'utente non deve pensarci. Se segui questo approccio, ti consigliamo di fornire un modo all'utente di ignorare il rilevamento nel caso in cui necessitino di una build specifica per qualsiasi motivo.


7
Se i tuoi utenti non sono tecnici, allora stai lanciando loro parole grosse (nessun gioco di parole previsto).
user253751

3
@GrandmasterB Gli utenti non tecnici non saprebbero la differenza tra una versione a 32 bit e una versione a 64 bit e non saprebbero di quale hanno bisogno.
Philipp,

3
@Philipp Il che è facilmente risolto aggiungendo due semplici frasi come "funziona bene nella maggior parte dei casi" e "potrebbe essere più veloce su alcune macchine" come fanno molti siti di download.
5gon12eder

1
@Philipp: no, al contrario (per la seconda opzione). Il programma di installazione seleziona automaticamente la versione corretta, non è necessario visualizzare nulla di tecnico. Potrebbe esserci un pulsante "opzione di installazione estesa" (ma finché l'utente non lo preme, non viene visualizzato nulla come la versione a 32 o 64 bit.
Doc Brown

1
@ 5gon12eder In realtà, la versione a 64 bit "funzionerà bene nella maggior parte dei casi". Diamo un'occhiata alle statistiche di Steam Survey . Mostra che oltre l'83% delle macchine Windows esegue il sistema operativo a 64 bit.
Alexander Shishenko,

7

Bene, per prima cosa scopri se usare una versione a 64 bit sarebbe mai utile:

  • Il set di dati elaborato potrebbe mai essere abbastanza grande da richiedere uno spazio di indirizzi a 64 bit per funzionare?
  • La versione a 64 bit è sempre più efficiente o più veloce?
  • Ci sono scenari di interoperabilità sensibili al tuo testimone dei programmi, cambiare l'interfaccia per renderlo insensibile al testimone non è un'opzione e il testimone non è tuo a dettare comunque?

Se la risposta è no a tutti, considera di non avere affatto una versione a 64 bit.

Ora, se c'è un vantaggio tangibile nell'usare 64 Bit quando puoi:
rendilo il più confortevole possibile per i tuoi utenti senza penalizzare indebitamente chi lo sa.

  • Fornisci un singolo download se non è un sovraccarico eccessivo, che installa la versione migliore per impostazione predefinita (consenti l'override con un'opzione da riga di comando o simile per gli esperti che desiderano la build a 32 bit su 64 bit).
  • Altrimenti fornisce entrambi i download separati (se il potenziale vantaggio dell'uso di 64 bit è abbastanza piccolo, nascondilo un po ').
  • Mentre si potrebbe fornire un downloader per la selezione e il download solo le parti necessarie, che possono potenzialmente ridurre download-dimensione di ordini di grandezza, se ci sono enormi componenti opzionali, segno che prominente come un online-installazione e il collegamento anche ad una linea-installer.
    (Puoi (e probabilmente dovresti) consentire il riutilizzo di ciò che scarica, includere un'opzione per scaricare tutto, almeno se non fornisci un programma di installazione offline completo.)

4

Al giorno d'oggi, persone e siti tendono a gestirlo da soli e consentono all'utente di scegliere se lo desidera . Quindi usare la User-agentstringa è un buon modo per andare. IMO che rende anche la tua applicazione e il tuo sito più professionali (alle persone piacciono le cose di più se è in grado di apportare modifiche correlate da solo).

Inserire un collegamento / una scelta della versione è una buona scelta poiché alcuni esperti o persone che vogliono ottenere una versione diversa possono andare a prenderla.

Puoi anche inserire una nota adesiva nella pagina di scelta della versione (una simile a questa ) che spiega come gli utenti possono controllare il tipo di sistema operativo (ovvero fare clic con il pulsante destro del mouse Computere scegliere le proprietà blah blah ...) in modo che gli umani curiosi possano controllare ed essere sicuri quello che offri è la versione giusta.

Tipo di sistema operativo


3

Avere un programma di installazione a 32 bit che non contiene l'eseguibile. Fai rilevare la piattaforma di destinazione su cui viene eseguita e quindi scarica il file binario corretto dal tuo server.


3
In questo caso, assicurati di disporre anche delle versioni finali effettive che gli esperti possono scaricare direttamente. Molte persone IT professionali preferiscono essere in grado di configurare un'installazione offline (ad es. In modo che un'installazione sia riproducibile con precisione in seguito).
Jules,

2
@Jules un altro caso d'uso è macchine disconnesse. Anche nel 2015, non tutte le macchine hanno accesso diretto a Internet pubblico.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.