Hi Woody,
I tried reproducing this on 2.0.4 and so far tools.syncTime works as expected. Keep in mind that time synchronization can happen in several ways, and tools.syncTime only affects one of them - somethingnew is correct in saying there are other settings which affect guest time.
I'm sure you know this, but as background for anyone else, computers have a real-time clock to keep time when the computer is powered off. When a computer starts up, the OS typically asks the BIOS what time it is to get started. Since virtual machines don't actually have little virtual RTCs that run all the time, when we start up a virtual machine, we ask the host what time it is and feed that to the guest. This isn't Tools related, it happens on virtual machines without Tools installed at all. I believe that tools.syncTime should not affect this. We're supposed to remember the offset between the host's time and the guest time, but I'm not sure under what conditions this offset is saved (some may be guest-specific). In my quick experiments, changing the BIOS clock did not persist across guest reboots (including the one needed to save changes), which seems possibly wrong.
Once the guest is running, time may drift - for example, say you're doing extremely intensive work on the host and the guest doesn't get scheduled to run, or maybe you suspend the virtual machine and then come back later. This is where Tools time sync comes in. If the time is slightly behind, we nudge it forward at a slightly increased rate; if it's behind by a lot or nudging hasn't worked, we jump the clock. I made sure time sync was enabled and that the virtual machine (XP Pro SP3) was disconnected from the network. I then set the guest clock back by both about 30 seconds and about 10 minutes - in both cases, guest time jumped forward to the host time after a little while. I then disabled time sync (via the VMware Tools taskbar icon) and set the guest clock back by both about 30 seconds and about 10 minutes - in both cases, guest time remained consistently behind for as long as I cared to watch. This is exactly what I expected to see.
tools.syncTime automatically syncs the guest time every so often, but Tools can also sync time in some other circumstances, such as when Tools start up. In order to disable guest time syncing, you need to disable the other cases when this happens. For the next experiment, I added the following lines to my .vmx config (as usual, virtual machine shut down and Fusion not running):
rtc.diffFromUTC = "-600"
time.synchronize.continue = "FALSE"
time.synchronize.restore = "FALSE"
time.synchronize.resume.disk = "FALSE"
time.synchronize.shrink = "FALSE"
time.synchronize.tools.startup = "FALSE"
The rtc.diffFromUTC sets an offset of 10 minutes so I could see if this had an effect, while the others come from
Timekeeping in VMware Virtual Machines (also listed in
KB 1189). I think only the last one is needed for the way I did this experiment (in addition to tools.syncTime), but I thought it wouldn't hurt to include the others. Indeed as expected, starting up showed a different guest time.
I think tools.syncTime is working properly. The BIOS time change not sticking seems questionable, but I'm not sure if this is intended behavior or not.
Woody, can you see if adding time.synchronize.tools.startup = "FALSE" does what you expect?
somethingnew, note that it should be time.synchronize.tools.startup, not tools.synchronize.tools.startup.