I can almost guarantee you that Microsoft only intends to put out a Time
Zone patch at most once per year, and the last two times it was deep winter
(December 2007 was the last patch.)
Really, it's rather illogical of you to expect Microsoft to put some kind of
emergency rush on a patch just because your government is behaving
erratically. Be aware, also, that this patch isn't considered Critical,
making the idea of MS getting anything done in time to help you quite
unlikely.
What date in October is the change supposed to take place under the new law?
Will next year's planned beginning and ending dates of Daylight time change
from what was previously anticipated? Or, to make it easier on you, what are
they going to be (beginning and ending dates of DLT)? Also, just for my
edification, does Pakistan use a Western calendar? I ask because Windows
Time/Date settings take into account the traditional Jewish lunar calendar,
which means a different set of rules each year. I'm curious about any other
countries that might do this.
With the data I can make you a patch rather more quickly than MS would ever
get around to it. I'll even tell you how I did it once I've done it and
tested to make sure there's nothing I missed. Or you can try yourself. Just
make sure you set a Restore Point first.
1. Download TZEdit.exe from Microsoft:
http://download.microsoft.com/download/5/8/a/58a208b7-7dc7-4bc7-8357-28e29cdac52f/tzedit.exe
(TinyURL for above is:
http://tinyurl.com/y433w9)
The file does not "install" anything, it's a simple self-extracting archive,
so there's no need to hide it in Program Files. Simply unzip it to a new
folder on your desktop.
2. Open REGEDIT, find the following key and Export it for safe keeping:
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time
Zones\Pakistan Standard Time"
Call it "Old_TZ_Info.reg"
3. Delete the sub-key of the above named key named "Dynamic DST". This will
keep Windows from undoing your work.
4. Run TZEDIT and make the appropriate changes to your Time Zone settings.
Close TZEDIT.
5. Open the Time/Date applet and change the Time Zone to any other one in
the list, click Apply, then change it back to what it was and click OK. This
is *required* in order to update the CurrentControlSet entries mentioned
below. This will prevent you having to reboot the systems or, alternatively,
to require your users to change the Time Zone to something else and then
back again. It can be done with script, but only using SendKeys, and that is
an unreliable function IME.
6. Export what remains of the "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Time Zones\Pakistan Standard Time" and name it
"New_TZ_Info.reg"
7. Export the following Key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
Call it "TZ_CCC.reg"
Open both new REG files for editing in Notepad, make sure Word-wrap is off,
copy the pertinent data from this one (step 7) to the above one (in step 6),
making sure that there are two carriage returns after the end of the last
line, then save. It should look like this (everything between the dotted
lines (except, of course, that I'm using Mountain Standard Time as an
example):
---------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time
Zones\Mountain Standard Time]
"Display"="(GMT-07:00) Mountain Time (US & Canada)"
"Dlt"="Mountain Daylight Time"
"Std"="Mountain Standard Time"
"MapID"="34,35"
"Index"=dword:0000000a
"TZI"=hex:a4,01,00,00,00,00,00,00,c4,ff,ff,ff,00,00,0b,00,00,00,01,00,02,00,00,\
00,00,00,00,00,00,00,03,00,00,00,02,00,02,00,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"Bias"=dword:000001a4
"StandardName"="Mountain Standard Time"
"StandardBias"=dword:00000000
"StandardStart"=hex:00,00,0b,00,01,00,02,00,00,00,00,00,00,00,00,00
"DaylightName"="Mountain Daylight Time"
"DaylightBias"=dword:ffffffc4
"DaylightStart"=hex:00,00,03,00,02,00,02,00,00,00,00,00,00,00,00,00
"ActiveTimeBias"=dword:00000168
I
---------------------------------------------------------------
Again, when you place your cursor on the last line of text, pressing the
Down Arrow key twice should leave an empty line between the last line of
text and the cursor (I show the cursor with an upper-case "I" in this
example, but there should be nothing there.) Now, delete the entire line
""Index"=dword:0xnnnnnnnn", do not leave an empty line, then save the REG
file and use it to update your clients using whatever automation you feel
most comfortable with, perhaps a batch file.
Note that this procedure will simply fix your Time Zone information. It will
not change an incorrect time. If you want to do that, also, use something
like Cmdtime3
http://www.softshape.net/download/cmdtime.zip. It's an
internet time sync program, performing the same function as the Internet
Time tab in the Time/Date applet. The download includes a readme and a list
of time servers. You'll want to test cmdtime3 to see which servers work well
for you. Thus, you would create a folder that includes the updated REG file,
plus Cmdtime3.exe, plus the batch file. There is a command in XP that will
sync the time with time servers using Windows's list of servers, w32tm
/resync, but I wouldn't trust as much as I would cmdtime3 to get the job
done on various computers. The list of time servers maintained by Windows is
minimal and most or all of them don't work at all. Plus, you need permission
to access many time servers, so that my favorite one for the Internet Time
tab of the Date/Time applet doesn't work with Cmdtime3. The list of servers
included with the app includes notes on which ones are completely open to
the public. But as I said, you should test this on a few machines before
distributing it.
The command lines to run in the batch file would be something like this:
reg New_TZ_Info.reg > TZReport.txt
cmdtime3 ntp.adelaide.edu.au sync M:1440 >TZReport.txt
Call the file ChangeTZ.bat
M:1440 portion of the above is in minutes, and indicates that the app is
allowed to correct any time that is less than a day wrong, but if the
difference is more than that, the time update will fail. Of course, you
could increase it to some unknown large limit, but I figure a day is
sufficient. We don't expect systems to be off more than that, and if so, the
system should simply have its date changed. TZReport will tell you if
there's been a problem.
Distribute the folder and run the batch file. The can be made even easier by
packing the folder into a ZIP file and making that EXEcutable. One drawback
to resetting the time is that you need to be logged on as administrator in
order to change time. One solution is to use CPAU:
http://www.joeware.net/freetools/tools/cpau/index.htm
Or use some other Admin trick I don't know about to distribute the file. But
since the password is not easily encrypted, I would want to insert commands
into ChangeTZ.bat to send the TZReport to yourself and to immediately delete
the folder
Or you can write a script using the info you derive from the REG file, or
whatever you do best for your situation. Like I said, I'm not an domain
admin and don't know the various ways to get the job done.
--
Gary S. Terhune
MS-MVP Shell/User
http://grystmill.com
Amir Saleem (Pakistan) said:
Dear All,
As you already aware that in Pakistan GMT time change to +1 hour & it was
planed to revert it back in the Aug-2008 but now government announces that
this will remain same for another two months. but microsoft still not
released any patch for this change could anybody help me because my all
clients time is revert back to GMT +5:00 .
Actuall time in watches are 9:30Am
But computers shows 8:30AM
Please let me know the link from where I can download the patch for DST
for
pakistan according to this new change
Thanks