Thanks for the response,
KM said:
John,
The best if you move all your important registry updates to some files. If you happen to have source codes of your embedded apps
then you can certainly do that. But if you don't have it, it may be a problem.
Yes, This seems to be part of the solution, however with my coding hat on it
appears messy to me (I thought the registry was supposed to be for this type
of data)
Also, how about using EWF and protect the entire system partition including registry hives. Then, if you feel the changes need to be
persistent, you can set up EWF commit launched automatically (HKLM\...\Run key, for instance) and that will commit all the session
disk changes at graceful shutdown. If no graceful shutdown performed (e.g., sudden power loss and etc.), the image will lose all the
changes, since they are not committed to the disk, but you still have working disk with valid data on it (current to the previous
session, though).
Unfortunately we have been using flash cards that do not appear as fixed, so
have been unable to implement EWF (cannot create multiple partitions). Also
as we are continuously collecting data, the time required for a reboot to
commit changes means a loss of coverage that would be unacceptable. We also
have to write to the registry as components of the system are installed (and
the executables registered) based on the enviroment the system finds itself.
I suspect that the solution is going to be a mixture of the above (FBWF with
registry protected, data files for changing data that is required by the app
after a sudden reboot, Automatic installers that do a commit and reboot after
an install (we particularly wanted to avoid this step but it seems
unavoidable) and using a flash card that appears as fixed (transcend appear
the best option we have seen so far).)
It all adds up to a fairly substantial set of changes, and means that our
system will no longer be backwards compatible. We either bite the bullet and
go forwards, or live with the occasional failure caused by hard reboots.
There is no current evidence that the above solution would result in a
substantially more robust system. We have found in tests that failures are an
order of magnitude more likely to be caused by faulty flash cards than any
other cause (i.e. flash cards that appear to have degraded performance from
the outset) (we have tried several types).
John