DOCUMENT:Q241633 30-JUL-2001 [winnt] TITLE :PRB: Windows 2000 Migration DLLs Time Out and Are Unloaded PRODUCT :Microsoft Windows NT PROD/VER:WINDOWS: OPER/SYS: KEYWORDS:kbsetup kbmigrate kbOSWin2000 kbSDKPlatform kbMigWin9xtoWin2k kbMigrationDLL kbFAQ kbDS ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Windows 2000 Advanced Server - Microsoft Windows 2000 Server - Microsoft Windows 2000 Professional - Microsoft Win32 Software Development Kit (SDK) ------------------------------------------------------------------------------- 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 obtaining support for a Beta release, please see the documentation 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. REFERENCES ========== For more information on Migration DLLs, see following in the MSDN Library: Platform SDK; Management Services; Setup; Migration-Extension Interface Additional query words: ====================================================================== Keywords : kbsetup kbmigrate kbOSWin2000 kbSDKPlatform kbMigWin9xtoWin2k kbMigrationDLL kbFAQ kbDSupport kbGrpDSTools kbMigrationDLLFAQ Technology : kbwin2000AdvServ kbwin2000AdvServSearch kbwin2000Serv kbwin2000ServSearch kbwin2000Search kbwin2000ProSearch kbwin2000Pro kbWin32SDKSearch kbAudDeveloper kbSDKSearch kbWinAdvServSearch kbWin32sSearch Version : WINDOWS: Issue type : kbprb ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.