Pagina 1 di 2
Installer windows: come mai sono fatti cosi male?
Inviato: martedì 28 gennaio 2014, 15:13
da AlexDiste
Sono ormai alcuni giorni che mi confronto con altri utenti di un blog linux di come, secondo me, gli installer per i programmi per windows siano fatti male e sarei curioso di sapere anche la vostra.
So che forse non è la sede migliore ma sono convinto che se l' avessi scritta in uno dei forum di windows che seguo i miei utenti non avrebbero potuto capire la differenza per mancanza di un modo di confronto; qua invece in quanto utenti linux avete almeno vari modi per installare i software (pacchetti deb, rpm e compilazione da sorgenti) quindi avete un modo di confronto.
Insomma sono giorni in cui mi sto chiedendo perché molte software house usino eseguibili EXE per fare degli installer quando in teoria il formato più adatto per quello scopo sono gli MSI.
MSI sta apposta per Microsoft Installer. Gli MSI integrano un database di tutte le modifiche e si integrano con gli altri MSI per offrire funzionalità di rollback. Ma sopratutto saprebbero esattamente dove mettono ogni singolo file e cartella e quindi lo saprebbero rimuovere con successo (e non come gli installer fatti in EXE).
Quindi mi chiedo perché viene erroneamente usato il formato EXE anziche MSI?
Inoltre ci sono questioni pù filosofiche. Anche se windows non era cosi multi utente come i sistemi UNIX è innegabile che ad oggi sia un sistema multi utente, quindi a che pro avere una cartella di programmi comuni?
Ma sopratutto perché fare in modo che sia il percorso predefinito per l' installazione di software?
Nel senso se io utente loggato PIPPO voglio installare un software perché non lo installa nella mia home ma lo mette invece in programmi, cartella accessibile anche da altri e di fatto lo installa anche per altri. Se lo sto installando io vorrei poterlo volerlo solo per me, no?
Ci sono alcuni installer che ti chiedono se installarlo solo per l' utente loggato (e in uso) o per tutti gli utenti. In caso gli dici per tutti gli utenti lo installa nella cartella programmi senno lo installa nella home dell utente (raggiungibile tramite esegui da %AppData% che equivale a ~ in linux). Ma perché alcuni installer lo permettono altri no?
Perché di default installa per tutti gli utenti e quindi nella cartella programmi (Program Files)?
Chrome ad esempio viene installato in X:\Utenti\<Tuonomeutente>\AppData\Local\Google, quindi solo per l utente corrente ma ad esempio firefox invece viene installato in programmi e quindi per tutti.
Inoltre la cartella utente su windows è mappata tra le variabili di ambiente, quindi se eseguo dalla schermata esegui o da prompt dei comandi un eseguibile per nome presente li funziona, mentre la cartella programmi non è mappata (di default) tra le variabili di ambiente e quindi se faccio win+r (esegui) e scrivo chrome funziona, mentre se scrivo firefox no (perché uno è nella mia home uno in programmi).
Secondo voi c' è qualche logica in tutto ciò o è solo per ignoranza/incompetenza che abbiamo EXE usati come installer e tra l' altro non ricchi di personalizzazione e quindi fatti male?
Re: Installer windows: come mai sono fatti cosi male?
Inviato: martedì 28 gennaio 2014, 16:21
da stiggia
Secondo me è solo per una questione di abitudine dell'utente, fattore da non trascurare mai in ambito di marketing.
Re: Installer windows: come mai sono fatti cosi male?
Inviato: martedì 28 gennaio 2014, 16:29
da AlexDiste
Si ma sono cattive abitudini.
Cioè voglio capire che ormai gli utenti si sono abituati agli EXE ma rilasciarlo in MSI cosa cambierebbe?
Per il 90% degli utenti niente. Windows automaticamente nasconde le estensioni per i tipi di file conosciuti, quindi EXE e MSI nemmeno le vedi. Per l' utente è uguale almeno l' installazione ma si è certi che in caso di disinstallazione vengono rimossi tutti i file e cartelle creati dall installer in MSI. Certezza che con gli EXE non hai e che costringe infatti alcune software house a rilasciare tool di removal per i loro prodotti (come norton antivirus che per rimuoverlo del tutto devi usare l' apposita utility).
Sulle voci del registro di sistema non so come si comportano gli MSI rispetto agli EXE, forse meglio, forse uguale ma non penso peggio. Al massimo possono lasciare voci inutilizzate nel registro (come fanno ora alcuni exe) ma almeno i file e le cartelle sarebbero rimossi del tutto.
Re: Installer windows: come mai sono fatti cosi male?
Inviato: martedì 28 gennaio 2014, 17:52
da Wilson
Credo che sia una questione di costi o di comodità da parte degli autori, visto che anche per linux una bella fetta di programmi di terze parti hanno installer stile EXE (di solito .run) e non .deb o .rpm (che più o meno equivarrebbero agli MSI, anche se questi ultimi temo non abbiano la stessa buona gestione delle dipendenze).
Forse è anche un discorso di abitudine: i "pacchetti" per win ci sono da molto tempo, ma se non sbaglio all'inizio erano solo per i drivers (almeno, io li ho trovati solo li, almeno fino a XP), probabilmente ci sono un sacco di produttori di software che sono abituati con gli exe e a qualche programma commerciale che crea questi EXE (ricordo che incontravo sempre gli stessi due o tre installer, anche per programmi di case diverse).
Re: Installer windows: come mai sono fatti cosi male?
Inviato: martedì 28 gennaio 2014, 18:45
da stiggia
Io insisto sul lato psicologico. L'utente windows medio è di basse conoscenze informatiche, non gli importa di avere un installer migliore.
Per lui il modo più veloce di avere installato quello che vuole è un file .exe, la via nota per risolvere un problema. Abitudine consolidata negli anni difficile da sradicare.
Ci sono anche altri esempi a controprova. Le chiavette formattate in fat32, obsoletissimo e gli hard disk in ntfs, non proprio il massimo.
Quando con windows 8 hanno provato ad innovare pesantemente non hanno avuto grande successo.
Succede lo stesso anche nel mondo linux qualche volta.
Re: Installer windows: come mai sono fatti cosi male?
Inviato: martedì 28 gennaio 2014, 20:41
da AlexDiste
Per lui il modo più veloce di avere installato quello che vuole è un file .exe, la via nota per risolvere un problema
E io ti ribadisco che le Ui di installer fatti in EXE o MSI possono anche essere uguali e windows nasconde l' estensione quindi l' utente non saprebbe comunque se sta eseguendo un MSI o un EXE.
Sono più propenso a pensare che wilson abbia ragione, forse la motivazione è che ormai ci sono software che creano gli installer in exe uno di questi dovrebbe essere installshield.
che più o meno equivarrebbero agli MSI, anche se questi ultimi temo non abbiano la stessa buona gestione delle dipendenze
Non so come gestiscono le dipendenze sinceramente però gli installer dei vari framework .net sono tutte in MSI e i framework mettono a disposizione funzioni (in api o dll) per molti altri software, quindi direi che riescono a fare il loro ma non ne sono certo.
Tuttavia non capisco il vantaggio di dover usare un software di terze parti per creare exe quando con i tool microsoft (SDK precisamente) puoi fare gli MSI che permettono una miglior disinstallazione quanto meno.
Poi si potrebbe approfondire ancora il problema parlando delle opzioni:
"installa per l utente corrente"
"installa per tutti"
Alcuni installer la offrono, altri no.
E anche l' opzione "do not use app data" che è comodissima per far rendere il software portable (in quanto stand alone).
Sinceramente qualche software con installer fatto bene c' è ma sono ancora pochi (e per lo più open source) tipo: 7zip, notepad++
Re: Installer windows: come mai sono fatti cosi male?
Inviato: martedì 28 gennaio 2014, 21:15
da ale4
Semplice: se usassero gli MSI poi come ti installano le toolbar e i malware vari ?
A parte gli scherzi,su windows penso che il problema sia che gli sviluppatori vogliono creare installer più elaborati,per esempio per chiedere all' utente che componenti del programma installare,oppure per richiedere l' inserimento di un seriale,per settare variabili di ambiente ed impostazioni varie,o per scaricare il programma aggiornato dall' exe (per esempio l' exe di chrome e firefox pesa pochi kb perchè poi scarica il browser vero e proprio da internet),e mille altri motivi
Comunque nemmeno la stessa microsoft usa installer msi (per esempio l' installer di office)
Fra l' altro poi il problema è anche nella struttura di windows in se,cioè ha un filesystem che penso nessuno alla microsoft si sia mai preso la briga di organizzare come si deve,sarebbe da cambiare tutto,è rimasto ancora fermo ai tempi del DOS...
Prima di tutto dovrebbero eliminare quella stupidata delle lettere dell' alfabeto che sono ridicole e rendono la gestione troppo incasinata,e organizzare le cartelle di sistema con una creta logica,cioè apri c:/windows e cominciano a spuntare file senza un ordine logico,ma dico tenere una minima distinzione fra file di configurazione,binari e librerie è una cosa troppo complessa ? in modo che per modificare il file hosts non devo andare in c:/windows/system32/drivers/etc/hosts (semplice da trovare,no?)
E magari se smettessero di fare gli alternativi usando il backslash per i percorsi sarebbe cosa gradita,soprattutto per i poveri programmatori...
Potrebbero magari anche vedere il sistema di gestione dei permessi che è complicatissimo da usare,e se avanzano tempo creare un filesystem degno di tale nome,oppure basta che facciano un driver per uno dei tanti FS open source che ci sono
Poi potrebbero fare un sistema di gestione pacchetti decente,con il controllo delle dipendenze,la possibilità di installare software da repo sia di microsoft che di terze parti,e che controlli anche la firma di ciò che scarica ed installa (così magari uno non si becca più i virus),e magari che aggiorni anche automaticamente tutti i software,però... parliamo di microsoft e so che non lo faranno mai,daltronde a loro interessa riempire gli os di inutili piastrelle colorate che alla fine sono quelle che fanno scena,del resto a chi vuoi che importi,tanto a loro interessa il mercato consumer
Re: Installer windows: come mai sono fatti cosi male?
Inviato: martedì 28 gennaio 2014, 21:27
da AlexDiste
L' installer di Office è in MSI per le licenze VLK di MDSN, però effettivamente la versione retail non lo è. Si probabilmente è per poter mettere il seriale.
Le variabili di ambiente pensano le possano inserire anche gli MSI e poi ad esempio l' installer del JDK di ORACLE anche se è in exe non ti mette la cartella bin tra le variabili di ambiente e quindi javac non viene riconosciuto almeno che tu utente non aggiungi quella cartella alla variabile d ambiente PATH e poi volendo setti la java home.
Concordo sul backslash ma temo che una riorganizzazione del genere romperebbe troppo la retrocompatibilità ormai. Però se non altro il prompt dei comandi si adatta a entrambi i modi
Per l' organizzazione del file system sebbene in parte concordo sia confusionaria una volta imparate quelle tre 4 meta chiavi utili, arrivi ovunque.
La home dell utente che in Linux è ~ su windows sarebbe ad esempio %AppData% (in realtà un livello sopra ma le configurazioni dei vari software sono qui)
La struttura per quanto riguarda la rete è copiata da unix infatti cosi come esiste /etc/hosts su linux esiste su windows solo che prima ci devi mettere windows\system32
etc..
Insomma è incasinata ma se si legge un pò o si usa da tempo ci si abitua.
Il controllo della firma c' è con smart screen che prima era solo per internet explorer ora funziona su qualsiasi file exe. Controlla se l exe è firmato. Se non lo è ti avvisa. Certo potrebbero controllare anche l hash md5 del file e confrontarlo con l originale ma intanto qualcosina c'è.
Comunque sebbene possa essere Microsoft stessa a rilasciare pochi MSI, non capisco perché seguano questa brutta abitudine anche sviluppatori indipendenti.
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 5:46
da Barrnet
Guardate che nemmeno la maggior parte dei software per linux viene installato su un singolo utente, nella home ci sono solo le configurazioni...
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 8:32
da AlexDiste
Anche li dipende da software e software.
Esempio Chrome viene installato in usr/opt quindi solo per l utente corrente, così come su windows viene installato su C:\Users\<Tuonomeutente>\AppData\Local
Concettualmente però sarebbe più giusto te lo chiedessero di volta in volta oppure si installassero solo per l utente in corso. Senno che sistema multi utente è?
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 12:15
da Wilson
/usr/opt è per tutti, non per l'utente corrente (ovviamente)
In Ubuntu non c'è nulla che si installi automaticamente solo per l'utente (tranne i plugin per i browser, che comunque non si scaricano dai repo), come mi pare normale per un sistema multi utente (se no non è un sistema multi utente, ma un gruppo di sistemi monoutente).
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 12:26
da AlexDiste
No allora abbiamo concenzioni diverse della frase multi utente. Per me multi utente vuol dire che supporta diversi utenti. Ogni utente dovrebbe quindi avere un suo spazio e i suoi programmi.
Non che pippo installa qualcosa e lo trovano tutti..
Se la multi utenza di Ubuntu è che quindi vede programmi anche installati da altro allora non voglio quella multi utenza.
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 12:52
da Wilson
Si, è quella, come hai fatto a non accorgertene finora?
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 12:57
da Ikitt
Data la prima, la seconda si implementa senza troppe difficolta`.
Peraltro e` un dettagli implementativo, non e` che una soluzione e` piu` "multi utente" di un'altra.
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 13:04
da Wilson
Non è così semplice: il sistema di filesystem posix non ha un posto ovvio in cui mettere i programmi dei singoli utenti, per dare quella possibilità Win ha slittato di un livello la home visibile, cosa che si può certo fare anche in una distro come Ubuntu, ma poi perderebbe la compatibilità un po' con tutto.
Un'altra possibilità sarebbe creare delle home secondarie dentro /opt (se non sbaglio /usr non deve contenere dati locali per permettere di condividerne una sola su più macchine) in cui mettere i programmi del singolo utente, questa forse è meno incompatibile, ma comunque abbastanza lontana dalla filosofia multiutente di un sistema unix (in cui l'utente dovrebbe avere permessi solo nella sua home).
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 13:07
da Ikitt
dentro /home non e` proibito farlo; inoltre da dentro /home si deve poter accedere (in RO ovviamente) a /usr /bin e /lib , per cui proprio volendo...
Sino a non molto tempo fa Red Hat forniva pacchett rilocabili, anche questo darebbe una grossa mano.
Un'altra possibilità sarebbe creare delle home secondarie dentro /opt (se non sbaglio /usr non deve contenere dati locali per permettere di condividerne una sola su più macchine)
Da un po' di tempo questo non e` piu` vero, vedi anche querelle con systemd in merito.
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 13:39
da AlexDiste
Si, è quella, come hai fatto a non accorgertene finora?
Generalmente c' è un solo utente sui miei pc: il mio. Quindi che lo installi per uno o per tutti lo installa sempre e solo per me
Sino a non molto tempo fa Red Hat forniva pacchett rilocabili
si sarebbe comodo, come la scelta: "installalo per tutti", "installalo per me" che forniscono alcuni installer exe di alcuni programmi
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 13:45
da Ikitt
Quale sarebbe il vantaggio di avere un software installato solo per un utente?
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 13:48
da AlexDiste
Che si separano bene i ruoli e gli utenti. Se siamo ad esempio io e mia mamma ad usare il pc a me potrebbero servire programmi che a mamma non servono
Re: Installer windows: come mai sono fatti cosi male?
Inviato: venerdì 31 gennaio 2014, 13:51
da Ikitt
L'esigenza e` ancora fumosa, questa separazione pare utile piu` in teoria che in pratica.
Se il problema e` togliere visibilita` del programma, basta toglierlo dai vari menu. Se il problema e` impedire l'avvio (coperta di linus, ma tant'e`) si puo` fare con selinux o apparmor.