2009-03-21 3 views
10

Quando si crea un progetto di installazione per un'applicazione Windows/Console, si rileva che esistono due uscite.Progetti di installazione .NET con Visual Studio 2008

  1. Setup.exe
  2. msi

Cosa setup.exe e .MSI fare? Quale dovrebbe essere usato per l'installazione?

Ho visto che posso installare l'applicazione utilizzando entrambi. Ma Setup.exe è un file piuttosto piccolo rispetto al file .MSI.

Domande

  1. Se devo spedire al cliente. Non posso inviare due file. Qual è l'approccio migliore per unire questi due file in un unico file di installazione?

  2. Ho letto che Setup.exe è un bootstrapper che controlla il framework .NET e quindi chiama il file .MSI. È corretto?

  3. Non è stato possibile verificare l'indisponibilità di .NET framework perché sono uno sviluppatore .NET e anche il mio team lavora su .NET e .NET installato. Non volevo rischiare Visual Studio disinstallando il framework .NET e testando l'applicazione di installazione.

Come si installa .NET framework? È 200 MB dispari, ma la mia configurazione è inferiore a 3 MB.

Offre un'opzione per il download o qualcosa del genere?

Qualsiasi aiuto apprezzato.

Grazie,

+1

Leggermente correlato alla domanda. Controlla Virtual PC. È molto utile per testare la distribuzione del software. È anche gratuito. Hai bisogno di una licenza per la copia di Windows che usi, ma penso che MSDN copra che se stai usando il virtual solo per i test. – pipTheGeek

risposta

6

Il MSI è il programma di installazione per voi applicazione. Il file di installazione è un bootstrap che controlla le pre-richieste. Come la versione corretta del programma di installazione di Windows. Penso che sia anche il setup.exe che permetterà il download della giusta versione del framework .NET. È possibile utilizzare .MSI da solo, non è possibile utilizzare solo setup.exe.

È corretto che l'installazione consenta il download della versione corretta di .NET framework.

Ci sono modi per unire MSI e Setup.exe per creare un singolo exe. Cose come una zip autoestraente o iexpress.

Perché non è possibile inviare entrambi i file? Penso che se pubblichi la configurazione e msi su un server per il download, l'installazione troverà e scaricherà il tuo MSI quando è necessario.

+0

Buona risposta, ma afaik non è completamente corretto. Un MSI non è autorizzato a lanciare un altro MSI a causa del carattere transazionale di un'installazione (almeno fino alla versione MSI corrente). Pertanto il proprio MSI non può avviare l'installazione di .NET Framework, deve essere avviato da un bootstrapper separato. –

+0

Sarei molto interessato se si dispone di ulteriori informazioni su come può essere unito il bootstrapper e l'MSI in un nuovo MSI. Penso che questo non sia possibile. Tuttavia, è possibile utilizzare strumenti come WinZip o IExpress per creare un programma di installazione autoestraente. –

+0

@divo - 1) hai ragione, ho corretto la mia risposta. e 2) intendevo combinare in un exe, non un MSI. Ho chiarito la mia risposta. – pipTheGeek

1

Setup.exe è in effetti un bootstrapper che verifica se i prerequisiti sono disponibili sulla macchina del client. Ciò include .Net Framework, ma anche, ad esempio, SQL Compact Edition quando lo selezioni nelle proprietà del progetto. Non disinstallerà nulla. Quando è necessario un prerequisito, darà la possibilità di scaricarlo da Internet o interrompere l'installazione.

Il file MSI è un file di Windows Installer contenente il software.Questo MSI si occupa dell'installazione del prodotto sul computer del cliente. Se si spedisce solo l'MSI, il prodotto verrà installato solo su un computer in cui sono installati tutti i prerequisiti prima di avviare MSI.

Se si desidera eseguire una distribuzione di file singoli, è possibile combinare i 2 file in un singolo file EXE utilizzando iexpress. (Iexpress è un software distribuito con Windows e consente di creare pacchetti di installazione.)

Spero che questo aiuti.

2

Il motivo per il setup.exe separato è dovuto al fatto che non è possibile avere due installazioni MSI in esecuzione contemporaneamente. Pertanto, se l'applicazione richiede i prerequisiti installati dall'MSI, l'installazione si troverà nei guai.

Per quanto riguarda la configurazione del framework, nelle impostazioni del progetto è possibile includere .NET framework come prerequisito dell'applicazione e verrà installato se non già presente sul computer di destinazione. È inoltre possibile scegliere di confezionare l'installazione o scaricarla da Internet