[This is preliminary documentation and subject to change.]
Gather system-wide information concerning the target application, and save private data to be used during the later call to MigrateSystemNT.
LONG
CALLBACK
MigrateSystem9x(
IN HWND ParentWnd,
IN LPCSTR AnswerFile,
LPVOID Reserved
);
Note You should not display a user interface unless absolutely necessary.
If this parameter value is NULL, Setup is running in an unattended mode and your DLL must not prompt the user for input. Therefore, the ParentWnd value determines whether ERROR_CANCELLED can be returned from this function.
ERROR_SUCCESS if your target application is installed on the system. Also, return ERROR_SUCCESS if system-wide changes need to be made for the target application during the Windows NT phase of the upgrade.
ERROR_NOT_INSTALLED if your migration DLL detects no application components common to the entire system or if your DLL requires no further processing. Note that Setup will continue to call MigrateUser9x for the rest of the users and MigrateSystem9x if this function returns ERROR_NOT_INSTALLED.
ERROR_CANCELLED if the user elects to exit the Setup program. Use this return value only if ParentWnd is not NULL.
All other return values (Win32 error values) are considered initialization errors. Setup reports the error to the user and asks to abort or continue the upgrade.
Exceptions generated by your migration DLL cause Setup to report RPC error messages. Setup provides more information in SETUPERR.LOG.
Your DLL must always check for the value in ParentWnd before proceeding since its value determines whether user interface elements can be displayed to the user.
Do not use this function to modify the system. Use it for system-wide information gathering only. To modify system-wide settings, save any private data collected in your migration DLLs working directory (specified in an earlier call to Initialize9x). Use MigrateSystemNT to perform the modifications during the Windows NT portion of the upgrade.