2009-02-20 9 views
11

Sto per avviare un nuovo progetto InstallShield. Ci sono tre scelte per il tipo di progetto:Scelta di un tipo di progetto InstallShield

  1. base MSI
  2. InstallScript
  3. InstallScript-MSI

Quali sono i meriti e demeriti di ciascuno? Quale dovrei scegliere?

+0

Si prega di leggere i miei commenti qui sotto. ** Evita il tipo di progetto MSI di Installscript a tutti i costi **. –

risposta

18

base MSI:

Questo è il tipo di installazione standard. Utilizza Windows Installer per quasi tutta l'installazione (prerequisiti, selezione della lingua e altre cose sono gestite da setup.exe). Un MSI è un database con molte tabelle che descrivono come funziona l'installazione. Il numero di tavoli può essere un po 'opprimente all'inizio, ma InstallShield fa un buon lavoro di astrazione; il più delle volte, non è necessario modificare direttamente le tabelle del database.

Questo è il tipo più comune di installazione, quindi sono disponibili molte informazioni. Il InstallShield forum è una grande fonte di informazioni. Inoltre, molte installazioni utilizzano MSI, quindi se le capisci, sarà più facile capire cosa fanno le altre installazioni (ad esempio se devi installare l'MSI di un altro produttore come parte dell'installazione). Le installazioni silenziose possono essere eseguite facilmente con un argomento della riga di comando.

Sfortunatamente, poiché MSI controlla l'installazione attraverso le tabelle del database, c'è un po 'di una curva di apprendimento. Se si finisce per dover modificare direttamente le tabelle MSI, può essere inizialmente difficile poiché ci sono molte tabelle e alcuni dei loro scopi e interazioni sono sottili. Inoltre, la creazione e la sequenza di dialoghi è più difficile in un MSI poiché tutte le interazioni devono essere controllate dalle tabelle. Le finestre di dialogo MSI personalizzate possono essere create, ma solo in C++.

Raccomanderei questo tipo di progetto per la maggior parte degli usi.

InstallScript:

Questi progetti utilizzano uno script di installazione per installare il software al posto di Windows Installer. Poiché lo script di installazione è un programma lineare, può essere più facile capire come funziona. Un vantaggio di questo tipo di progetto è che creare e sequenziare i dialoghi è più semplice. Inoltre, le finestre di dialogo InstallScript possono essere scuoiate e apparire un po 'meglio delle finestre di dialogo MSI. L'esecuzione di un'installazione invisibile richiede un "file di risposta" separato per controllare l'interfaccia utente. Non consiglierei di usare questo tipo di progetto a meno che non si abbia un motivo specifico per (ad esempio se si deve controllare molto precisamente il comportamento dell'installazione in un modo non supportato da MSI).

InstallScript MSI:

Questo è essenzialmente un progetto di base MSI che utilizza InstallScript per controllare l'interfaccia utente e un MSI per controllare l'installazione vera e propria. Ha il vantaggio di utilizzare un MSI per controllare l'installazione, ma lavorare con le finestre di dialogo è più semplice. Richiede comunque un file di risposta per controllare l'interfaccia utente durante un'installazione invisibile. Se non ti piacciono le installazioni silenziose o hai una complicata sequenza di dialoghi dell'interfaccia utente, potresti trovare utile questo tipo di progetto.

+5

Prendilo dalle trincee: non usare MAI InstallScript MSI.È estremamente buggato, causa tutti i tipi di problemi per l'implementazione aziendale e, in generale, sconfigge lo scopo e i vantaggi dell'MSI come tecnologia di implementazione. Potrei andare avanti all'infinito, ma non perderò tempo. Credimi sulla parola e risparmia un sacco di problemi. Le opzioni sono MSI di base se si desidera la capacità di distribuzione di MSI o InstallScript se è necessario uno script di distribuzione in stile legacy. MSI ha una curva di apprendimento, ma migliora notevolmente l'implementazione aziendale. –

+0

@ kevin-kibler Capisco che è passato un po 'di tempo, ma potrebbe essere aggiornato per coprire l'Advance UI Project? – x5657

+0

Scusa, non mi è familiare. In realtà non ho usato InstallShield in diversi anni. Sto usando wix per gestire le mie (molto limitate) esigenze di installazione ultimamente. –

Problemi correlati