2009-11-04 45 views
0

我已經通過WinWord安裝拼寫檢查,但我需要找到一種方法來確保Word 2007安裝在那裏的系統。最好的辦法來檢查辦公室(Word)2007

我已經看到了這個註冊表版本,但我也讀到它可以提供誤報。所以我在「市場」,因爲它正在弄清楚如何做到這一點。它可以像在2007文件路徑上的WinWord.exe上執行File.Exists()一樣簡單嗎?

還有其他想法嗎?

+0

不同機器上的文件路徑可能很不一樣。例如,64位版本的Windows將32位應用程序(如Office)放入「Program Files(x86)」文件夾中。 – statenjason 2009-11-04 17:36:00

回答

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

要檢查Word 2007的特別安裝:

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

流暢的解決方案。 – statenjason 2009-11-04 17:40:05

+0

ProdID「Word.Application」是否專門查找Word 2007? – 2009-11-04 17:43:24

+0

對不起,該評論是模棱兩可的 - 更具體地說,我的意思是說作者要求Word 2007被識別爲排除系統上其他版本的Word。 – 2009-11-04 17:45:17

0

如果你擔心註冊表和誤報你可以看看這個exe版本。 Microsoft文檔如何確定可執行文件版本here

0

最好的方法是使用組合。使用註冊表獲取安裝路徑。在該路徑的內部,您應該找到可執行文件。發生誤報,因爲升級和卸載有時會刪除文件而不是註冊表項。