Difference between revisions of "Windows XP SP3"
(/forcerestart switch causes installation failure.) |
(Added check condition so that it will bypass on machines with SP3 preinstalled.) |
||
Line 1: | Line 1: | ||
− | Silent installer for Windows XP Service Pack 3 (Italian version in this case) | + | Silent installer for Windows XP Service Pack 3 (Italian version in this case). |
+ | |||
+ | Checks uninstall information and registry key "CSDVersion" so that it will not try to install on a machine with SP3 factory preinstalled, which typically does not show "Windows XP Service Pack 3" in the Add/Remove program application. | ||
Technet page for Service Pack 3: http://technet.microsoft.com/en-us/windowsxp/0a5b9b10-17e3-40d9-8d3c-0077c953a761.aspx | Technet page for Service Pack 3: http://technet.microsoft.com/en-us/windowsxp/0a5b9b10-17e3-40d9-8d3c-0077c953a761.aspx | ||
Line 11: | Line 13: | ||
<check type="logical" condition="or"> | <check type="logical" condition="or"> | ||
<check type="registry" condition="equals" path="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName" value="Microsoft Windows 2000" /> | <check type="registry" condition="equals" path="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName" value="Microsoft Windows 2000" /> | ||
+ | <check type="registry" condition="equals" path="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CSDVersion" value="Service Pack 3" /> | ||
<check type="uninstall" condition="exists" path="Windows XP Service Pack 3" /> | <check type="uninstall" condition="exists" path="Windows XP Service Pack 3" /> | ||
</check> | </check> |
Revision as of 10:43, 19 November 2008
Silent installer for Windows XP Service Pack 3 (Italian version in this case).
Checks uninstall information and registry key "CSDVersion" so that it will not try to install on a machine with SP3 factory preinstalled, which typically does not show "Windows XP Service Pack 3" in the Add/Remove program application.
Technet page for Service Pack 3: http://technet.microsoft.com/en-us/windowsxp/0a5b9b10-17e3-40d9-8d3c-0077c953a761.aspx
<?xml version="1.0" encoding="UTF-8"?>
<packages>
<package id="WinXP-SP3-ita" name="Windows XP Service Pack 3 (italian)" revision="1" reboot="true" priority="0">
<check type="logical" condition="or">
<check type="registry" condition="equals" path="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName" value="Microsoft Windows 2000" />
<check type="registry" condition="equals" path="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CSDVersion" value="Service Pack 3" />
<check type="uninstall" condition="exists" path="Windows XP Service Pack 3" />
</check>
<install cmd='%SOFTWARE%\ServicePacks\WindowsXP-KB936929-SP3-x86-ITA.exe /quiet /norestart'>
<exit code="0" />
<exit code="3010" />
</install>
<remove cmd='%WINDIR%\$NtServicePackUninstall$\spuninst\spuninst.exe /quiet /norestart'>
<exit code="0" />
<exit code="3010" />
</remove>
</package>
</packages>
Still to be investigated which is the best command line switches combination. Available command line switches are:
/help /quiet /passive /norestart /forcerestart /warnrestart[:<seconds>] /promptrestart /overwriteoem /nobackup /forceappsclose /integrate:<full path> /d:<path> /log:<full path>
UninstallString string value in the registry key "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Windows XP Service Pack" reports "c:\windows\$NtServicePackUninstall$\spuninst\spuninst.exe", didn't check if it works as expected.
Spuninst.exe available command line switches are:
/help /quiet /passive /norestart /forcerestart /warnrestart[:<seconds>] /promptrestart /forceappsclose /log:<full path>