2009-02-24 9 views
2

J'ai une ancienne application VC++ que nous avons portée sur VS2005. Nos utilisateurs existants doivent obtenir les DLL VC++ 2005, donc mon application place le fichier vcredist_x86.exe sur leurs machines et l'exécute. Je vérifie une entrée de registre sous HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ SideBySide \ Installations \ qui est x86_Microsoft.VC80.MFC blah blah 8.0.50727.762 blah blah ... Mais ... il semble que cela n'existe pas sur Vista. Quelle est l'entrée correcte à vérifier pour s'assurer que le vcredist a couru à la fin, de sorte que je ne dois pas le courir encore?VCRedist - comment puis-je savoir si elle a été exécutée?

Merci!

Répondre

1

Je n'ai jamais rien trouvé de précis là-dessus, bien que vous puissiez regarder dans le dossier winsxs dans les utilisateurs windir pour les bons dossiers et fichiers.

Le programme d'installation de notre application l'exécute tranquillement lors de l'installation, ce qui ne posera aucun problème s'il est déjà présent.

0

donc mon application met l' vcredist_x86.exe sur leurs machines et exécuter.

Ceci est une manière très irrégulière de le faire.
Habituellement, le côté par paquets latéraux sont automatiquement ajoutés aux dépendances d'un objet d'installation sous les « dépendances détectées »

+0

Je ne suis pas sûr de ce que vous voulez dire ici. Voyez, j'ai une ancienne application qui a été compilée dans VC++ 6.0, et nous utilisons vcredist pour préparer nos installations existantes pour recevoir une mise à niveau vers les binaires construits par VC2005, qui viendront sur les machines des utilisateurs via notre propre mise à jour mécanisme. – Laure

+0

Ah, bien dans ce cas l'exécution d'un installateur n'est en effet pas pertinent. Toujours exécuter un exe dans le cadre d'une mise à niveau ne semble pas correct. – shoosh

0

rester simple: il suffit d'exécuter le programme d'installation de Redist dans le cadre d'un fichier batch qui écrit une valeur de registre quand il est done (donc vous pouvez vérifier et ne pas l'exécuter deux fois) ou écrire un fichier à un emplacement connu. Vrai, de cette façon, si vos utilisations fonctionnaient elles-mêmes par le passé, votre première installation serait superflue, mais je suppose que cela ne peut pas vraiment faire de mal et n'est pas si grave. En dehors de ça (je réalise que ce n'est pas joli), je suppose que vous devrez vérifier que chaque fichier qui figure dans le paquet redist 2005 est là (il n'a pas été effacé ou endommagé), ce qui est à peu près ce que la configuration redist devrait faire de toute façon.

Questions connexes