P
Paul Nash
Hi,
We are experiencing problems with our Windows XP Embedded system after hard
resets or power loss. Our application uses the registry as a small database
and thus writes data to the registry often. However we have found that data
which has been written to the registry can sometimes be lost after a hard
reset. This can even occur with data which has been written to the registry
over 2 days prior to the reset or power loss.
I decided to try and analyse when data was being written to the software
hive by the operating system and then compare this to Windows 2000 Server. I
used filemon from SysInternals to monitor both XPe and Win2K and regedit to
write data into the registry.
On Win2K you can see that the services.exe process performs a flush file
operation on C:\winnt\system32\config\software soon after data is written to
the registry.
On Windows XPe I did not see any file operations at all by any process on
C:\windows\system32\config\software. This may be because the SysInternals
tool cannot catch these file writes or that the interval between flushes is
very large.
So the question I have is what mechanism does XPe use to flush registry to
disk? and how often should it be occuring? And how can I verify that this is
occuring correctly?
We have tried using RegFlushKey in our application but the performance
impact this has on XPe is not acceptable.
Regards,
Paul Nash
We are experiencing problems with our Windows XP Embedded system after hard
resets or power loss. Our application uses the registry as a small database
and thus writes data to the registry often. However we have found that data
which has been written to the registry can sometimes be lost after a hard
reset. This can even occur with data which has been written to the registry
over 2 days prior to the reset or power loss.
I decided to try and analyse when data was being written to the software
hive by the operating system and then compare this to Windows 2000 Server. I
used filemon from SysInternals to monitor both XPe and Win2K and regedit to
write data into the registry.
On Win2K you can see that the services.exe process performs a flush file
operation on C:\winnt\system32\config\software soon after data is written to
the registry.
On Windows XPe I did not see any file operations at all by any process on
C:\windows\system32\config\software. This may be because the SysInternals
tool cannot catch these file writes or that the interval between flushes is
very large.
So the question I have is what mechanism does XPe use to flush registry to
disk? and how often should it be occuring? And how can I verify that this is
occuring correctly?
We have tried using RegFlushKey in our application but the performance
impact this has on XPe is not acceptable.
Regards,
Paul Nash