Perché tutte le applicazioni non sono "portatili"?


45

Di recente ho provato a "installare" roba molto meno sul mio computer Windows (odio gli installatori - devo sapere dove i programmi mettono roba ...), scegliendo invece di utilizzare versioni portatili o standalone delle applicazioni.

Li metto tutti in una directory "Programmi" su un'unità separata dalla mia partizione di Windows, quindi ogni volta che mi reinstallo, ho tutte le mie applicazioni disponibili con il minimo sforzo e sul lato positivo, ottengo una buona installazione pulita.

Applicazioni come Office e Creative Suite mi richiedono ancora di sottoporsi a un processo di installazione orribilmente lungo in cui un migliaio di librerie e strumenti casuali vengono lanciati sul mio sistema.

Perché le app di Windows devono ancora essere installate? Perché non possiamo semplicemente trascinare Photoshop in una cartella à OSX e farlo funzionare? Qualcun altro si concentra su app portatili o sono solo un disturbo ossessivo compulsivo di tutto?


3
Le risposte alla domanda spiegano il "perché" curioso. Tuttavia, il punto esclamativo "ma perché" rimane (come in "ma perché non possiamo andare tutti d'accordo").
dbkk101,

2
odio anche gli installatori. sbagliato niente con te
Nick

2
Questa sembra la domanda sbagliata. Se si desidera utilizzare app portatili, la domanda corretta sembra essere: "Quali programmi sono portatili?". Ad esempio, potresti pensare di aver bisogno di MS Word, quando ciò di cui hai veramente bisogno è un programma in grado di leggere e scrivere file di dati .doc. Open Office lo farà ... e, a differenza di MS Word, è disponibile in un formato portatile ... Ne ho una copia (e Abiword) su un'unità flash che passa tutto il tempo collegato al mio laptop. Esistono alcune app portatili. portablelinuxapps.org offre 184 per Linux, mentre portableapps.com/apps offre 232 +

Il resto del commento di Bill: ... un'app di menu per Windows [discutibilmente, entrambi includono una buona selezione di utilità banali]). Scegli quelli che desideri e getta via i programmi non portatili di cui puoi fare a meno ... la maggior parte delle mie app vive su una chiave USB. Questo, almeno, semplifica la zuppa di file di spaghetti sul tuo HD.
studiohack

Inoltre mi sembra che i migliori strumenti siano portatili. Potrei essere di parte.
Vlastimil Ovčáčík,

Risposte:


35

Gli installatori sono il risultato di anni di evoluzione e un po 'di storia (semplificata) aiuta a capire perché fanno ciò che fanno ..

Il modello di Windows 3.1 ha suggerito file di configurazione in stile config.ini per applicazione con il supporto di librerie condivise che vanno nelle cartelle di sistema per impedire la duplicazione e lo spreco di spazio su disco.

Windows 95 ha introdotto il registro che consente un archivio centrale per la configurazione dell'applicazione che sostituisce molti file di configurazione. Ancora più importante, la configurazione di Windows è stata memorizzata nello stesso posto.

Il registro è diventato gonfio a causa delle applicazioni che non si sono ripulite dopo se stesse. L'inferno delle DLL è accaduto a seguito di più versioni delle stesse librerie condivise che si sovrascrivono.

.NET ha introdotto il concetto di app.config (quasi ini file mark 2, questa volta con un po 'più di struttura che consente agli sviluppatori di perdere tempo a scrivere parser manuali). Il GAC è stato introdotto nella versione degli assembly condivisi nel tentativo di prevenire l'inferno DLL.

In Windows XP e Moreso in Vista, Microsoft ha tentato di definire lo spazio utente come luogo in cui archiviare i dati utente e i file di configurazione in un'unica posizione standard per consentire profili in roaming e una facile migrazione (basta copiare il profilo) con le applicazioni installate in Programmi .

Quindi immagino che la ragione sia che "le applicazioni in Windows sono progettate per vivere in un posto, le loro dipendenze condivise in un altro e i dati specifici dell'utente in un altro", il che funziona praticamente contro il concetto di xcopiare una singola posizione.

.. ed è prima che tu debba configurare gli account utente e configurare e garantire le autorizzazioni di sicurezza, scaricare gli aggiornamenti e installare i servizi di Windows ...

xcopy è il "caso semplice" e certamente non è la soluzione migliore per tutto.


1
Bella, semplice spiegazione!
alex,

7
Un altro grande motivo per gli installatori (specialmente come Office) è che nessun utente dovrebbe essere in grado di influenzare un altro utente sullo stesso sistema se non è un amministratore. Con Office 2007 che pesa circa 500 MB, se un utente desidera utilizzarlo, deve disporre della propria copia locale. Sarebbe 1,5 GB per 3 utenti sullo stesso sistema! Google Chrome si installa nella tua directory utente locale, quindi se hai 10 utenti che dispongono tutti di Chrome, sono 10 versioni diverse che devono essere aggiornate e gestite. Ovviamente ci sono pro e contro per un'installazione per utente rispetto a una distribuzione centrale.
Giosuè,

1
Alcune applicazioni, come Photoshop (almeno pre-CS4), possono essere semplicemente copiate e, una volta avviate, creeranno gli archivi di configurazione dell'utente e i file necessari. Inoltre, la maggior parte delle applicazioni .NET sono portatili in base alla progettazione, ma gli utenti si aspettano i prossimi installatori della prossima finitura, molti che non sanno nemmeno cosa sia un file system.
Oskar Duveborn,

Si può anche notare che anche se le applicazioni sono destinate a dividere impostazioni / librerie / specifiche in luoghi diversi, non è un'usanza ben diffusa. Trovo molto spesso le impostazioni per le diverse applicazioni archiviate nei file nelle loro directory di programma e molto spesso le librerie che possono essere condivise sono collegate staticamente nella directory del programma. Dal momento che non ci sono vantaggi reali nel fare le cose in un modo o nell'altro per i programmatori, l'incentivo ad aderire alle regole è debole e si verifica lo sviluppo di applicazioni nel selvaggio west :-). Inoltre, immagino che la tradizione sia forte.
Daniel Andersson,

Il GAC è solo la seconda venuta dell'inferno DLL. Bel concetto, ma nella vita reale si finisce con la confusione poiché diversi eseguibili si legano a versioni diverse dello stesso file e alcune versioni di tali file potrebbero presentare difetti di sicurezza. È un casino onnipotente da affrontare se hai bisogno di un ambiente sicuro. Ora devi effettivamente patchare versioni diverse dello stesso file per correggere lo stesso buco di sicurezza. Evviva! Va notato che le politiche e i reindirizzamenti obbligatori possono aiutare, ma è come dire che un cerotto aiuta contro le ferite aperte.
Stein Åsmul,


7

Ottima domanda, ho fatto una domanda correlata su Stack Overflow qualche tempo fa.

La risposta sembra spesso essere "perché è così che l'abbiamo fatto in passato". Scusa ma non mi lavo.

Alcuni altri hanno affermato che il motivo principale è dovuto al registro. Se stai parlando di un driver di dispositivo o di qualche altro componente COM ecc., Allora sì, questo potrebbe essere necessario, ma non per applicazioni GUI come elaboratori di testi o fogli di calcolo.

È del tutto possibile scrivere un'applicazione che verifica all'avvio le impostazioni di registro richieste e richiede all'utente di utilizzarle / utilizza le impostazioni predefinite. Oppure, come fanno attualmente molte app protette, fai sapere all'utente che l'integrazione del sistema operativo è attualmente limitata perché stai eseguendo in modalità portatile.

Gli installatori spesso hanno anche molte "conoscenze" sul funzionamento dell'applicazione. Quindi, quando l'applicazione cambia, spesso è necessario aggiornare anche il programma di installazione. Questa è una classica causa di bug / problemi che ho visto nella mia programmazione del tempo.

È l'approccio a misura unica.


6

Risposta semplice e schietta: è semplicemente una questione di chi ha il controllo. La maggior parte dei software al giorno d'oggi è progettata da giganti aziendali per l'ambiente aziendale o istituzionale in cui agli utenti viene detto cosa fare invece di dire ai loro computer cosa fare per loro.

La tua domanda è estremamente importante perché solleva una questione fondamentale sui diritti e le libertà individuali che vengono erosi sempre di più, non dai tiranni come nelle società antiche, ma dall'avidità corporativa e dalla necessità di pochi di controllare i molti.

È un dato di fatto, sembra che abbiamo dimenticato che le stesse identiche persone che erano solite denigrare la tirannia di giganti come IBM sono diventate gli IBM di questi tempi ... Guardate attentamente le pratiche commerciali di Microsoft, Apple e Adobe per citarne alcuni e dirmi con una faccia seria che con le loro licenze restrittive sono più favorevoli di quanto lo fossero le pratiche commerciali di IBM, lo stesso IBM che, per la loro apertura, in realtà ha aperto la strada alla rivoluzione del personal computer ...

Ho usato molte app portatili e autosufficienti nel corso degli anni e senza eccezione si sono dimostrate le più efficaci, le più veloci e le più piccole in termini di footprint e risorse e, ultimo ma non meno importante, non solo sono superiori al loro bloatware controparti, ma la maggior parte delle volte sono anche gratuite.

È giunto il momento di una seconda rivoluzione del personal computer. Migliorare la portabilità riducendo il gonfiore e chiarendo dove sono archiviate le impostazioni, in una cartella distinta in una posizione fisica distinta su un supporto fisico tangibile, è un passo nella giusta direzione.


5

Una combinazione del registro e della memoria per utente. Il registro è un elemento critico, soprattutto se l'applicazione è basata su COM (che richiede la registrazione, che si verifica nel registro). Anche l'archiviazione per utente (di configurazione, ecc.) È un componente importante. L'unico buon modo per farlo è di memorizzarlo in alcune directory appositamente progettate (vedi Storage isolato ).


Esattamente. In che modo il sistema operativo può trovare il file EXE o DLL da caricare senza una posizione fissa? "Set oExcelApp = CreateObject (" EXCEL.APPLICATION ")" deve funzionare in qualche modo.
Zan Lynx,

4

Principalmente a causa del registro di Windows - anche se i programmi si trovano in una determinata directory, le impostazioni sono spesso memorizzate nel registro.

Può anche essere perché il programma inserisce i file in altre directory sul computer diverso dalla directory di installazione (ad esempio system32)


3

Un grande vantaggio per gli installatori rispetto al tipo di installazione Xcopy / portatile è l'auto-riparazione.

Un'app che utilizza correttamente il sistema Windows Installer avrà tutti i tipi di informazioni salvati nel database di Windows Installer sul tuo computer, così come abbastanza spesso una cache di parti importanti dei file di installazione.

Se l'app si interrompe per qualche motivo (qualcos'altro elimina / sostituisce un file, il registro viene danneggiato, i problemi del disco, l'utente elimina il collegamento, ecc.) Se è un "collegamento pubblicizzato", l'installatore controlla effettivamente i file e le chiavi ogni volta che si avvia e sostituisce se non sono presenti oppure è possibile accedere a Installazione applicazioni e fare clic su Ripara sull'app.


Perché è l'unica cosa a cui posso pensare durante la lettura di questa icona del desktop di Adobe Reader? Quella persona è così follemente autoriparante che confonde la propria mente ^^
Oskar Duveborn,

2

Penso che abbia in parte a che fare con le grandi quantità di applicazioni per finestre cruft necessarie. Ad esempio, chiavi di registro, dati utente (/ Users // AppData). Forse OSX lo gestisce meglio / diversamente.

Inoltre, non è impossibile creare app che puoi semplicemente estrarre da un archivio: sono sempre felice quando questo è il caso.


2

Il .Net Framework è la piattaforma per abilitare questo tipo di funzionalità e la maggior parte degli installatori viene utilizzata solo perché è ciò a cui sono abituati gli utenti normali. Allo stesso modo in cui gli utenti Mac sono abituati a copiare i file nella cartella Applicazioni.

La maggior parte degli installatori espande semplicemente i file nella cartella Programmi e crea un collegamento. È più un caso di ciò che gli utenti sanno, e spesso è solo più semplice mantenere lo stesso processo anche se l'applicazione è portatile.


2

Alcuni programmi richiedono che il percorso di installazione si trovi nel registro, altri potrebbero avere le loro posizioni codificate nel programma (questo è il caso di perl.exe).

Fondamentalmente il motivo principale sono i programmatori che hanno preso la via d'uscita semplice e hanno codificato qualcosa nei programmi, chiavi di registro o percorsi reali codificati.


2

Molte applicazioni Windows devono utilizzare ambienti o servizi di sistema, come SQL Server, IIS, WMI, domini di sicurezza, Active Directory e molti altri. Un utente tipico potrebbe non avere idea di come configurarli o potrebbe non averne accesso.

Le applicazioni come Microsoft Office non sono file singoli; contengono decine di file, file eseguibili, utilità, servizi, modelli, plug-in, driver e così via. Quando installi un'applicazione non puoi semplicemente sovrascrivere tutto ciò che utilizza la nuova app, deve adattarsi a ciò che è già lì. I programmi di installazione di Windows fanno molto di più che copiare semplicemente file, possono interrogare l'ambiente di sistema, eseguire script e installare servizi e configurare la macchina come se fossero un amministratore.

dbkk101 chiede perché le app di Windows "non possono andare d'accordo". Possono, ecco a cosa servono gli installatori.


2

Concesso con alcuni programmi, l'installazione è stupida ma c'è molto di più che semplicemente "trascinare un file nella directory dei programmi".

Per lo meno, un programma di installazione decente con decomprime il file di installazione e imposta i collegamenti appropriati e semplifica la rimozione del programma quando non lo si desidera più. Penso che la decompressione e la copia sia probabilmente ciò che richiede più tempo.

Quindi ci sono file condivisi - questo è particolarmente vero nel mondo Linux sebbene non tanto in Windows IMO.

Ancora più importante, alcuni programmi devono essere configurati per la macchina e alcuni (presumo almeno) tentano di ottimizzare in base alla macchina o almeno questo è ciò che il dialogo di Adobe mi porta a credere.

Inoltre, non ho mai visto un motivo per l'installazione su una partizione separata. Si tende a perdere tutti i valori del registro e le impostazioni di configurazione. Inoltre, in realtà preferisco quella perdita perché riduce il gonfiore di Windows.

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.