2008-09-24 21 views
1

Quelle est la méthode correcte pour afficher l'interface utilisateur lors d'une action d'installation personnalisée? Je voudrais que mon interface utilisateur soit modale dans la boîte de dialogue d'installation ou, alternativement, je voudrais un moyen d'afficher le texte/la progression de mon action personnalisée dans le dislog d'installation.Interface utilisateur lors de l'installation du programme d'installation personnalisée

Le programme d'installation est un projet de configuration VS2005 et l'action personnalisée est une classe dérivée de l'installateur C#.

Répondre

3

L'affichage de tout type d'interface utilisateur non standard nécessite des modifications de l'objet du gestionnaire d'interface utilisateur. Ce n'est pas trivial, et l'implémentation dépend de la boîte à outils que vous utilisez pour créer vos MSI: je ne suis pas sûr que ce soit possible avec les projets d'installation VS.

L'affichage de messages d'état/de progression simples et la connexion au journal MSI n'est pas trop difficile à effectuer à partir d'une action personnalisée, au moins sans utiliser le Windows Installer XML (WiX) toolset, ce que je me sers à cet effet. Lors de la création de vos actions personnalisées avec WiX, vous avez accès à la session du programme d'installation active via l'objet Microsoft.Deployment.WindowsInstaller.Session, qui a la valeur 'Log' (écrit un message dans le journal, si la journalisation est activée) et 'Message' (effectue toutes les opérations de journalisation activées et diffère l'exécution à l'objet gestionnaire de l'interface utilisateur associée au moteur), parmi de nombreux autres goodies. Si vous êtes déjà en train de créer vos actions personnalisées en C#, vous pourrez peut-être trouver quelque chose de similaire dans votre environnement actuel (je n'ai jamais travaillé avec les projets d'installation de VS.net, donc je ne sais pas exactement comment ils fonctionnent - je suis assez surpris en fait que ceux-ci vous permettent de créer des actions personnalisées gérées ...). Sinon, je recommanderais certainement d'examiner WiX pour les actions personnalisées: celles-ci fonctionnent avec n'importe quel environnement de création MSI et sont assez flexibles.