Millions of users today are running Windows 95, Windows 98, or Windows NT Workstation 4. Looking ahead, Windows 2000 Professional will increasingly become the predominant operating system of choice. Many of those Windows 95/98 and Windows NT 4 machines will be upgraded to Windows 2000 Professional. The goal of this requirement is that when users upgrade their operating system, previously installed applications will continue to function as before, with all preferences and privileges working after the upgrade.
7.1 Application must continue to function after upgrade to Windows 2000 Professional without reinstall
To be certified on Windows 95, Windows 98, or Windows NT Workstation 4, applications must remain fully functional after an operating system upgrade to Windows 2000 Professional.
In the ideal case, applications will use a single set of binaries and not require different configurations on different operating systems. This is the best way to ensure a smooth upgrade of your application.
In the event that your application utilizes features specific to a particular operating system, Microsoft suggests the following alternatives for you to ensure smooth application migration. While the method you choose is up to you, it is a requirement that the application successfully migrate:
If the application has platform-specific behavior, it should be written to detect an operating system change (e.g., the user upgrades the operating system after the app is installed). If the operating system changes, the application should be able to function properly on the new operating system. For example, if the application uses a .VXD on Windows 98, and uses a service on Windows 2000, the application should automatically install the service after Windows 98 is upgraded to Windows 2000 Professional. In addition, your uninstall process should dynamically check the OS version so that if the user has upgraded the OS since the initial install of the app, the correct uninstall routine will be called.
Note Migration DLLs can only be applied during the upgrade process from a Windows 9x system. Once the upgrade is complete, the DLL can no longer be applied. It is imperative that vendors make their migration DLLs broadly available for customers in a timely fashion. For more information about writing Migration DLLs, see the Migration Extension Interface in the Microsoft Platform SDK.
Place your Migrate.dll file, along with your company's digital certificate and other associated files, on your distribution media, on the Web site from which the user installed the application, or on the user's hard disk. If the files are installed on the hard disk, you must write the following to the Windows 95 or Windows 98 registry:
HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\Migration DLLs
Value name: <ProductID string >
Value: <path to MIGRATE.DLL>
Note The ProductID must match the string returned by the QueryVersion function described in the Platform SDK. Following this process makes the migration process "seamless" and silent for the user.
You might want to consider using the Migration DLL AppWizard. The Migration DLL AppWizard is a tool that creates a skeleton migration DLL with localization support. Full implementation details are available at: http://msdn.microsoft.com/library/psdk/win9xmig/migport_6l2d.htm.
Note Microsoft does not provide technical support for the Migration DLL AppWizard.
The following procedures outline the minimal process you should undertake during your test. Note that you should repeat the tests for multiple user account scenarios, that is, default, roaming, workgroup, and domain users. The scenarios should also cover combinations of these user accounts.
Migrations DLLs must be tested for compliance as specified in the Microsoft Platform SDK. In particular, note:
For more information, see the Migration Extension Interface in the Platform SDK.