I think I may have found with Boot Package. The XML that is packaged and published to the WSUS is different to the XML pushed from WSUS to local machine.
This is a copy of the XML on PM:
<?xml version="1.0" encoding="UTF-8"?>
<packageboot version="2.0.0.0" id="dd53b76e-babc-410f-8901-426d0989f5f1">
<instructions>
<preexecution>
<services>
<service failureaction="stop" enabled="false" name="someservicename" action="stop" />
<service failureaction="stop" enabled="false" name="someotherservicename" action="stop" />
</services>
<programs>
<program failureaction="continue" enabled="true" name="{F2B059F7-59B4-4CBD-8F85-7AD64603C361}" type="msi" typeaction="uninstall" enablemsilogging="true" msilogfile="%WinDir%\MapInfo_10_Uninstall" pathtype="regprependpath" regpath="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" regvalue="{F2B059F7-59B4-4CBD-8F85-7AD64603C361}" successcode="0">/norestart</program>
<program failureaction="continue" enabled="true" name="AccessDatabaseEngine.exe" type="exe" typeaction="runandwait" successcode="0">/qn /norestart</program>
<program failureaction="continue" enabled="true" name="vcredist_x86.exe" type="exe" typeaction="runandwait" successcode="0">/qn /norestart</program>
<program failureaction="continue" enabled="true" name="NDP40-KB2484832-x86.exe" type="exe" typeaction="runandwait" successcode="0">/qn /norestart</program>
<program failureaction="continue" enabled="true" name="NDP40-KB2498911-x86.exe" type="exe" typeaction="runandwait" successcode="0">/qn /norestart</program>
<program failureaction="stop" enabled="false" name="program.exe" type="exe" typeaction="sleepandrun" sleeptime="90">/qn /norestart</program>
</programs>
<processes>
<process failureaction="stop" enabled="false" name="iexplore.exe" action="terminate" />
</processes>
<filesinuse>
<fileinusecheck enabled="false" terminateinuseprocesses="true" type="simplepath" path="%PROGRAMFILES%\Java\jre\bin" checkonlydllsandexes="true" />
<fileinusecheck enabled="false" terminateinuseprocesses="true" type="simplepathlist" path="%PROGRAMFILES%\Java\jre\bin\client">
<file>jvm.dll</file>
</fileinusecheck>
<fileinusecheck enabled="false" terminateinuseprocesses="true" type="regprependpath" regpath="" regvalue="Path" usewin32registry="true" checkonlydllsandexes="true" />
<fileinusecheck enabled="false" terminateinuseprocesses="true" type="regprependpathlist" regpath="" regvalue="JavaHome" usewin32registry="true">
<file>bin\awt.dll</file>
<file>bin\axbridge.dll</file>
<file>bin\cmm.dll</file>
<file>bin\dcpr.dll</file>
<file>bin\deploy.dll</file>
<file>bin\deploytk.dll</file>
<file>bin\dt_shmem.dll</file>
<file>bin\dt_socket.dll</file>
<file>bin\eula.dll</file>
<file>bin\fontmanager.dll</file>
<file>bin\hpi.dll</file>
<file>bin\hprof.dll</file>
<file>bin\instrument.dll</file>
<file>bin\ioser12.dll</file>
<file>bin\j2pcsc.dll</file>
<file>bin\j2pkcs11.dll</file>
<file>bin\jaas_nt.dll</file>
<file>bin\java.dll</file>
<file>bin\java_crw_demo.dll</file>
<file>bin\jawt.dll</file>
<file>bin\JdbcOdbc.dll</file>
<file>bin\jdwp.dll</file>
<file>bin\jkernel.dll</file>
<file>bin\jli.dll</file>
<file>bin\jp2iexp.dll</file>
<file>bin\jp2native.dll</file>
<file>bin\jp2ssv.dll</file>
<file>bin\jpeg.dll</file>
<file>bin\jpicom.dll</file>
<file>bin\jpiexp.dll</file>
<file>bin\jpinscp.dll</file>
<file>bin\jpioji.dll</file>
<file>bin\jpishare.dll</file>
<file>bin\jsound.dll</file>
<file>bin\jsoundds.dll</file>
<file>bin\management.dll</file>
<file>bin\mlib_image.dll</file>
<file>bin\msvcr71.dll</file>
<file>bin\msvcrt.dll</file>
<file>bin\net.dll</file>
<file>bin\nio.dll</file>
<file>bin\npdeploytk.dll</file>
<file>bin\npjpi160_14.dll</file>
<file>bin\npoji610.dll</file>
<file>bin\npt.dll</file>
<file>bin\regutils.dll</file>
<file>bin\rmi.dll</file>
<file>bin\splashscreen.dll</file>
<file>bin\ssv.dll</file>
<file>bin\sunmscapi.dll</file>
<file>bin\unicows.dll</file>
<file>bin\unpack.dll</file>
<file>bin\verify.dll</file>
<file>bin\w2k_lsa_auth.dll</file>
<file>bin\wsdetect.dll</file>
<file>bin\zip.dll</file>
</fileinusecheck>
</filesinuse>
</preexecution>
<execution>
<programs>
<program failureaction="stop" enabled="true" name="packageboot.exe" type="msi" typeaction="install" enablemsilogging="false" successcode="0, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1633, 1634, 1641, 3010"></program>
</programs>
</execution>
<postexecution>
<programs>
<program failureaction="stop" enabled="false" name="postprogram.exe" type="exe" typeaction="runandwait" successcode="0"></program>
<program failureaction="stop" enabled="false" name="wusa.exe" type="exe" typeaction="sleepandrun" sleeptime="60" pathtype="simplepath" path="%windir%\system32">%MODULEPATH%\Windows6.0-KB968930-x86.msu /quiet /norestart</program>
<program failureaction="stop" enabled="false" name="helper.exe" type="exe" typeaction="runandwait" pathtype="regprependpath" regpath="HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\3.0.14 (en-US)\Uninstall" regvalue="Uninstall Log Folder" successcode="0">-S</program>
</programs>
<services>
<service failureaction="continue" enabled="false" name="someservice" action="start" />
</services>
</postexecution>
</instructions>
</packageboot>
This is a copy of the XML on the local machine:
<?xml version="1.0" encoding="UTF-8" ?>
- <packageboot version="2.0.0.0" id="dd53b76e-babc-410f-8901-426d0989f5f1">
- <instructions>
- <preexecution>
- <services>
<service failureaction="stop" enabled="false" name="someservicename" action="stop" />
<service failureaction="stop" enabled="false" name="someotherservicename" action="stop" />
</services>
- <programs>
<program failureaction="stop" enabled="true" name="{F2B059F7-59B4-4CBD-8F85-7AD64603C361}" type="msi" typeaction="uninstall" enablemsilogging="true" msilogfile="%WinDir%\MapInfo_10_Uninstall" pathtype="regprependpath" regpath="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" regvalue="{F2B059F7-59B4-4CBD-8F85-7AD64603C361}" successcode="0">/norestart</program>
<program failureaction="stop" enabled="false" name="program.exe" type="exe" typeaction="runandwait" successcode="0">/qn /norestart</program>
<program failureaction="stop" enabled="false" name="program.exe" type="exe" typeaction="sleepandrun" sleeptime="90">/qn /norestart</program>
</programs>
- <processes>
<process failureaction="stop" enabled="false" name="iexplore.exe" action="terminate" />
</processes>
- <filesinuse>
<fileinusecheck enabled="false" terminateinuseprocesses="true" type="simplepath" path="%PROGRAMFILES%\Java\jre\bin" checkonlydllsandexes="true" />
- <fileinusecheck enabled="false" terminateinuseprocesses="true" type="simplepathlist" path="%PROGRAMFILES%\Java\jre\bin\client">
<file>jvm.dll</file>
</fileinusecheck>
<fileinusecheck enabled="false" terminateinuseprocesses="true" type="regprependpath" regpath="" regvalue="Path" usewin32registry="true" checkonlydllsandexes="true" />
- <fileinusecheck enabled="false" terminateinuseprocesses="true" type="regprependpathlist" regpath="" regvalue="JavaHome" usewin32registry="true">
<file>bin\awt.dll</file>
<file>bin\axbridge.dll</file>
<file>bin\cmm.dll</file>
<file>bin\dcpr.dll</file>
<file>bin\deploy.dll</file>
<file>bin\deploytk.dll</file>
<file>bin\dt_shmem.dll</file>
<file>bin\dt_socket.dll</file>
<file>bin\eula.dll</file>
<file>bin\fontmanager.dll</file>
<file>bin\hpi.dll</file>
<file>bin\hprof.dll</file>
<file>bin\instrument.dll</file>
<file>bin\ioser12.dll</file>
<file>bin\j2pcsc.dll</file>
<file>bin\j2pkcs11.dll</file>
<file>bin\jaas_nt.dll</file>
<file>bin\java.dll</file>
<file>bin\java_crw_demo.dll</file>
<file>bin\jawt.dll</file>
<file>bin\JdbcOdbc.dll</file>
<file>bin\jdwp.dll</file>
<file>bin\jkernel.dll</file>
<file>bin\jli.dll</file>
<file>bin\jp2iexp.dll</file>
<file>bin\jp2native.dll</file>
<file>bin\jp2ssv.dll</file>
<file>bin\jpeg.dll</file>
<file>bin\jpicom.dll</file>
<file>bin\jpiexp.dll</file>
<file>bin\jpinscp.dll</file>
<file>bin\jpioji.dll</file>
<file>bin\jpishare.dll</file>
<file>bin\jsound.dll</file>
<file>bin\jsoundds.dll</file>
<file>bin\management.dll</file>
<file>bin\mlib_image.dll</file>
<file>bin\msvcr71.dll</file>
<file>bin\msvcrt.dll</file>
<file>bin\net.dll</file>
<file>bin\nio.dll</file>
<file>bin\npdeploytk.dll</file>
<file>bin\npjpi160_14.dll</file>
<file>bin\npoji610.dll</file>
<file>bin\npt.dll</file>
<file>bin\regutils.dll</file>
<file>bin\rmi.dll</file>
<file>bin\splashscreen.dll</file>
<file>bin\ssv.dll</file>
<file>bin\sunmscapi.dll</file>
<file>bin\unicows.dll</file>
<file>bin\unpack.dll</file>
<file>bin\verify.dll</file>
<file>bin\w2k_lsa_auth.dll</file>
<file>bin\wsdetect.dll</file>
<file>bin\zip.dll</file>
</fileinusecheck>
</filesinuse>
</preexecution>
- <execution>
- <programs>
<program failureaction="stop" enabled="true" name="MapInfo Proviewer 11.5.msi" type="msi" typeaction="install" enablemsilogging="false" successcode="0, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1633, 1634, 1641, 3010" />
</programs>
</execution>
- <postexecution>
- <programs>
<program failureaction="stop" enabled="false" name="postprogram.exe" type="exe" typeaction="runandwait" successcode="0" />
<program failureaction="stop" enabled="false" name="wusa.exe" type="exe" typeaction="sleepandrun" sleeptime="60" pathtype="simplepath" path="%windir%\system32">%MODULEPATH%\Windows6.0-KB968930-x86.msu /quiet /norestart</program>
<program failureaction="stop" enabled="false" name="helper.exe" type="exe" typeaction="runandwait" pathtype="regprependpath" regpath="HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\3.0.14 (en-US)\Uninstall" regvalue="Uninstall Log Folder" successcode="0">-S</program>
</programs>
- <services>
<service failureaction="continue" enabled="false" name="someservice" action="start" />
</services>
</postexecution>
</instructions>
</packageboot>