2010-09-07 5 views
1

comment détecter la machine a au moins DOTNET 2.0 ou plus récent installé?comment détecter la machine a DOTNET 2.0

clé de registre préférée.

+1

duplication possible de [Comment détecter les versions .NET Framework et les Service Packs installés?] (Http://stackoverflow.com/questions/199080/how-to-detect-what-net-framework-versions-and -service-packs-are-installed) – slugster

+0

Je veux savoir s'il y a 2.0 ou NEWER. – Tom

+0

cette réponse vous donne toutes les clés de registre que vous pouvez vérifier pour * toute version * que vous aimez. Bien sûr, vous avez seulement besoin de vérifier le v2.0.50727. Ou vous pouvez commencer à v4.0 et reculer jusqu'à ce que vous obteniez un coup. – slugster

Répondre

3

je ne serais probablement suivre les instructions suivantes car ils sont de MS

http://support.microsoft.com/kb/315291

Comme mentionné dans d'autres réponses this question semble comme une bonne ressource pour trouver notre via le Registre. Cependant, en regardant les commentaires OP, le plus simple serait d'ajouter une condition de lancement à votre programme d'installation. & Le package de déploiement demandant la version 2 ou supérieure de .NET Framework doit être installé.

http://msdn.microsoft.com/en-us/library/xxyh2e6a.aspx

+0

Cet article date de 2007, et bien qu'il puisse fonctionner, il existe de meilleurs moyens de vérification (plus établis/plus largement utilisés et par conséquent mieux documentés) de nos jours. – slugster

1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727 

ou pour d'autres versions par exemple:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v3.0 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 
+0

est-ce que ça existe s'il y en a 3?5 ou 4.0 – Tom

+0

@Tom: oui, j'ai ajouté l'exemple – Svisstack

1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP semble avoir une liste de toutes les versions installées.

[EDIT: 2012-04-04] utiles MSDN knowledge base article avec quelques graphiques

0

Pour autant que je sais qu'il n'y a pas de clé de Registre installé sur le système par .NET qui indique « Hé, je suis installé ». Cependant, vous pouvez simplement vérifier pour voir si la clé de Registre v2.0.50727 existe, ou vous pouvez vérifier pour voir si le dossier .NET existe sur le disque à "C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 ".

Modifier:

Comme 'slugster' a fait remarquer, apparemment .NET ne fait installer une valeur de Registre appelée 'Installer' sous "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NPD \ v2.0.50727" avec une valeur DWORD de '1' si le framework est installé. Le reste suit le même modèle sauf pour la version .NET 4.0, qui place cette valeur de registre sous la sous-clé de registre 'Full' ou 'Client', que je suppose être pour le profil client et l'autre est explicite.

+0

La vérification de l'existence d'un dossier ne garantit pas que le framework est installé. Le statut d'installation du framework ** est également entré dans le registre. – slugster

1

Ceci a été bien couvert avant ici sur SO, this previous answer devrait être tout ce dont vous avez besoin - travaillé pour moi quand je l'ai utilisé (et il est bien voté, ce qui est une mesure de la fiabilité).

+0

bien ceci obtient une liste de toutes les versions, je veux détecter pendant setupper si mon CODE fonctionne, signifiant s'il y a NET 2.0 ou plus récent installé. – Tom

+0

@Tom, comme je l'ai mentionné ci-dessus, vous n'avez pas à tous les vérifier, il suffit de choisir celui que vous voulez (bien que certains d'entre eux doivent être vérifiés en combinaison pour une réponse précise - 3.5 nécessite également 3.0 et 2.0 pour être installé). – slugster

0

Je remarqué son mieux pour vérifier si cette clé existe Reg:

Software \ Microsoft.NETFramework \ policy \ v2.0

Si je ne l'y installer DOTNET.

Questions connexes