2009-12-07 20 views

risposta

25

Purtroppo, n

NSIS consente di creare script, pacchetti di installazione procedurali. È semplice, facile da usare e ha una serie di funzionalità non presenti in Windows Installer.

Windows Installer (MSI) crea pacchetti di installazione transazionale gestiti da database. Se scritto correttamente, un pacchetto di Windows Installer è molto robusto, un file viene danneggiato/cancellato e verrà reinstallato automaticamente. Windows Installer è a conoscenza del controllo dell'account utente e solleva solo quando richiesto, in pratica se si sta creando software per il mercato aziendale, sarà necessario fornire un MSI.

Verificare The Definitive Guide to Windows Installer per una buona introduzione alla comprensione di MSI.

+0

Inoltre: ci sono molti problemi con MSI - è necessario crea installatori separati per x86 rispetto a x64 per un esempio (tra tanti - un altro esempio: MSI può sempre elevare o non elevare mai - non può fare entrambi). - Immagino che queste limitazioni non esistano con NSIS. – BrainSlugs83

+1

@ BrainSlugs83 vedere l'UAC nella serie MSI. Non ci sono limiti se lo scrivi correttamente :) http://blogs.msdn.com/b/rflaming/archive/2006/10/01/uac-in-msi-notes-how-to-build-packages-that -work-for-both-standard-user-and-per-machine.aspx – saschabeaumont

+0

Un altro bonus sta facendo uso del wrapping dell'MSI all'interno di NSIS. Questo è ottimo quando i reparti IT impostano il servizio Windows Installer su disabilitato (o manuale). È possibile fare in modo che il programma di installazione di NSIS verifichi ciò, abilitare il servizio e quindi estrarre ed eseguire l'MSI. Nondimeno è una bella recensione, @saschabeaumont – Damian

12

No (E non ci sono piani per supportare l'uscita .msi), cercano WIX

+3

Bello mettere 'WiX' in là come alternativa :) –

16

Gli installatori NSIS possono essere incapsulati in file MSI utilizzando MSI Wrapper. È un piccolo strumento che ho realizzato per l'installazione degli installer di NSIS e Inno Setup. Usa WiX per compilare l'MSI ma c'è una GUI che ti aiuta invece di un file XML.

È stato creato perché avevo bisogno di uno strumento per la creazione di file MSI basato su programmi di installazione EXE tradizionali. Avevo bisogno del supporto per la disinstallazione e gli aggiornamenti e volevo solo che gli installer avvolti si presentassero una volta nei programmi Aggiungi/Rimuovi nel pannello di controllo.

Volevo anche essere in grado di passare i parametri della riga di comando al programma di installazione avvolto quando MSI è installato.

Se si desidera utilizzarlo o aiutarmi a migliorarlo, è possibile trovarlo a http://www.exemsi.com.

Condivido l'opinione che il wrapping di un programma di installazione eseguibile in un pacchetto MSI non è la soluzione ideale. Tuttavia, quando hai già l'exe può avere molto senso :-)

+0

Santo schifo! Questo dovrebbe essere integrato in NSIS! Dare una prova ora. – BrainSlugs83

+2

Holy Crap è una buona descrizione di quel modello. Non ha senso affatto ... mi dispiace. –