FIX: RegistryKey setValue() Fails for Terminating Character on NT
ID: Q223367
|
The information in this article applies to:
-
Microsoft Visual J++, version 6.0
-
Microsoft SDK for Java, versions 1.0, 1.5, 1.51, 2.0, 2.01, 2.02, 3.0, 3.0 Preview 1, 3.1, 3.2
SYMPTOMS
RegistryKey.setValue might not set the value of a registry key correctly. This problem only occurs on Windows NT.
CAUSE
The setValue( ) method, when executed under NT, does not account for the terminating null character, which causes incorrect data to be written to the registry key.
STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article.
This bug was corrected in Visual Studio 6.0 Service Pack 3.
For more information about Visual Studio service packs, please see the following articles in the Microsoft Knowledge Base:
Q194022 INFO: Visual Studio 6.0 Service Packs, What, Where, Why
Q194295 HOWTO: Tell That Visual Studio 6.0 Service Packs Are Installed
MORE INFORMATIONSteps to Reproduce Behavior
- Create a new "Console Application."
- Import com.ms.wfc.app.*
- Add the following code to main( ):
RegistryKey r = Registry.CURRENT_USER.createSubKey("Software\\Microsoft\\VisualStudio\\6.0\\Debugger");
r.setValue("Test1","ABC");
r.setValue("Test2","DEF");
r.setValue("Test3","XYZ");
r.setValue("Test2","");
- Compile and run the code.
- View the specified keys in REGEDIT.
Without Visual Studio Service Pack 3, the key "Test2" will hold the value of one of its peer keys.
© Microsoft Corporation 1999, All Rights Reserved. Contributions by Joseph B. Hall, Microsoft Corporation
Additional query words:
Keywords : kbservicepack kbNTOS kbSDKJava150bug kbSDKJava200bug kbSDKJava201bug kbSDKJava300bug kbVJ600bug kbGrpJava kbVS600sp2 kbVS600SP1 kbVS600sp3fix kbSDKJava320bug
Version : WINDOWS:1.0,1.5,1.51,2.0,2.01,2.02,3.0,3.0 Preview 1,3.1,6.0
Platform : WINDOWS
Issue type : kbbug
|