2010-03-16 7 views
11

Possible en double:
What are the specific differences between .msi and setup.exe file?Quelles sont les différences entre les installateurs MSI et EXE, et que dois-je choisir?

Je travaille sur un programme d'installation d'une nouvelle version de mon projet (C#).

Auparavant, j'ai utilisé Inno Setup pour créer des fichiers .exe pour installer mes projets sur d'autres ordinateurs sur mon lieu de travail. En lisant quelques tutoriels, cependant, je suis tombé sur Windows Installer XML, qui utilise des fichiers XML pour construire un programme d'installation .msi.

Mon projet sera disponible sur un partage réseau que tous les employés ont accès à afin qu'ils puissent installer le logiciel (je travaille actuellement sur un vérificateur de mise à jour ainsi)

Quelles sont les principales différences entre .exe et .msi installateurs? Pourquoi voudrais-je choisir l'un sur l'autre? Serait soit plus logique étant donné mon environnement spécifique?

Je trouve certaines des informations at this question, mais il n'y avait pas beaucoup d'informations. Je ne voudrais pas utiliser WiX pour un nouveau projet.

+0

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

Répondre

5

J'utiliserais un 'Projet d'installation' dans Visual Studio pour construire un MSI. Un projet d'installateur est beaucoup, beaucoup plus facile à mettre en place.

De nombreux installateurs exe sont en fait branches ou conteneurs qui contiennent un MSI, btw.

Je suppose que vous avez vérifié http://en.wikipedia.org/wiki/Windows_Installer? Les MSI permettent aux administrateurs de restreindre les installations, de rebaser les installations, de modifier ou d'ajouter des actions personnalisées, d'automatiser les installations/réinstallations/désinstallations, la journalisation standard et les commutateurs. Il s'intègre vraiment dans un environnement informatique d'entreprise (http://technet.microsoft.com/en-us/library/bb742606.aspx).

Un programme d'installation personnalisé peut comporter plusieurs de ces fonctionnalités, mais cela dépend du package d'installation.

+1

Je voulais juste laisser quelqu'un qui a vu cette réponse savoir qu'il n'est plus précis pour la version de Visual Studio au-delà de 2010. Visual Studio 2012 ne prend plus en charge les projets d'installation et de déploiement. –

+0

Pour Visual Studio 2013 et versions ultérieures, il existe une extension appelée «Projets d'installation Microsoft Visual Studio 2013» (remplacez 2013 par votre version) sur la place de marché VS, qui prend en charge les anciens projets d'installation. Cependant, il a un bug qui l'empêche d'installer des applications 64 bits, et le texte dans l'assistant qu'il produit n'a aucun anti-aliasing, il semble donc obsolète. –

5

La plupart des programmes d'installation EXE disponibles aujourd'hui sont tout simplement de vérifier cogne que la machine cible a juste assez de soutien pour lancer un MSI stocké dans le fichier EXE. Ils effectuent la vérification de version Windows de base et la vérification de la version de Windows Installer, puis appellent essentiellement msiexec et laissent Windows Installer gérer le reste.

Pour une installation très basique, le projet d'installation dans Visual Studio peut vous passer, mais pour à peu près tout type de personnalisation réelle ou peaufinage vous aurez besoin d'un véritable éditeur MSI. Nous utilisons WiX et l'adorons, mais c'est un ours à apprendre. Si vous avez l'argent que vous pouvez investir dans InstallShield - mais cela a son propre ensemble de bizarreries.

3

MSI est configurable alors EXE est pas. Je sais que cela ne répond pas directement à votre question, mais je pensais que je devrais pointer vers la technologie ClickOnce.

MSDN: See example here.

Simplement dit, une application ClickOnce est une Windows Presentation Foundation , Windows Forms, ou console application publiée en utilisant la technologie ClickOnce . Vous pouvez publier une application ClickOnce de trois manières différentes: à partir d'une page Web, à partir de un partage de fichiers réseau ou à partir du support tel qu'un CD-ROM. Une application ClickOnce peut être installé sur une extrémité l'ordinateur de l'utilisateur et exécuter même lorsque l'ordinateur local est déconnecté, ou peut être exécuté en mode en ligne uniquement sans installer de façon permanente quoi que ce soit sur l'ordinateur de l'utilisateur final. Pour plus d'informations, voir Choix d'une stratégie de déploiement ClickOnce .

+0

Intéressant - J'étais au courant de ClickOnce, mais je pensais que c'était juste un moyen de distribuer des logiciels sur Internet. Je vais devoir jeter un coup d'oeil aux choses de partage de réseau - merci! –

+0

Malheureusement ClickOnce n'a pas d'actions personnalisées. – ABCD

1

L'usine MSI d'IndigoRose est extrêmement puissante et beaucoup moins chère qu'InstallShield.

Il utilise WiX en interne et vous permet de modifier les fichiers XML comme vous le souhaitez. Le bootstrapper (.exe, si vous en ajoutez un) a un puissant moteur de script basé sur Lua à faire ... et bien n'importe quoi.

Questions connexes