2009-12-23 8 views
3

Pour mon application, j'ai besoin d'installer l'application principale et permettre aux utilisateurs de choisir une ou plusieurs fonctionnalités supplémentaires à installer. J'ai essayé d'exécuter le msi principal et ai une action faite sur commande pour installer d'autres dossiers de fonction de msi. Toutefois, cela ne fonctionne pas car MSI ne prend pas en charge l'installation imbriquée. Dois-je créer une application fenêtre et donner aux utilisateurs les choix et appeler en interne les fichiers msi de manière séquentielle? Les fichiers msi supplémentaires sont des applications personnalisées que nous avons créées. Ils ne sont pas des pré-requis. Nous avons séparé ces fonctionnalités en différents fichiers msi car nous souhaitons apporter des modifications aux fonctionnalités des fichiers msi sans recompiler le fichier msi principal. S'il vous plaît aider!Comment exécuter plusieurs fichiers msi

Merci. Amy Pham

+0

Quels sont les autres MSI? S'il s'agit de pré-requis tels que SQL Server 2005 Express, le composant d'installation VS prend en charge leur installation dans le cadre du processus d'installation. –

+0

Ces fichiers msi ne sont pas des composants pré-requis. Ces fichiers msi sont des applications personnalisées que nous avons créées. –

+0

Quel outil utilisez-vous pour créer votre MSI? Que diriez-vous d'ajouter ces autres applications en tant que fonctionnalités à votre MSI, c'est-à-dire que le résultat serait un seul MSI. –

Répondre

1

Je pense que la réponse courte est que vous ne pouvez pas faire ce que vous avez décrit à l'aide d'un MSI. Étant donné que Windows Installer n'autorise qu'un seul MSI à installer à la fois, vous devrez peut-être écrire une application non-MSI pouvant présenter une interface utilisateur et installer les MSI de manière séquentielle en fonction des choix de l'utilisateur. Vous pouvez utiliser les MSI en tant que ressources externes si vous ne souhaitez pas les compiler dans votre programme d'installation principal.

+0

Merci CodeSawyGeek, j'ai décidé la même chose. Je voulais juste poser cette question au cas où il y aurait différentes solutions que je ne connais pas.J'ai déjà développé une application pour le faire. –

+0

Eh bien, * maintenant * vous pouvez utiliser MSI 4.5 ou plus tard. La dernière fois que j'ai regardé, la pénétration de ces versions est assez récente. – DaveE

1

Comme MSI ne prend pas en charge les installations imbriquées (pour l'instant), vous devrez créer ce que l'on appelle un bootstrapper. Ceci est un fichier .exe distinct normalement nommé setup.exe. Le but de cet exe est de (télécharger et) installer les pré-requis de votre MSI avant le lancement de votre MSI.

Un module d'amorçage peut, par ex. être généré en utilisant Visual Studio.

Voir cette question connexe:

How to create installer inside another installer?

+0

Merci Divo, j'espérais que vous êtes en ligne. J'ai vu certaines de vos réponses et j'ai pensé que vous seriez la personne idéale pour m'aider. Ces fichiers msi ne sont pas des pré-requis. Ces fichiers msi sont des applications personnalisées qui interagissent avec l'application principale. D'après ce que je comprends, un bootstrapper est d'installer des pré-requis seulement. Pour mes scénarios, je vais exécuter le msi principal et fournir une boîte de dialogue d'interface utilisateur pour permettre aux utilisateurs de choisir l'application supplémentaire. Pour toutes les applications supplémentaires qui sont vérifiées, j'ai besoin d'installer ces fichiers msi. S'il vous plaît aider. Merci –

+0

Alors peut-être cette question pourrait aussi vous intéresser: http://stackoverflow.com/questions/295138/how-to-deploy-multiple-projects-in-a-single-msi –

+0

puisque mes caractéristiques sont des fichiers msi, Je ne sais pas comment faire des installations conditionnelles. Je pensais pouvoir utiliser une action personnalisée pour installer ces fichiers msi mais comme vous l'avez souligné, msi ne supporte pas l'installation imbriquée. –

Questions connexes