2010-10-18 10 views
8

Ho creato il mio primo progetto di installazione utilizzando Visual Studio 2010. Ho notato che quando costruisco il progetto di installazione genera un file di installazione MSI e un eseguibile setup.exe. Tuttavia, sembra che sia possibile fare semplicemente clic con il pulsante destro del mouse sul file MSI e scegliere Installa per installare la mia applicazione anziché eseguire setup.exe.C'è qualche punto nel file setup.exe creato da un progetto di installazione in Visual Studio?

Il file setup.exe generato non fa altro che attivare il file MSI? Quando distribuisco la mia applicazione posso semplicemente fornire il file MSI piuttosto che il file MSI e il file setup.exe?

+0

possibile duplicato di [Quali sono le differenze specifiche tra i file .msi e setup.exe?] (Http://stackoverflow.com/questions/1789530/what-are-the-specific-differences-between-msi-and -setup-exe-file) –

+0

vedere anche http://stackoverflow.com/questions/902841/why-do-so-many-programs-have-both-a-setup-exe-and-a-setup-msi – rds

risposta

9

Kristopher Johnson ha ragione sulle macchine precedenti, ma fa anche qualcos'altro. Quando si imposta il programma di installazione è possibile impostare dipendenze e posizioni per scaricare tali dipendenze. Setup.exe esegue tali controlli di dipendenza e avvia gli altri file MSI per installarli. Questo è più spesso usato per assicurarsi che Windows abbia la versione corretta di .NET o il runtime di C++ installato.

Se non si dispone di dipendenze e si può garantire .NET o il runtime di C++ è installato, non è necessario distribuire il file setup.exe.

+0

Esattamente. E questo è anche il motivo per cui dovresti sempre installare eseguendo setup.exe, a meno che tu non voglia metterti nei guai o sapere esplicitamente cosa stai facendo ... –

+0

+1 per la risposta corretta. Si può effettivamente guardare (e modificare) la fonte di quel setup.exe se lo desiderano, anche se non l'ho fatto da un po 'di tempo. –

4

Molti (la maggior parte?) Utenti sono abituati a eseguire il programma "SETUP" per installare qualcosa. Ecco perché è lì. È una buona idea fornirlo, a meno che tu non sia sicuro che solo gli utenti tecnicamente competenti installeranno la tua applicazione.

SETUP.EXE è utile anche se qualcuno tenta di eseguire l'installazione su una versione precedente di Windows che non supporta i file MSI. In tal caso, viene visualizzato un messaggio di errore "Impossibile installare questo programma su questa versione di Windows".

+1

C'è dell'altro, l'esecuzione di un programma chiamato "setup.exe" rende UAC felice. –

+1

Anche se sembra ragionevole, questa non è la ragione principale per avere setup.exe. –

+2

@Hans Passant: Ci sono molti modi per mantenere UAC felice, un file MSI può farlo anche;) –

0

Credo (ma potrebbe essere errato) che esegue il bootstrap della versione corretta di MSI.

Problemi correlati