I've instructed Microsoft Internet Explorer (IE) to store passwords I use for Web sites that I visit regularly. Also, I use Microsoft Outlook 2000 to make POP3 connections to my ISP's mail server. I'm experiencing problems with both setups. When I visit my regular Web sites, IE now generates a Protected Storage Service dialog box that asks for a password. In addition, Outlook 2000 refuses to save my mail account's POP3 password. Can you tell me what is causing these problems?
The cause of your problems is the Protected Storage Service and the password cache it creates for your user account. Occasionally, the registry data associated with this service becomes corrupted and requires reinitialization. The good news is that I have a fix for you. The bad news is that the fix will delete all the passwords residing in the cache, and you'll have to remind IE and Outlook about the passwords later.
Use the Control Panel Services applet to stop the Protected Storage Service. Next, use the regedt32 registry editor to navigate to the HKEY_CURRENT_USERSoftware\Microsoft\Protected Storage System Provider registry subkey. As Figure 1 shows, at least one subkey has a name that is equivalent to your Windows NT user account's SID (e.g., S-1-5-21-36516332-637091160-1803697834-1001). You need to delete this subkey, but you don't have permission to do so. Therefore, you need to add yourself to the registry subkey's ACL. Highlight the subkey that represents the SID, and select Permissions from the Security menu. Next, add your user account to the ACL with Full Control rights. Now, you can delete the subkey and restart the Protected Storage Service in the Services applet.
Although I'm happy with the reliability and performance of my Windows 2000 Professional system, I'm having compatibility problems with some of my applications. One particular application runs fine on a system that I upgraded from Windows 98 to Win2K Pro. However, when I try to install the same application on a new Win2K Pro installation, the installation fails, stating that I need to have Windows NT 4.0 Service Pack 4 (SP4) or later installed. I also have a digital camera application that supports USB, but only on Win98. However, I know that Win2K Pro supports USB, and the OS recognized and loaded a driver for my camera. Can I trick these applications into thinking that Win2K Pro is an earlier version of NT or a different version of Windows?
These problems are common because many applications and installation utilities existed long before Win2K; many of the tools' version-checking methods consider Win2K to be an earlier version of NT rather than a successor. I've also discovered that many applications that claim not to be Win2K-compatible actually run smoothly under Win2K (if you can bypass the version-detection problem).
Microsoft included a utility on the NT 4.0 CD-ROM called setwin95.cmd that lets you fool programs such as games into thinking that NT is Win95. Microsoft has taken this idea a step further in Win2K by introducing the Application Compatibility tool (apcompat.exe). Figure 2 shows the GUI for this utility, which is available on the Win2K CD-ROM and is part of Win2K's Support Tools. (Located in the CD-ROM's \Support folder, apcompat.exe installs when you install Support Tools.)
In some cases, you can use Application Compatibility to fool a legacy application into thinking that the application is compatible with one of several OSs: Win2K; NT 4.0 SP5, SP4, or SP3; or Win9x. The tool also lets you modify behaviors that sometimes cause problems for legacy applications; for example, you can prevent an application from seeing more than 2GB on a disk volume, use a pre-Win2K-style \Temp directory, and disable Win2K's Heap Manager. If a specific application requires a particular set of changes to run, you can make the spoofing behavior permanent so that you don't need to launch Application Compatibility each time you run the application. Finally, you can use one command line to launch a program through the Application Compatibility tool and its various options.
The command's format and supported parameters are as follows. (Don't put a space between the v or x options and their related parameter data, or they won't work.)
apcompat -? -vVersion Name
-xProgram Path -d -t -g -k
in which -? displays the syntax for the command-line parameters, -vVersion Name specifies the name of the OS you want to return to the specified program (i.e., 1 returns NT 4.0 SP3, 2 returns NT 4.0 SP4, 3 returns NT 4.0 SP5, 4 returns Win98, and 5 returns Win95), -xProgram Path specifies the path and name of the .exe file for the program you want to run, -d disables the Heap Manager for the portion of memory reserved for the specified program, -t uses \Temp for the Temp folder when running the specified program, -g corrects disk space detection, and -k stores the specified Application Compatibility settings. For example,
apcompat v4 xc:\myapp\myapp.exe
runs an application named myapp.exe in the C:\myapp folder and makes the application believe it's running under Win98.