Check installed version before update

I have just found and purchased Paquet 3. It looks like it will be a great help for me. I have one requirements that I need. For most of my updates there is a minimum version that it can be applied to. For example if my minimum is 1.61.5200 then the update should not be applied to 1.60.5125.

I have not seen how to do this. I see conditional actions but I am not sure how they would apply. At the moment I would need to wrap one of my utilities inside the package and run it at the end of the extraction. This works of course since my utility can check for the version of the target folder and executable. I would like to remove the reliance on running my utility and just use Paquet 3. Perhaps someone can help?

Thanks

Jon
ScruffyDuck Software
Microsoft MVP

Custom actions will apply in your case.
For instance, you can extract version information of an EXE file with Get File Information as explained at:
http://www.installpackbuilder.com/help/get-file-information

Use 3 or 4 custom actions Get File Information with InfoToGet set to extract a file version field each time (MajorVersion, Minor, etc).
Then compare each field to your minimum version reference.

This could lead to something like this:

Here is the list of custom actions you can copy and paste in the Paquet Builder custom action editor with “Paste Block”:

    <?xml version="1.0" encoding="utf-8"?>
<pbgroup><action GUID="K08TO"><type>TModVarInfo</type><desc>Set &quot;%DONOTINSTALL%&quot; to this value &quot;0&quot;</desc><img>10</img><prop><Value>0</Value><Variable>%DONOTINSTALL%</Variable></prop></action><action GUID="4VBUR"><type>TGetFileInfoInfo</type><desc>Get major version of &quot;%PATHTOEXE%&quot; into &quot;%FMAJOR%&quot;</desc><img>33</img><prop><ReturnVariable>%FMAJOR%</ReturnVariable><InfoToGet>fiGetFileMajorVersion</InfoToGet><FileName>%PATHTOEXE%</FileName></prop></action><action GUID="KUNB5"><type>TGetFileInfoInfo</type><desc>Get minor version of &quot;%PATHTOEXE%&quot; into &quot;%FMINOR%&quot;</desc><img>33</img><prop><ReturnVariable>%FMINOR%</ReturnVariable><InfoToGet>fiGetFileMinorVersion</InfoToGet><FileName>%PATHTOEXE%</FileName></prop></action><action GUID="IK2L0"><type>TCheckValInfo</type><desc>If %FMAJOR% &gt; 1 then</desc><img>20</img><prop><Variable1>%FMAJOR%</Variable1><Variable2>1</Variable2><Operator>GreaterThan</Operator></prop></action><action GUID="EDV3D"><type>TModVarInfo</type><desc>Set &quot;%DONOTINSTALL%&quot; to this value &quot;1&quot;</desc><img>10</img><prop><Value>1</Value><Variable>%DONOTINSTALL%</Variable></prop></action><action GUID="6ABSL"><type>TCheckElseValInfo</type><desc>Else</desc><img>20</img><prop/></action><action GUID="J8RVE"><type>TCheckValInfo</type><desc>If %FMINOR% &gt; 60 then</desc><img>20</img><prop><Variable1>%FMINOR%</Variable1><Variable2>60</Variable2><Operator>GreaterThan</Operator></prop></action><action GUID="ODQMJ"><type>TModVarInfo</type><desc>Set &quot;%DONOTINSTALL%&quot; to this value &quot;1&quot;</desc><img>10</img><prop><Value>1</Value><Variable>%DONOTINSTALL%</Variable></prop></action><action GUID="JM3OL"><type>TEndValInfo</type><desc>End If</desc><img>20</img><prop/></action><action GUID="LIGQH"><type>TEndValInfo</type><desc>End If</desc><img>20</img><prop/></action><action GUID="536A7"><type>TCommentInfo</type><desc>&lt;FONT color=&quot;clGreen&quot;&gt;&lt;I&gt;Check if install or not&lt;/I&gt;&lt;/FONT&gt;</desc><img>30</img><prop><Comment>Check if install or not</Comment></prop></action><action GUID="Q6568"><type>TCheckValInfo</type><desc>If %DONOTINSTALL% = 1 then</desc><img>20</img><prop><Variable1>%DONOTINSTALL%</Variable1><Variable2>1</Variable2><Operator>Equals</Operator></prop></action><action GUID="K927N"><type>TExitInfo</type><desc>Exit</desc><img>13</img><prop/></action><action GUID="LP8PB"><type>TEndValInfo</type><desc>End If</desc><img>20</img><prop/></action></pbgroup>

Thanks very much I will certainly try this out.