Domanda

Sono stato valutando la vasta gamma di soluzioni di installazione e distribuzione web disponibili per le applicazioni Windows. Mi limito a chiarire qui (senza troppi dettagli, questi strumenti sono stati coperti in altre domande) la mia comprensione delle opzioni:

  • NSIS - strumento gratuito che genera eseguibili di configurazione. Piccolo binario. Specialized, a volte ottusa, linguaggio di scripting.
  • Inno Setup - Strumenti gratuiti per gli eseguibili di configurazione. Vari schemi di compressione binari. motore di scripting pascal.
  • WIX - set di strumenti gratis per generare binari MSI. definizioni di linguaggio XML.
  • WIX ClickThrough - Strumenti aggiuntivi per il packaging, web scaricare e la rilevazione di aggiornamento automatico (ora parte di WIX core).
  • InstallShield - ambiente di sviluppo commerciale per il confezionamento di installazione. Genera file binari MSI. C-come il linguaggio InstallScript.
  • Wise - ambiente di sviluppo commerciale per il confezionamento di installazione. Genera file binari MSI.
  • ClickOnce - quadro Visual Studio supportato per la pubblicazione di applicazioni su un server web, con rilevazione automatica degli aggiornamenti. Nessun supporto per i requisiti di installazione personalizzati (file INI, Registro di sistema, ecc ...). Pacchetti di installazione come un binario di MSI.
  • Installare Consapevole - ambiente di sviluppo commerciale per l'installazione. Genera file binari MSI. framework di aggiornamento automatico (Web Update).

Se ho perso qualsiasi, fatemelo sapere.

E ha trovato alcune discussioni utili di queste tecnologie su StackOverflow:

Ho lavorato con alcune di queste soluzioni, così come una manciata di soluzioni proprietarie di installazione interna. Sono per lo più interessati con l'imballaggio installazioni e fornendo un quadro di riferimento per sviluppatori di accedere all'ambiente di esecuzione. Con la crescente necessità per la distribuzione web e aggiornamenti software automatici, mi aspettavo di trovare più di un consenso tra gli sviluppatori su un quadro per la consegna web di software e successivi aggiornamenti, non ho davvero trovato quel consenso. Ci sono certamente soluzioni disponibili (ClickOnce, di clic, Update Service InstallShield), ma ognuno ha notevoli limitazioni (per favore correggetemi se mis-rappresentano uno di questi). Sarei interessato in un quadro che ha fornito alcuni dei seguenti:

  • di terze parti di hosting / gestione degli aggiornamenti.
  • L'accesso ai ambiente client (file INI, Registro di sistema, ecc ..).
  • Registrazione Utente / attivazione.
  • Feedback / segnalazione errore

Questo mi sta lasciando con la forte impressione che il modo migliore per affrontare il problema di distribuzione web è attraverso una soluzione proprietaria su misura (eventualmente sfruttando confezionamento installazione esistente). Ho visto questo tipo di lavoro una soluzione bene per un certo numero di applicazioni di successo:

  • FileZilla- richiesta HTTP update.filezilla-project.org per controllare gli aggiornamenti, scarica un NSIS binario (credo) e poi si spegne per eseguire l'installazione.
  • Aggiornamenti automatici per i giochi Multigiocatore di massa sono del tutto necessari e universalmente implementato utilizzando sistemi proprietari.

Quindi, finalmente, alle mie domande:

  • Ho perso un framework di distribuzione web in grado di fornire le funzionalità di cui ho bisogno?
  • sono le mie esigenze troppo specifiche aspettarsi ragionevolmente un quadro di terze parti per fornire?
  • Devo comprare o costruire?
È stato utile?

Soluzione

  • Se i requisiti specifici sono fondamentali per il vostro business; vale a dire parte del vostro business è quello di fornire una distribuzione / installazione liscia e facile da usare e si sente che nessuna delle librerie di distribuzione disponibili può farvi raggiungere questo obiettivo, allora certamente andare avanti e costruire il proprio.
  • Se i requisiti specifici sarebbe bello avere, ma non fare una parte significativa della vostra attività; vale a dire l'utente finale non sarà tipicamente aspetta o che necessitano di una procedura di installazione liscia, o non avrà mai bisogno di farlo se stessi (cioè passano quel passo sul loro reparto IT), quindi la necessità di costruire il proprio solo per le proprie specifiche esigenze è rischiano di essere vanificati dallo sforzo supplementare che avrebbe comportato.

Credo che la sua impressione che vi sarà bisogno di una soluzione personalizzata è un suono uno; sembra che le vostre esigenze stanno per essere la chiave per l'esperienza del prodotto, soprattutto se avete bisogno aggiornamenti automatici davvero liscia e feedback.

Altri suggerimenti

Esorto cautela InstallAware. Recentemente abbiamo avuto un'esperienza scioccante con il loro supporto al cliente.

Abbiamo seguito uno dei loro progetti di esempio alla lettera, che fallì miseramente. Cresciuto un ticket di supporto con l'assistenza clienti e ci hanno detto che stava andando a costare US $ 199 per loro di guardare al fixing il proprio codice.

Abbiamo poi sollevato lo stesso problema nel forum di utenti e sono state prontamente vietati a causa ciò costituiva cross-posting e non era consentito. Anche se questo non è menzionato nei loro termini e condizioni. In realtà, hanno vietato il nostro IP in modo che nessuno nella nostra azienda può inviare al forum.

Una brutta esperienza e uno non rimarremo ripetizione. Ora stiamo cercando di sostituire InstallAware il più presto possibile.

Acquista InstallAware a vostro rischio e pericolo.

Assolutamente d'accordo con il manifesto che ha detto di stare lontano da InstallAware. Hanno avuto una lunga storia di problemi di etica veramente assurdo, e trattano i propri clienti orribilmente. Possono essere addirittura sconvenienti e ingiuriosi.

Attenzione InstallAware!

Sono completamente d'accordo su InstallAware.

Dopo aver usato WiX, NSIS e InstallAware, devo ammettere umilmente che erano tutti eccessivo per quello che ho veramente bisogno come sviluppatore software. Non ci sono progetti che ho fatto finora, che non potevano essere distribuito con il progetto di distribuzione di Visual Studio.

E 'limitata? Sì.

E 'anche molto semplice da imparare un uso. Inoltre, è in realtà possono fare cose veramente pulito come creare automaticamente patch (file msp) utilizzando tecniche come descritto qui

Capisco perfettamente che non si può fare tutto all'interno di un progetto di installazione di Visual Studio, ma è piuttosto sorprendente quello che possono realizzare. È gratis, è facile e, francamente, per uso generale è una scelta migliore che passare ore interminabili di apprendimento XML da capogiro di WiX (impressionante come è), o gli script dettagliati di InstallAware ...

Con il programma di installazione VS, è drag'n'drop & build'n'deploy. Ogni altra soluzione che ho provato aveva messo spalle ... non possono rilevare automaticamente l'output del progetto ... o bisogno di speciali filtri in modo da non includere le uscite indesiderati dal build.

Il mio suggerimento è quindi: Se desiderate semplicemente per ottenere il vostro progetto distribuito, quindi imparare:

  1. Come costruire una classe di installazione personalizzato, e
  2. Come autore proprio pacchetti pre-requisito

Si tratta di competenze sia ragionevolmente facile da padroneggiare, e soddisfare le esigenze della maggior parte degli sviluppatori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top