Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Extractor


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

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


Плавно переходим в оффтоп...

Цитата Amigos:
а диалог этот под окошком инсталлятора, »
С чего ему быть под инсталлятором, если оно вылезет НАД ним?

Цитата Amigos:
А если инсталлятор срывает окошко rundll32 и все порождённые им окошки? »
Записи RunOnce из реестра выполняются отдельным процессом, который не наследует свойств от родителя, так что при ошибке это окошко вылезет наверх.

А сабжевый setupapi.dll на лету выполняет grpconv путем дописывания команды на его запуск в
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce, куда кстати толькочто выполненый им ИНФ мог еще чтото свое уже дописать.

Далее запускает runonce.exe -r для обработки всего списка RunOnce.

Собсно вот шапка этой функции:
Код: Выделить весь код
DWORD
InstallStopEx(
    IN BOOL DoRunOnce,
    IN DWORD Flags,
    IN PVOID Reserved OPTIONAL
    )
/*++

Routine Description:

    This routine sets up runonce/grpconv to run after a successful INF installation.

Arguments:

    DoRunOnce - If TRUE, then invoke (via WinExec) the runonce utility to perform the
        runonce actions.  If this flag is FALSE, then this routine simply sets the
        runonce registry values and returns.

        NOTE:  The return code from WinExec is not currently being checked, so the return
        value of InstallStop only reflects whether the registry values were set up
        successfully--_not_ whether 'runonce -r' was successfully run.

    Flags - Supplies flags that modify the behavior of this routine.  May be a
        combination of the following values:

        INSTALLSTOP_NO_UI       - Don't display any UI
        INSTALLSTOP_NO_GRPCONV  - Don't do GrpConv

    Reserved - Reserved for internal use--external callers must pass NULL.

Return Value:

    If successful, the return value is NO_ERROR, otherwise it is the Win32 error code
    indicating the error that was encountered.

--*/

П.С.: При установке драйвера выполнение grpconv не происходит.

-------
Мои проекты:
Системные: Fake-Setup Advanced | MSSTMake | UserMake
Оформление: WinstyleMonitor | Winstyle - Установка на "живую" систему | Windows 7 Universal Patcher | Панель персонализации для Windows 7 Starter & Home Basic
Уголок юного археолога: Внутренности Установщика WinXP


Отправлено: 18:55, 15-02-2011 | #627