Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


Цитата MKN:
громоздко с помощью макроса опубликованного kotkovets и включенного в справочник »
есть пример куда проще определять:
читать дальше »
Код: Выделить весь код
OutFile "GetMSI.exe"

!define GetMSIProduct `!insertmacro _GetMSIProduct`
!macro _GetMSIProduct VAR ProductCode
   System::Call 'msi::MsiQueryProductStateA(t "${ProductCode}") i.s'
   Pop ${VAR}
!macroend

Section MSIProduct
  ${GetMSIProduct} $0 "{837b34e3-7c30-493c-8f6a-2b0f04e2912c}" ;на примере VC++ 2005 SP1
  StrCmp $0 5 0 +2
  MessageBox MB_ICONINFORMATION|MB_OK "$$0 = $0$\nЭтот продукт установлен!" IDOK
  StrCmp $0 `-1` 0 +2
  MessageBox MB_ICONINFORMATION|MB_OK "$$0 = $0$\nЭтот продукт не установлен!" IDOK
  StrCmp $0 `-2` 0 +2
  MessageBox MB_ICONINFORMATION|MB_OK "$$0 = $0$\nОшибка в ProductCode!" IDOK
SectionEnd

Цитата MKN:
Это было бы действительно весьма полезно... (для начала, сделать хотя бы только утилитку для извлечения ProductCode из MSI файла) »
C этим соглашусь на 100%, даже лучше свою функцию написать и зашить внутрь SFX или виде библиотеки с базой основных кодов продуктов msi: Microsoft .NET Framework, Microsoft Visual C++, MSXML, Java(TM).

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:45, 26-05-2011 | #142