J
Jure
Hi,
i'm configuring a system (with XP embedded) where an user application
is the shell. The application "remembers" its state (child windows size
and position, etc.) by writing it's settings to the underlying
filesystem (FS). Beside that, it has an update option where it checks
on the internet for available updates. The problem is that it should
run on a CF card. I read quite a lot (on the newsgroups and on the msdn
site) about using EWF for protecting the CF (the RAM Reg mode is
suggested as the most suitable), but i still have some basic questions
about it.
1) As i said, the user application should be able to write to the FS. I
see the advantage of using EWF in that i could delay the write to the
FS until a graceful shutdown, thus minimizing the number of writes. The
solution i thought about is performing a commit at every system
shutdown. Will that work or am i missing something? I ask that because
in the help documentation and in many articles, i saw that it's
necessary to execute a CommitAndDisable command, then reboot the
system, make the desired changes, enable the overlay again and reboot
the system another time. An example of such an article:
http://msdn.microsoft.com/library/d...allingUpdatesOnEWF-ProtectedRun-TimeImage.asp
I know that since SP2 it's possible to use the "-live" switch to avoid
the reboot of the machine, but is that enough? The fact is that the FS
management should be completely transparent to the final user, so he
shouldn't even know if he's accessing the FS directly or it's data has
been saved to an overlay.
If i sum up: i'd like to write to the CF, but at the same time i want
to minimize the number of writes. All this should be transparent to the
user. How can i do that?
2) I also don't understand why is it necessary to disable the overly to
commit the changes - isn't it enough to call commit to apply the
changes and have the overlay active for other "non-ewfmgr writes"? I
want the overlay to be always active to shield the CF card from
occasional writes. So, on every system shutdown i'd like to flush the
changes (commit) and on system restart have the EWF active again.
3) I don't know how to run the ewfmgr command at system shutdown.
Somewhere i read that it's necessary to make a shutdown script. What is
that? If this is a batch file, how can i call it on system shutdown? Is
there any possibility to enclose the command in a "more hidden" place,
e.g. in the registry (like the "Run" or "RunOnce" key in the registry
which execute on system startup)? This would be a more elegant
solution.
4) How to execute a commit if i'm not logged in as Administrator. I
read in a post that it's not possible....
Any reply would be greatly appreciated. I hope i haven't asked
questions which were already answered many times. If that's the case, i
apologize and please point me to them. Thanks in advance for any help.
i'm configuring a system (with XP embedded) where an user application
is the shell. The application "remembers" its state (child windows size
and position, etc.) by writing it's settings to the underlying
filesystem (FS). Beside that, it has an update option where it checks
on the internet for available updates. The problem is that it should
run on a CF card. I read quite a lot (on the newsgroups and on the msdn
site) about using EWF for protecting the CF (the RAM Reg mode is
suggested as the most suitable), but i still have some basic questions
about it.
1) As i said, the user application should be able to write to the FS. I
see the advantage of using EWF in that i could delay the write to the
FS until a graceful shutdown, thus minimizing the number of writes. The
solution i thought about is performing a commit at every system
shutdown. Will that work or am i missing something? I ask that because
in the help documentation and in many articles, i saw that it's
necessary to execute a CommitAndDisable command, then reboot the
system, make the desired changes, enable the overlay again and reboot
the system another time. An example of such an article:
http://msdn.microsoft.com/library/d...allingUpdatesOnEWF-ProtectedRun-TimeImage.asp
I know that since SP2 it's possible to use the "-live" switch to avoid
the reboot of the machine, but is that enough? The fact is that the FS
management should be completely transparent to the final user, so he
shouldn't even know if he's accessing the FS directly or it's data has
been saved to an overlay.
If i sum up: i'd like to write to the CF, but at the same time i want
to minimize the number of writes. All this should be transparent to the
user. How can i do that?
2) I also don't understand why is it necessary to disable the overly to
commit the changes - isn't it enough to call commit to apply the
changes and have the overlay active for other "non-ewfmgr writes"? I
want the overlay to be always active to shield the CF card from
occasional writes. So, on every system shutdown i'd like to flush the
changes (commit) and on system restart have the EWF active again.
3) I don't know how to run the ewfmgr command at system shutdown.
Somewhere i read that it's necessary to make a shutdown script. What is
that? If this is a batch file, how can i call it on system shutdown? Is
there any possibility to enclose the command in a "more hidden" place,
e.g. in the registry (like the "Run" or "RunOnce" key in the registry
which execute on system startup)? This would be a more elegant
solution.
4) How to execute a commit if i'm not logged in as Administrator. I
read in a post that it's not possible....
Any reply would be greatly appreciated. I hope i haven't asked
questions which were already answered many times. If that's the case, i
apologize and please point me to them. Thanks in advance for any help.