Reputation:
My company is currently creating a device (both hardware and software) that use Windows 6.0.
On 3 different units, I have seen the registry got modified, but only once per unit. Each time, the key which control the autostarting of the application (HKEY_LOCAL_MACHINE\init) has been deleted.
On 2 units, the touchscreen calibration (KEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH\CalibrationData) has been modified to a seemingly random one, but definitely not the default one as defined in the kernel/bootloader.
On the 3rd one, the touchscreen calibration key has been deleted completely.
I suspect that the registry got corrupted due to a powerloss, but our software do not use the registry so that would mean the powerloss occurs while Windows was writing to the registry, no?
We have an hardware watchdog on our unit, so I have modify my code to not kick it, which cause the unit to reboot every 5 minutes. This has been running for a couple of weeks without any problem.
Has anyone experienced that problem before?
What could I try to reproduce it?
Upvotes: 0
Views: 1390
Reputation: 11
This is very interesting trouble that is now a CE6 operated consumer headache in Geo Position Satellite portable touch screen WINCE6 operating system GPS receivers.
The trouble solution can be a executable file with attached INI file to activate execute TOUCH SCREEN CALIBRATION file.. or SET the HIVE REG to ask for Touch Control calibration on every boot start up. The ask for Touch calibration on boot start may be timed out example 3 seconds to ignore and continue normal boot start
Upvotes: 1
Reputation: 2210
Which kind of persistence method did you implemented for your registry? Are you using hive-based registry or RAM-based registry implementing the support for persistence in your OAL? Usually a loss of data in the registry would generate bigger damage to the configuration, unless most of the keys you defined in your platform configuration .reg files are inside the hive-boot sections. You can force a registry saving by calling the RegFlushKey API, you may try to call this before reboot to check if your registry is corrupted by an unexpected shutdown. If it is you may consider changing the filesystem used to store your hive-file or change the implementation of your registry-saving code for RAM-based registry to keep a copy of the last known configuration and not directly replacing it on save.
Upvotes: 1