Microsoft KB Archive/241633

= PRB: Windows 2000 Migration DLLs Time Out and Are Unloaded =

Article ID: 241633

Article Last Modified on 3/1/2007

-

APPLIES TO


 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Professional Edition
 * Microsoft Platform Software Development Kit-January 2000 Edition

-



This article was previously published under Q241633



This article discusses a Beta release of a Microsoft product. The information in this article is provided as-is and is subject to change without notice.

No formal product support is available from Microsoft for this Beta product. For information about how to obtain support for a Beta release, see the documentation that is included with the Beta product files, or check the Web location from which you downloaded the release.



SYMPTOMS
While the Windows 2000 Setup program processes a Migration Dynamic-Link Library (DLL) during GUI-mode setup, the following error occurs unexpectedly:

Error: Setup cannot process the [Product Name] upgrade pack from [Company Name].



CAUSE
Any fatal errors in the Migration DLL cause this message.

A less obvious cause is a time out. On the Windows 2000 side of setup, each Migration DLL has 60 seconds to process. If processing takes longer than 60 seconds, Setup will unload the DLL and report that an error has occurred. This is especially undesirable when debugging, because stepping through the code almost always takes longer than the time-out period.



RESOLUTION
When debugging a Migration DLL, the time out can be avoided by starting Windows 2000 Setup from the command line, as follows:

winnt32.exe /#u:testdlls

In addition to eliminating the time out, the /#u:testdlls parameter causes the Migration DLL to load into the Windows 2000 Setup program's process space. Both of these features are necessary for successful debugging of the Migration DLL on the Windows 2000 side of setup.

Note that the /#u:testdlls parameter should only be used for debugging. A Migration DLL should not take longer than one minute to process on the Windows 2000 side of setup. Efficiency is required, because multiple Migration DLLs may need to be processed during the upgrade.

If it is necessary to perform tasks that take longer than one minute, consider placing a patch that will do this work on the computer after the upgrade. Use the [MOVED] section of the Migrate.inf file to indicate that your application's executable is being renamed to the name of your patch. Setup will change all shortcut links on the Start menu and Desktop that point to your application's executable to now point to the patch. By using this method, when the user launches your application after upgrading, they will be presented with a utility that will update the application for Windows 2000.

An alternative is to have the stub executable initiate an uninstall of the product if it is not possible to update it for Windows 2000.



STATUS
This behavior is by design.

