Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2010, 16:34   #11
Diego__
Форумчанин
 
Регистрация: 12.08.2009
Сообщений: 118
По умолчанию

еще можно через msi просмотреть все guid-ы

Код:
size_t ProductIndex = 0;
std::vector<wchar_t> ProductBuf(39, 0);

while (ERROR_NO_MORE_ITEMS != MsiEnumProducts(ProductIndex, &ProductBuf[0]))
	{
		std::wstring guid(ProductBuf.begin(), ProductBuf.end());
//просматриваем строку		
//...
		ProductIndex++;
	}
подробно прочитать как формируется guid можно здесь
http://support.microsoft.com/kb/832672
http://support.microsoft.com/kb/928516/
http://support.microsoft.com/kb/2186281/en-us/

так можно узнать установлен ли офис и для 2007 отдельные продукты(word, excel). Чтобы узнать то же для 2003 офиса нужно просмотреть отдельные продукты


Код:
std::vector<std::string> features;

features.push_back(L"WORDFiles");
features.push_back(L"EXCELFiles");
features.push_back(L"PPTFiles");
features.push_back(L"PubPrimary");
features.push_back(L"OUTLOOKFiles");
...
INSTALLSTATE state = MsiQueryFeatureState(guid, features[i]);
if (state == INSTALLSTATE_LOCAL || state == INSTALLSTATE_SOURCE)
	return true; // feature установлена
Diego__ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Exspress версия funball Общие вопросы .NET 1 15.01.2010 18:46
Заполнялкин. Версия 1.0 Alex Cones Софт 36 21.10.2009 21:28
4-3=2 Версия Delphi... Levsha100 Свободное общение 20 15.05.2009 13:58
Почему лицензионная версия продукта дороже чем пиратская версия продукта? multik Свободное общение 13 13.07.2008 14:40