2010-03-26 3 views
2

Avec un fichier MSI Windows, existe-t-il un moyen de saisir tous les paramètres d'installation possibles dans le code .NET? Je dois créer une interface utilisateur générique pour configurer plusieurs fichiers MSI inconnus avant l'exécution, puis les installer ensemble en une fois.Inspection des paramètres MSI

Répondre

1

Comme techniquement vous pouvez fournir toute propriété publique sur la ligne de commande, non. Vous pouvez également mettre à jour les propriétés privées à l'aide d'une transformation MSI. Vous pouvez énumérer les propriétés existantes (publiques ou privées), mais il n'y a aucun moyen de savoir ce que l'installateur lui-même en fait.

Si vous voulez savoir comment, téléchargez le SDK Windows. Un très grand nombre de scripts VBS montrent comment utiliser l'API Windows Installer. De là, vous pouvez simplement utiliser le SQL normal, par ex. Select * from Properties

+0

Très bien - je veux juste savoir comment les énumérer. Des idées? –

1

Les packages Windows Installer sont des bases de données qui peuvent être facilement reflétées. WiX DTF a un espace de noms Microsoft.Deployment.WindowsInstaller avec des classes qui peuvent accomplir cela. De là, vous écrivez simplement votre code .NET pour répondre à toutes vos exigences et vous devez être très réfléchi/plug-in dans votre façon de faire.

Il existe quelques projets bootstrapper (CodePlex) qui utilisent des fichiers XML pré-générés pour décrire les MSI.

Questions connexes