Мне нужен способ, который работает постоянно, а не только в большинстве случаев.
До сих пор я использовал метод проверки, если "HKLM \ Software \ Microsoft \ Office \ 14.0 \ Word"Раздел реестра \ InstallRoot "существует (14.0 для Word 2010 здесь).
Однако у меня недавно был ложный отрицательный результат, пользователь, который установил Word 2010, но не имел ключа.В его реестре было HKLM \ Software \ Microsoft \ Office \ 14.0 \ Word, но не HKLM \ Software \ Microsoft \ Office \ 14.0 \ Word \ InstallRoot.Это заставило мою программу установить старую версию панели инструментов, которая не оптимизирована для ленточного интерфейса.
И у меня тоже был ложный положительный результат, пользователь, который ранее установил Word 2007, но потомудалил его и заменил на Word 2003. Но там были ключи реестра от Office 2007, которые обманули мой установщик и установили панель инструментов, оптимизированную для лент, но которую вообще нельзя загрузить в Word 2003.
Так есть ли лучший способ определить версию Office?