[This is preliminary documentation and subject to change.]
Setup calls Initialize9x after relocating the migration DLL to the local hard disk.
LONG
CALLBACK
Initialize9x(
IN LPCSTR WorkingDirectory,
IN LPCSTR SourceDirectories,
LPVOID Reserved
);
Note Compressed files on the Windows NT installation compact disc can be decompressed by using the Setup API functions SetupGetFileCompressionInfo and SetupDecompressOrCopyFile.
ERROR_SUCCESS if your migration DLL found one or more installed components for the target application. If your DLL does not attempt to detect installed components in Initialize9x, it must also return ERROR_SUCCESS.
ERROR_NOT_INSTALLED if the migration DLL initializes properly but does not find any of its components installed on the active Windows 95 or Windows 98 installation. Note that Setup will not call your DLL again if it returns ERROR_NOT_INSTALLED.
All other return values (Win32 error values) are considered initialization errors. Setup reports the error to the user, cleans up your migration DLL files, and asks the user to abort or continue the Windows NT installation process.
Exceptions generated by your migration DLL cause Setup to report RPC error messages. Setup provides more information in SETUPERR.LOG.
Setup calls Initialize9x after relocating your migration DLL to the local hard disk. During this call, your DLL should try to detect its new installation. It should return ERROR_SUCCESS if it is ready to be called by Setup during the Windows NT portion of the upgrade. If the DLL returns ERROR_NOT_INSTALLED, Setup will stop processing it.
The current directory is set to the working directory and will not be changed by Setup during the processing of a migration DLL.