2009-01-23 7 views
1

J'ai écrit une application en C# et j'ai configuré un projet d'installation distinct pour créer le programme d'installation MSI pour l'application. Je me demandais s'il était possible de récupérer la version du programme d'installation et de l'afficher dans la boîte de dialogue À propos de dans mon application.Comment récupérer la version du programme d'installation à partir de Visual Studio Setup Project

+0

J'ai toujours voulu savoir comment faire cela aussi! – Kredns

+0

Veuillez clarifier si vous voulez que ceci soit codé en dur dans votre interface utilisateur ou recherché dynamiquement au moment de l'exécution –

Répondre

1

En général, vous devriez regarder la version de votre assemblage actuel pour ce genre de choses, trouver le MSI nécessite une recherche de registre pour trouver le MSI et ensuite interopérer pour sortir la version en utilisant certaines interfaces COM.

Pour commencer, jetez un oeil ici: http://www.codeproject.com/KB/cs/msiinterop.aspx, c'est beaucoup de travail.

Au lieu de cela il suffit d'utiliser:

Assembly.GetExecutingAssembly().GetName().Version; 

Et assurez-vous correspondez votre version de l'application avec votre version msi.

+0

Je l'ai déjà fait, mais je voudrais récupérer la version de l'installateur en quelque sorte. Il semble que ce serait une longue épreuve juste pour obtenir la version. – arc1880

+0

-1 Tonne de travail ou pas, cette réponse ne répond pas à la question de l'utilisateur. –

0

Un MSI est comme une base de données avec une API complète. Votre numéro de version et d'autres données releated, vivent dans la base de données de MSI.

Vous pouvez interroger la base de données en utilisant une syntaxe de type SQL.

http://msdn.microsoft.com/en-us/library/aa369426(VS.85).aspx

un exemple de comment interroger: http://msdn.microsoft.com/en-us/library/aa372021.aspx

meilleur exemple et scénario:

http://msdn.microsoft.com/en-us/library/aa368562(VS.85).aspx

+0

Que dois-je interroger? Je voulais afficher le numéro de version du programme d'installation dans une boîte de dialogue À propos de. – arc1880

+0

La version du programme d'installation et d'autres informations résident à l'intérieur du MSI dans une structure de base de données. Vous devez interroger MSI pour cela ou appeler l'une des méthodes répertoriées dans les liens ci-dessus. – Jobo

0

une idée est de stocker la version d'installation dans le registre ou prédéfini dans l'application .exe.config lors de l'installation. Plus tard À propos de la zone, chargez le numéro de version à partir de là.

Questions connexes