Проверка в виде сценария на определенную функцию из msi установщика

Если Вы имеете в виду невероятно долго как за 2 или 3 минуты перед достижением загрузки ОС это нормально.

Если Вы имеете в виду за 10 минут, прежде чем ОС начнет загружаться, существует или аппаратная проблема, или некоторая диагностика была включена и не отключена снова.

Какая информация подходит на экране во время этих 'тестов'? Можно ли сбросить BIOS для очистки его назад к тому, как это должно работать?

2
задан 16 June 2011 в 19:18
1 ответ

Используя MsiQueryFeatureState должен сделать это. Можно сделать так от C++ или других языков. В VBScript это было бы что-то вроде этого (обратите внимание, что это для другого MSI, обновите продукт GUID и имя функции для удовлетворения цели):

dim installer, state

' Connect to Windows Installer object
set installer = CreateObject("WindowsInstaller.Installer")
state = installer.featurestate ("{4F41AD68-89F2-4262-A32C-2F70B01FCE9E}","PhotoStory")

If ( state = -2 ) then
  MsgBox "INSTALLSTATE_INVALIDARG"
 elseif (state = -1) then
  MsgBox "INSTALLSTATE_UNKNOWN"
 elseif (state = 2) then
  MsgBox "INSTALLSTATE_ABSENT"
 elseif (state = 2) then
  MsgBox "INSTALLSTATE_ADVERTISED"
 elseif (state = 3) then
  MsgBox "INSTALLSTATE_LOCAL"
 elseif (state = 4) then
  MsgBox "INSTALLSTATE_SOURCE"
End If

Интересное состояние является INSTALLSTATE_LOCAL. Это означает, что функция установлена локально на локальном диске.

Вот больше информации о вниз к проводному C-стилю win32 вызов: http://msdn.microsoft.com/en-us/library/aa370361 (v=vs.85) .aspx

3
ответ дан 3 December 2019 в 11:03

Теги

Похожие вопросы