|
Vista system files win.ini / _default.pif
I am writing an MSI installation package which needs to give Users
access to win.ini and _default.pif, and further to overwrite
_default.pif with a new file. Both of these are in the system root
directory which is usually c:\windows
The code I have come up with is;
takeown /A /F %systemroot%\win.ini
takeown /A /F %systemroot%\_default.pif
icacls %systemroot%\_default.pif /grant Users:F
icacls %systemroot%\win.ini /grant Users:F
This works for Vista. However \windows\_default.pif is a windows
protected file so when the installer tries to write to it, it fails
and the original file remains in place. How can I get around windows
file protection so my installer can write a new _default.pif file?
Alternatively how can I edit the _default.pif file in the MSI install
so the "close window on exit" checkbox gets unchecked, which is what I
am trying to achieve?
Next question. How can I differentiate between XP and Vista in my
batch file / command script? I can find no environment variable to
tell me which version of Windows is running, although there is a ver
command to tell the user the version number. Can I pipe the output of
the ver command somehow to get the version number, how would I do
this, and is there a simpler way using a return code from a small C
program or something?
Thanks very much for answers. Sorry about the mega crosspost but I
really need to find some answers to these questions.
|