Initialize9x

[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
    );

Parameters

WorkingDirectory
Points to the path of a Setup-supplied directory your migration DLL can use to store its private temporary data. This directory will contain MIGRATE.DLL and all associated files. Your migration DLL must write to this directory if it needs temporary data storage. Setup provides this directory again during the Windows NT phase of the upgrade process and automatically deletes it after the upgrade is complete.
SourceDirectories
Points to the path of the Windows NT installation files. This path is a multi-sz string to enable you to specify multiple source directories. Normally, this directory is D:\I386 where D:\ is the CD-ROM drive on the computer.

Note Compressed files on the Windows NT installation compact disc can be decompressed by using the Setup API functions SetupGetFileCompressionInfo and SetupDecompressOrCopyFile.

Reserved
Reserved for future use.

Return Values

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.

Remarks

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.