Extractor
Сообщения: 1422
Благодарности: 821
|
Профиль
|
Отправить PM
| Цитировать
Плавно переходим в оффтоп... ![Smile](images/smilies/new/smile.gif)
Цитата Amigos:
а диалог этот под окошком инсталлятора, »
|
С чего ему быть под инсталлятором, если оно вылезет НАД ним?
Цитата Amigos:
А если инсталлятор срывает окошко rundll32 и все порождённые им окошки? »
|
Записи RunOnce из реестра выполняются отдельным процессом, который не наследует свойств от родителя, так что при ошибке это окошко вылезет наверх.
А сабжевый setupapi.dll на лету выполняет grpconv путем дописывания команды на его запуск в
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce, куда кстати толькочто выполненый им ИНФ мог еще чтото свое уже дописать.
Далее запускает runonce.exe -r для обработки всего списка RunOnce.
Собсно вот шапка этой функции:
Код: ![Выделить весь код](images/misc/selectcode.png)
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
|