(imported comment written by jgstew)
The link to adobe flash was correct, I was referring to this relevance:
(
not
exists
keys
whose
(value
"DisplayName"
of
it
as
string
starts
with
“Adobe Flash Player”
AND
value
"DisplayName"
of
it
as
string ends
with
“Plugin”
AND
(value
"DisplayVersion"
of
it
as
string
as
version) >=
“12.0.0.70”
as
version)
of
keys
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
of
x32 registry
)
You can write relevance like the above for whatever software you are trying to install so that the fixlet will only be applicable if it needs to be installed and then it will also provide accurate success or failure.
For the situation you are talking about where you are going to take a second action only if the first succeeds, I would suggest doing this in 2 separate fixlets and deploy both. As long as the relevance is written correctly, the second will only run after the first succeeds. They can be deployed together in a baseline.
BUT, if you really want to chain multiple “actions” in the same action script, but only continue with the 2nd part if the first succeeds, then you can just do the following: (continuing with the adobe flash example)
// Install flash
continue if {
exists
keys
whose
(value
"DisplayName"
of
it
as
string
starts
with
“Adobe Flash Player”
AND
value
"DisplayName"
of
it
as
string ends
with
“Plugin”
AND
(value
"DisplayVersion"
of
it
as
string
as
version) >=
“12.0.0.70”
as
version)
of
keys
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
of
x32 registry
}
// do the next stuff
The only reason that you should ever need exit codes are in cases where you are running something that it is not easy to write relevance to detect success or failure. This is extremely rare, but it does happen.