Changes
Improved example: HP Universal Print Driver 5.8.0.17508
== Working Examples ==
=== [http://h20331.www2.hp.com/Hpsub/cache/576122-0-0-225-121.html?jumpid=reg_r1002_usen_c-001_title_r0001 HP Universal Printer Driver ] ===
<source lang="xml">
<package
id="hpuniv-drivers"
name="HP Universal Printer Driver 5.2.6%PKG_DRIVERVERS%" revision="34-%PKG_DRIVERVERS%"
reboot="false"
priority="0">
<!variable name="PKG_DRIVERVERS" value="5.8.0.17508" /> <variable name="PKG_INTERNALVERS" value="61.160.1.17508" /> <variable name="PKG_SOURCE_PS" value="%SOFTWARE%\printerdrivers\hp-universal- XXX this check may be inadequatev%PKG_DRIVERVERS%\PS-64\hpcu160v. Wpkg doesn't handle REG_BINARY veryinf" architecture="x64" /> well, but Data File changes with different versions of this driver and appears to not be updated on a partial wrong <variable name="PKG_SOURCE_PS" value="%SOFTWARE%\printerdrivers\hp-universal-v%PKG_DRIVERVERS%\PS-32\hpcu160d.inf" architecture install="x86" /> <variable name="PKG_SOURCE_PCL" value="%SOFTWARE%\printerdrivers\hp-universal-v%PKG_DRIVERVERS%\PCL6-64\hpcu160u. inf" architecture="x64" /> <variable name="PKG_SOURCE_PCL" value="%SOFTWARE%\printerdrivers\hp-universal-v%PKG_DRIVERVERS%\PCL6-32\hpcu160c.inf" architecture="x86" />
<check type="logical" condition="or">
<check type="registry" condition="equals" path="HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3\HP Universal Printing PS\Data FileDriverVersion" value="hpcu112s.ppd%PKG_INTERNALVERS%" /> <check type="registry" condition="equals" path="HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\HP Universal Printing PS\Data FileDriverVersion" value="hpcu112s.ppd%PKG_INTERNALVERS%" /> </check> <check type="logical" condition="or"> <check type="registry" condition="equals" path="HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3\HP Universal Printing PCL 6\DriverVersion" value="%PKG_INTERNALVERS%" /> <check type="registry" condition="equals" path="HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\HP Universal Printing PCL 6\DriverVersion" value="%PKG_INTERNALVERS%" />
</check>
we do this instead. It would probably be possible to ignore return
codes instead. -->
<upgrade include="install" /> <remove cmd='%COMSPEC% /C if not exist "%PROGRAMFILES(x86)%" rundll32 PrintUI.dll,PrintUIEntry /ia /f "%SOFTWARE%\printerdrivers\hp-universal-v5.2.6/32/hpcu112d.inf" dd /m "HP Universal Printing PS" /q' /> <upgrade remove cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%" rundll32 PrintUI.dll,PrintUIEntry /ia /f "%SOFTWARE%\printerdrivers\hp-universal-v5.2.6/64/hpcu112v.inf" dd /m "HP Universal Printing PSPCL 6" /q' />
</package>
</source>