Инсталяция девайса по inf-файлу (Setup API?)

Тема в разделе "WASM.WIN32", создана пользователем sasha_s, 22 мар 2007.

  1. sasha_s

    sasha_s New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2005
    Сообщения:
    165
    Адрес:
    Belarus
    Есть inf-файл. В моем случае это inf-файл модема для сотового телефона. Т.е. он использует драйвер стандартного модема (или еще какого не знаю). Чтобы его инсталить в винде необходимо запустить Start->Settings->Contrl Panel->Phone and Modem Options, там выбрать закладку Modems и нажать Add. Потом выбрать "Установить с диска" и указать inf-файл. Появится новый модем завязанный на отовый телефон.

    ВОПРОСС: Как это все проинсталить программным способом? В винде есть ф-ции "Setup API", в частности SetupInstallFile, SetupInstallFileEx. Но как их юзать мне не совсем понятно. Самплов я не нашел. Мот кто решал такую проблему?
     
  2. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    DDK\src\setup\devcon
     
  3. sasha_s

    sasha_s New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2005
    Сообщения:
    165
    Адрес:
    Belarus
    строка запуска для инсталяции такая
    devcon install Nokia6021Cable.inf <hwid>

    где <hwid> хардваре АЙДИ. И что пихать в качестве этого ID я не знаю.

    порыл я этот devcon, срывается на ф-ции SetupDiCallClassInstaller, а ей на вход подготавливается инфа SetupDiSetDeviceRegistryProperty ф-цией.

    BOOL SetupDiSetDeviceRegistryPropertyA(
    __in HDEVINFO DeviceInfoSet,
    __inout PSP_DEVINFO_DATA DeviceInfoData,
    __in DWORD Property,
    __in_bcount_opt(PropertyBufferSize) CONST BYTE *PropertyBuffer,
    __in DWORD PropertyBufferSize
    );

    в PropertyBuffer как раз и пихаеццо <hwid>.

    Короче опять жду советов.
     
  4. sasha_s

    sasha_s New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2005
    Сообщения:
    165
    Адрес:
    Belarus
    Привожу более подробную инфу:

    вызов ф-ции SetupDiCallClassInstaller выдает еррор №997 (IO Pending) и досвидания.
    Я перехватил SetupDiSetDeviceRegistryProperty во всех процессах и посмотрел что ей пихаеццо на вход, когда инсталю свой модем. Порядок следующий:

    SetupDiSetDeviceRegistryPropertyA({4D36E96D-E325-11CE-BFC1-08002BE10318}) -- это ClassGUID из inf-файла
    SetupDiSetDeviceRegistryPropertyA(Nokia 6021 Cable) -- это типа название модема
    SetupDiSetDeviceRegistryPropertyA(ROOTMODEM) -- ну а это ХЗ

    я пихал на вход devcon все эти значения -- результат один и тотже: еррор 997. Недоделанный какой-то этот devcon.
     
  5. Four-F

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    Hardware ID и пихать ;)

    Нормальный devcon ;)
     
  6. sasha_s

    sasha_s New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2005
    Сообщения:
    165
    Адрес:
    Belarus
    Нормальный то он нормальный, но то что мне нужно не ставит.
    смотри мою мессагу выше...