If you modify the ProgramFilesDir data value, Microsoft cumulative updates are not installed correctly.

This behavior affects the MSxx-xxx cumulative updates, like MS06-006.

To workaround this problem, I have scripted CumUpdate.bat to reset the default just before installing a cumulative update, and to set it back to your value after the update is installed.

The syntax for using CumUpdate.bat, both before and after an update, is:

CumUpdate

CumUpdate.bat contains:

                              @echo off                              setlocal                              if exist %SystemDrive%\YourProgramFilesDir.reg goto afterUpd                              regedit /a "%TEMP%\YourProgramFilesDir.reg" HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Currentversion                              @echo.REGEDIT4>%SystemDrive%\YourProgramFilesDir.reg                              @echo.>>%SystemDrive%\YourProgramFilesDir.reg                              @echo.\[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Currentversion\]>>%SystemDrive%\YourProgramFilesDir.reg                              set f1=find /i "ProgramFilesDir"                              set f2=find "="                              for /f "Tokens=*" %%i in ('type "%TEMP%\YourProgramFilesDir.reg"^|%f1%^|%f2%') do (                                @echo.%%i>>%SystemDrive%\YourProgramFilesDir.reg                               @echo Your %%i                              )                              @echo.>>%SystemDrive%\YourProgramFilesDir.reg                              @echo.>>%SystemDrive%\YourProgramFilesDir.reg                              del /q "%TEMP%\YourProgramFilesDir.reg"                              @echo.REGEDIT4>%SystemDrive%\DefaultProgramFilesDir.reg                              @echo.>>%SystemDrive%\DefaultProgramFilesDir.reg                              @echo.\[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Currentversion\]>>%SystemDrive%\DefaultProgramFilesDir.reg                              @echo."ProgramFilesDir"="%SystemDrive%\\Program Files">>%SystemDrive%\DefaultProgramFilesDir.reg                              @echo Default "ProgramFilesDir"="%SystemDrive%\\Program Files"                              @echo.>>%SystemDrive%\DefaultProgramFilesDir.reg                              @echo.>>%SystemDrive%\DefaultProgramFilesDir.reg                              regedit /s %SystemDrive%\DefaultProgramFilesDir.reg                              del /q %SystemDrive%\DefaultProgramFilesDir.reg                              endlocal                              goto :EOF                              :afterUpd                              type %SystemDrive%\YourProgramFilesDir.reg                              regedit /s %SystemDrive%\YourProgramFilesDir.reg                              del /q %SystemDrive%\YourProgramFilesDir.reg