Jim:
Microsoft has a Y2K area that lists product status. microsoft.com The products are listed in alphabetical order, with every possible version, every language version. So you can get lost in a sea of data (gee, was that intentional?). But you can eventually get to what you need.
The Windows 95 software that you used for your test is going to require a Microsoft patch to be Y2K compliant. They haven't been very forthcoming about that. I totally agree with David that Microsoft will pay a price for their stonewalling.
Here, for your viewing enjoyment, is Microsoft's data dump on the newly compliant (as of yesterday) Windows 95. Note that you need to patch your software to get even this. And Microsoft does not guarantee that any Y2K status is final.
Note to the queasy: You can quit after the first paragraph. No one should have to read this. What follows is from Microsoft:
Product Details
Microsoft released a software update for Windows 95 which addresses the known issues described below.
To download the Windows 95 year 2000 Software Update, please click here.
To receive the Year 2000 Resource Center CD from Microsoft that will include this update, please click here, or in the US call 1-888-MSFT Y2k.
Windows 95 shipped with various versions of Internet Explorer. It is recommended to be on IE 4.01 SP1 or greater, including any software updates which are applicable. Please check the Year 2000 Product Guide for the version of Internet Explorer you have.
How the product handles dates:
Storage. Dates are stored internally as 4-digit dates. MS-DOS file system APIs are an exception. MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.
Two-digit shortcut handling: MS-DOS DATE command will not accept 2-digit date changes for the year 2000 and beyond. To enter the correct date, a 4-digit year must be entered to the DATE command (internal to COMMAND.COM). Failure to enter the correct 4-digit date will result in an "invalid date" message. This issue is fixed (see below) by the updated version of COMMAND.COM.
Also, the MS-DOS file system APIs return a year offset from 1980, the programmer has to add 1980 to the date value returned to get the appropriate date. Win32 APIs are not affected by this.
Product Issues fixed in the Windows 95 year 2000 Software Update:
MSWALLET - When entering credit card information in versions of Microsoft Wallet before 2.1.1383, users must enter month, day, and year for expiration dates beyond 2000. Otherwise, information may be parsed incorrectly. For example, entering a credit card with expiration 5/01 will be parsed as May 1st of the current year. COMCTL32.DLL ? When Regional Settings from Control Panel is set to use two digits for years, the Date/Time Picker function may not return the proper date. To ensure proper handling of dates: set Regional Settings to 4-digit date handling. WINFILE.EXE - Windows File Manager does not display or sort dates beyond the year 2000 appropriately. When using Windows File Manager to view the contents of folders, and users have selected to view "all file details", the dates of files created in the year 2000 and beyond may appear as follows: January 1, 2000 would appear as 1/1/;1 February 3, 2023 would appear as 2/3/>3 March 5, 2036 would appear as 3/5/=6 COMMAND.COM - The DATE command (internal to COMMAND.COM) does not appropriately handle 2-digit dates from 00-79. Entering 2-digit dates within this range returns the message "Invalid Date". VDHCP.386 - Winipcfg/all - IP Leases obtained on or after 3/01/2000 are reported as having been obtained the previous day. The system date is displayed correctly but the DHCP client reports an incorrect date. JAVA VIRTUAL MACHINE Year 2000 issues have been reported in connection with Java virtual machines based on the Sun Microsystems Java Development Kit (versions 1.1.1-1.1.5). Applications written in Java that make use of the java.txt.SimpleDateFormat class library may parse 4-digit dates incorrectly. The latest update for Java VM may download at microsoft.com OLE DB Year 2000 issues for data coercion library are: If coded to ADO, AND the ADO Recordset includes Date data types, such as: adDate, adDBDate, adFileTime, or adDBTimeStamp. AND a date format in which periods are used instead of slashes for date separator (01.01.98 instead of 01/01/98) AND a year specified is less than 60, THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.).
If coded directly to OLE DB, the same case exists:
If converting from a variant (BSTR, VARIANT or PROPVARIANT) to date datatypes, such as:
DBTYPE_DATE
DBTYPE_DBDATE
DBTYPE_DBTIME
DBTYPE_FILETIME
DBTYPE_DBTIMESTAMP
AND using a European format for dates, AND specify a year less than 60, THEN Data Convert (msdadc.dll) will translate the date as a time. For example, 01.01.01 (January 1st, 2001) could be converted to 01:01:01 (December 30, 1899, 1:01:01 a.m.). TIMEDATE.CPL ?Time and Date control applet - When the date is set to February 29 the applet will display the 29th day on years other than leap years when using the tumblers to scroll the year ahead or back.
DIALER.EXE - Phone Dialer applet - The show call log option doesn?t display date correctly after successful completion of telephone call. If date is adjusted to the year 2000, the date will display as 100, 101, 102, etc.
MFC40.DLL and MFC40U.DLL: Programs using one of these DLL's to represent dates may interpret a year 2000 or later dates incorrectly. For example, 02/05/2000 may get represented as 02/05/100. Microsoft has updated these DLL's to prevent this from happening. Software Developers using MFC can get more information from the MFC40.DLL compliance document that will be posting soon.
Microsoft Visual C++ Runtime library files Applications that utilize these runtime libraries may behave as if current time is one hour earlier than the correct time shown on the Windows clock. The problem will continue for one week from April 1 through April 8, 2001, after which these applications will shift to daylight savings time and again be in sync with the operating system. The problem would reoccur any year the first of April fell on a Sunday. For more information on this issue, please see msdn.microsoft.com
OLE Automation - The Microsoft Automation library contains routines for interpreting 2- digit years and provides a convenient way for applications to create unambiguous (serial) dates. In Windows 95 the current 2- digit year cutoff is 1999. This means that 2- digit years beginning with 00 will be interpreted as being in the 1900s, i.e. 1/1/00 is converted to 1/1/1900, irrespective of the user?s century window settings in Control Panel\Regional Settings\Date tab. This fix moves the 2-digit year cutoff from 1999 to 2029. DOS XCOPY.EXE ? When using xcopy in real mode with the optional parameter /D:date, xcopy does not accept years entered as 2 digits except for the years 80 - 99. The message "Invalid date" is displayed. When using xcopy in protected mode (from within Windows) 2-digit dates are accepted but are recognized as being within the 20th century (02/05/01 is seen as 02/05/1901). Testing guidelines and recommendations:
Some PCs reset the system date to 1980 or other invalid dates when the computer reaches the year 2000. This problem is created by flaws in the computer hardware and in low-level BIOS software provided by other vendors. If testing for this error, Microsoft recommends executing the tests on a "test-bed" machine rather than a production machine. Please see the Windows Operating System Interactions with BIOS and Real Time Clock article in the white paper section of this product guide for further information.
|