[wpkg-users] check conditions "and or"
Pendl Stefan
stefan.pendl at haidlmair.at
Tue Jun 15 17:50:07 CEST 2010
>
> Hi,
> Is it possible to combine check conditions? I ask because with the advent of Windows 7 64bit the %programfiles%
> variable becomes inaccurate for file location between XP and Win7 64. I'll show you what I would like to achieve
>
> <check type="logical" condition="and">
> <check type="uninstall" condition="exists" path="McAfee VirusScan Enterprise" />
> <check type="logical" condition="or">
> <check type="file" condition="versiongreaterorequal" path="%programfiles%\mcafee\virusscan enterprise\mcupdate.exe" value="8.7.0.659" />
> <check type="file" condition="versiongreaterorequal" path="%programfiles(x86)%\mcafee\virusscan enterprise\mcupdate.exe" value="8.7.0.659" />
> </check>
>
> If this is not possible now could it be possible in the future?
>
> I would prefer this to creating multiple packages and profiles for multiple OS.
>
Paul,
If you use multiple checks without a logical condition, they must all be true, since AND is the default.
This is not specific to Win7, but to 64-bit Windows in general, since 32-bit applications are always installed into %ProgramFiles(x86)%.
The correct check for your package is below:
<check type="uninstall" condition="exists" path="McAfee VirusScan Enterprise" />
<check type="logical" condition="or">
<check type="file" condition="versiongreaterorequal" path="%programfiles%\mcafee\virusscan enterprise\mcupdate.exe" value="8.7.0.659" />
<check type="file" condition="versiongreaterorequal" path="%programfiles(x86)%\mcafee\virusscan enterprise\mcupdate.exe" value="8.7.0.659" />
</check>
As an example, for the following all three checks must return true:
<check type="uninstall" condition="exists" path="McAfee VirusScan Enterprise" />
<check type="registry" condition="exists" path="HKLM\SOFTWARE\MyCheck\TestMe" value="true" />
<check type="file" condition="versiongreaterorequal" path="%programfiles(x86)%\mcafee\virusscan enterprise\mcupdate.exe" value="8.7.0.659" />
Nested checks must be done as below:
<check type="logical" condition="or">
<check type="logical" condition="not">
<check type="file" />
</check>
<check type="registry" />
</check>
---
Stefan
More information about the wpkg-users
mailing list