Subject Windows ME/XP - slow performance due to System Restore
Author Helen Borrie
Stan Eisenberg wrote:

Please don't kill me, but... did someone tried the Microsoft Support for the
XP?

This and the preceding email from Jan Henrik Sylvester were contributed when we were trying to research this:
-------------------------------------------------------------------------------------------------------
Anyone who is concerned about System Restore in Windows ME and XP might find
these answers from MS valuable. It's part of an XP newsgroup discussion, I
had a while back (nothing "official").

The only news is probably, that in contrast to ME you can exclude the
database drive from System Restore in XP as an alternative to changing the
file extension, putting the database to My Documents, or switching of System
Restore entirely. Modifying filelist.xml is not an option, since it is not
supported, but it might be a reference considering any new file extensions.

Hope you'll find this useful.

Jan Henrik Sylvester <me@...>
----------------------------------------------------------------------
Is there a (supported) way to exclude certain file extensions from system
restore?

I develop applications for Borland Interbase. The database files have the
extension .GDB, which is included in system restore. (Why???)

I already have a warning in my documentation to use a different file
extension, put the file to My Documents, or turn off system restore in
Windows ME.

Since most people will use NT database servers, it was not a major issue so
far, but yesterday someone posted a customers experience with Whistler Beta
2 and slow database logins to some mailing list. Thus I checked my
system-restore folders... and found many copies of my databases. I've had
only small database files, but I can imagine a GB-database being copied.

What should I advice my customers to do? Are the Windows ME workarounds
still valid? Is there any difference in Windows .Net Server?

Probably, it's not an option at this point, but it would be really great to
exclude .GDB by default -- and I think a whole Interbase community would be
happy.

Thanks for any advice,
Jan Henrik Sylvester <me@...>
----------------------------------------------------------------------
Thank you for your feedback and reply. Here is the answer for your
questions.

1- There is no System Restore on the .NET Servers. System Restore is only
available on Windows XP Home and Professional Edition.

2- As an application developer, your best bet would be to keep your
development work on a separate partition if you want system restore
protection for your OS & Program settings and critical files. We added the
ability to exclude/re-include a volume with Developers such as yourself,
in mind. This way your system and production programs can be protected
from undesireable change, while SR will ignore your development work.
Therefore, you can just turn off System Restore on your "Development"
partition and save the files you don't want System Restore to monitor, to
that partition. The other options you mentioned are still valid as well.

3- In Windows XP we use smart copy. Therefore the overhead seen in Windows
ME will not be an issue on XP, as System Restore will only copy/log the
monitored files before change, once, for a restore point or boot session,
which most of the times will mean once a day only.

4- The filelist.xml is published on the Windows XP Platform SDK
documentation, so ISV can refer to it when considering file extension
naming. Modifications to the filelist.xml will not be supported by
Microsoft.

Feel free to take a look on our MSDN white paper for some additional
information at
http://msdn.microsoft.com/library/default.asp?URL=/library/techart/Windowsxp
systemrestore.htm

Thanks,
Jamir [MS]
----------------------------------------------------------------------
Thanks for your reply!

Yeah, I noticed that the file was _only_copied_once_a_day_, but if you have
larger than a few MB databases... it doesn't make your application look
good.

The database file can be corrupted, if it is accessed (e.g. copied), when
the server tries to write to it. (At least, I've been told so.) Is this
possible due to system restore? (Does system restore put a write lock to
blocks of the file being copied?)

I'll try to find this information in the white paper. If it's not there,
please, reply here.

Thanks,
Jan Henrik Sylvester <me@...>
----------------------------------------------------------------------
Jan,

>The database file can be corrupted, if it is accessed (e.g. copied), when
the server tries to write to it. (At least, I've been told so.) Is this
possible due to system restore? (Does system restore put a write lock to
blocks of the file being copied?)
The answer is no. System Restore does not cause this. Take a look on the
MSDN paper. It might answer a lot of your questions.

Thanks,
Jamir
----------------------------------------------------------------------

All for Open and Open for All
InterBase Developer Initiative ยท http://www.interbase2000.org
_______________________________________________________