cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
yBother
Level 2

Installshield 2018 R2 Unable to get Detect / Exit Conditions to work for exe Packages


Unable to get Detect / Exit Conditions to work for Packages

I just cannot figure out how to achieve following:

Only install my package (exe) when it's not installed already
Abort setup when package execution fails

Seems to be pretty basic and exactly what Detection / Abort Conditions seem to exist for.

So what I do is following:

Create Registry key xyz in myPackage.exe if it succeeded, otherwise skip creating registry xyz

and use that for the Detect Conditon and configure Prompting for ExitCondition.

 

 

<Exe>
<UIProperties>
<Id>{7A209608-5253-49D4-A016-5AEBF77080E9}</Id>
<DisplayName>ID_STRING51</DisplayName>
</UIProperties>
<Package Name="[LocalAppDataFolder]Downloaded Installations">
<Folder Name="{34E138B0-8B12-4099-B097-B148690BF00D}" Location="Stream">
<File Name="myPackage.exe" LinkPath="&lt;PATH_TO_SOURCE_FILES&gt;\Bin"/>
</Folder>
</Package>
<Property Name="Elevation">Required</Property>
<Operation Name="Install" Target="myPackage.exe">
<Property Name="ExitBehavior">DetectPrompt</Property>
<CommandLine>Install</CommandLine>
<Property Name="RebootRequest">DetectIgnore</Property>
</Operation>
<Detect>
<When>
<All>
<RegistryExists Check64Bit="False" Key="HKCU\Software\keyxyz"/>
</All>
</When>
</Detect>
<Operation Name="Remove" Target="myPackage.exe">
<Property Name="ExitBehavior">DetectPrompt</Property>
<Property Name="RebootRequest">DetectIgnore</Property>
<CommandLine>Remove</CommandLine>
</Operation>
<Events>
<OnParcelConfiguring/>
<OnParcelConfigured/>
</Events>
</Exe>

 

 

Labels (1)
0 Kudos
(0) Replies