2017-02-23 2 views
0

Je travaille sur une application mfc dans laquelle j'ai besoin de vérifier la version actuellement installée Microsoft Visual C++ Redistributable. Y a-t-il un moyen?Comment faire pour obtenir la version installée de Microsoft Visual C++ redistribuable (x64) dans l'application mfc

+0

Ajoutez simplement le paquet de redist dont vous avez besoin à votre installateur. Ou créez une version statique de l'application pour ne pas avoir besoin des redistribuables. –

+0

Qu'allez-vous faire de cette information? Ce n'est même pas utile pour les diagnostics. Si vous avez besoin de connaître ces informations, vous n'avez pas réussi à déployer correctement l'application (y compris toutes les dépendances). – IInspectable

Répondre

0

Chaque version de VS a ses propres fichiers redistribuables et ils sont nommés avec un numéro de version dans le nom.

Il n'y a donc pas de version "actuelle". Il peut y avoir plusieurs installations pour différentes VS-Versions.

Généralement, les fichiers sont installés dans le répertoire Windows \ System32 pour 64 bits. Alors recherchez le fichier dont vous avez besoin et recherchez (c'est-à-dire MFC140u.dll) et vous pouvez déterminer sa version.

En outre, certains programmes peuvent avoir une copie locale des DLL d'exécution dans leur répertoire d'applications ...

+0

* "Certains programmes peuvent également avoir une copie locale des DLL d'exécution dans leur répertoire d'application ..." * - Certaines applications correctement déployées ont des copies locales de leurs dépendances dans leur répertoire d'application. – IInspectable

0

J'ai écrit une application qui inspecte l'installation du client. Cela fonctionne un peu comme les dépanneurs de Microsoft en ce sens qu'il identifie certaines informations sur l'installation de l'utilisateur afin que nos personnes de support technique puissent identifier un problème potentiel avec l'installation du client. L'une des choses sur lesquelles il rend compte sont les redistribuables VC qui sont installés. Je à accomplir cette tâche en interrogeant la LOCAL MACHINE clé de Registre suivante:

SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall 

Les itère de code à travers les sous-clés à la recherche d'un match sur l'attribut « DisplayName » de chaque sous-clé. Je cherche "Microsoft", "Visual", "C++" et "Redistributable". Si toutes les chaînes sont trouvées, je recueille l'attribut "DisplayVersion" et le signale à une boîte de dialogue.

Bien que ce schéma n'indique pas la version "actuelle", il doit fournir l'accès aux versions toutes les versions installées.