2009-11-04 6 views
0

J'ai la vérification d'orthographe d'installation par WinWord mais je dois trouver un moyen de s'assurer que Word 2007 est installé sur ses systèmes.La meilleure façon de vérifier pour Office (Word) 2007

J'ai vu les versions de registre de ceci mais j'ai lu aussi qu'il peut fournir des faux positifs. Je suis donc dans le «marché» pour comprendre comment y parvenir. Peut-il être aussi simple que de faire un File.Exists() sur WinWord.exe dans le chemin du fichier 2007?

D'autres idées?

+0

Le chemin du fichier peut facilement être différent sur différentes machines. Par exemple, les versions 64 bits de Windows placent les applications 32 bits (comme Office) dans le dossier «Program Files (x86)». – statenjason

Répondre

5
Type word = Type.GetTypeFromProgID("Word.Application"); 
if (word != null) { 
    // Word is installed 
} 

Pour vérifier que Word 2007 est installé notamment:

Type word = Type.GetTypeFromProgID("Word.Application.12"); 
if (word != null) { 
    // Word 2007 is installed 
} 
+0

Solution glissante. – statenjason

+0

Est-ce que le "Word.Application" ProdID trouve spécifiquement Word 2007? –

+0

Désolé, ce commentaire était ambigu - pour être plus précis, je voulais dire que l'auteur a demandé que Word 2007 soit identifié à l'exclusion des autres versions de Word sur le système. –

0

Si vous êtes inquiet au sujet du registre et des faux positifs que vous pouvez regarder la version exe. Microsoft documents comment déterminer la version exécutable here

0

La meilleure façon serait d'utiliser une combinaison. Utilisez le registre pour obtenir le chemin d'installation. À l'intérieur de ce chemin, vous devriez trouver l'exécutable. Un faux positif se produit car les mises à niveau et les désinstallations suppriment parfois le fichier mais pas l'entrée de registre.

Questions connexes