Windows Vista Forums
Vista Forums Home Join Vista Forums Windows 7 Forum Vista Tutorials Tags
Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks.

Go Back   Vista Forums > Vista Newsgroups > Vista security

Vista - Vista system files win.ini / _default.pif

Reply
 
Old 11-09-2008   #1 (permalink)
x64


 
 

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.

My System SpecsSystem Spec
Old 11-10-2008   #2 (permalink)
x64


 
 

Re: Vista system files win.ini / _default.pif

I think the file _default.pif cannot be overwritten by my MSI because
it is under Windows File Protection. Even if I delete the file the MSI
still cannot write a new _default.pif

Is there any way around this?



On Sun, 09 Nov 2008 20:19:05 +0000, x64@xxxxxx wrote:
Quote:

>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.
My System SpecsSystem Spec
Old 11-11-2008   #3 (permalink)
x64


 
 

Re: Vista system files win.ini / _default.pif

I do the following;

takeown /A /F C:\Windows

icacls C:\Windows /grant Users:F /inheritance:e

takeown /A /F %systemroot%\win.ini

takeown /A /F %systemroot%\_default.pif

icacls %systemroot%\win.ini /grant Users:F

icacls %systemroot%\_default.pif /grant Users:F


But my MSI install package still does not overwrite _default.pif.
However I can use "copy" command to overwrite _default.pif.

How do I get MSI install package to overwrite the file, what do I need
to do? I could perhaps install _default.pif in some other directory
and issue a "copy" command but that would be a roundabout and indirect
way of doing it.
My System SpecsSystem Spec
Reply

Thread Tools


Similar Threads
Thread Forum
Programs - Replace System Program without Modifying System Files or Permissions Tutorials
Vista system files win.ini / _default.pif Vista General
Vista system files win.ini / _default.pif Vista file management
Reinstalling the system recovery files made just before system rec Vista installation & setup
_default.pif edit Vista performance & maintenance


Vista Forums is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media Ltd

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46