Device Installation Scheduled as Part of GUIRunOnce Stops Responding (Hangs) (813838)
The information in this article applies to:
- Microsoft Windows Server 2003, 64-Bit Datacenter Edition
- Microsoft Windows Server 2003, 64-Bit Enterprise Edition
- Microsoft Windows Server 2003, Datacenter Edition
- Microsoft Windows Server 2003, Enterprise Edition
- Microsoft Windows Server 2003, Standard Edition
- Microsoft Windows Server 2003, Web Edition
- Microsoft Windows XP 64-Bit Edition
- Microsoft Windows XP Home Edition
- Microsoft Windows XP Professional
- Microsoft Windows Small Business Server 2003, Standard Edition
- Microsoft Windows Small Business Server 2003, Premium Edition
SYMPTOMSOn a Microsoft Windows XP-based or Windows Server 2003-based
computer, a device installation that is scheduled as part of the GUIRunOnce
process may appear to stop responding (hang). Also, other GUIRunOnce entries
may appear to be processed out of order.CAUSEThis issue occurs because on a Windows XP-based or Windows
Server 2003-based computer, a device installation that is scheduled as part of
the GUIRunOnce process must wait until all the GUIRunOnce entries are processed
before it returns. This behavior is different than from Microsoft Windows 2000.
In Windows 2000, a device installation that is scheduled as part of GUIRunOnce
does not process any additional GUIRunOnce entries, and because of this,
returns immediately.WORKAROUNDTo work around this issue if you must install a device
during GUIRunOnce processing, use a single GUIRunOnce entry. This single
GUIRunOnce entry can specify an .inf file that contains all the tasks that must
be performed during GUIRunOnce processing. To use a single GUIRunOnce entry:
- Create an .inf file that includes a [DefaultInstall]
section that contains one or more RegisterDlls entries, and lists the
executable files to run in the referenced sections. RegisterDlls is documented
in the Driver Development Kit (DDK), and runs executable files (.exe) and
Dynamic Link Library files.
- Add a GUIRunOnce entry that calls Rundll32.exe to process
the .inf file:
%WINDIR%\System32\Runonce.exe %WINDIR%\System32\Setupapi.dll,InstallHinfSection 132 c:\gui_runonce_name\.inf_file_name
Modification Type: | Major | Last Reviewed: | 3/1/2004 |
---|
Keywords: | kbprb KB813838 |
---|
|