Relevance clause must be surrounded by { and }

(imported topic written by ahousten91)

I used the Windows Software Distribution Wizard to create a package for installing new 3rd party software. The package is failing on multiple clients. Using the Fixlet Debugger, I found it’s failing on this item:

wait “{pathname of system folder & “\msiexec.exe”}” /i “{(pathname of client folder of current site) & “__Download\BalsamiqMockups_Ver2221_R1.msi”}” /qn /norestart

with the error: Relevance clauses must be surrounded by { and } guards

The thing I don’t understand is that this line in the action script hasn’t been modified from what the Wizard created. So why is it failing?

(imported comment written by Tim.Rice)

The Relevance LOOKS correct, and from the way you worded your question, I assume it is working on SOME of your endpoints and not on others.

Are there any similarities between the machines that it is failing on?

  • OS?
  • Patches Applied/Missing?
  • Languages?

(imported comment written by ahousten91)

I’ve tried it on 3 different machines. All failed. They are all Win7. It’s the only client OS we run.

(imported comment written by Tim.Rice)

I’m in the office now and just re-read your original Message.

You are using the “Software Distribution Wizard”.

According to IBM
the Windows Software Distribution Wizard is being deprecated.
Have you tried using the Software Distribution Dashboard? It creates a much more robust and flexible Task. It actually builds a .BAT file on the fly that installs the software and records any output to a Software Distribution Log on each target.

BTW: I get the same error messages when I copy your WAIT line into my Fixlet Debugger. I also get the same error when I try to generate a Fixlet using the Wizard with a different MSI file here. I suspect it’s something changed in how the newer clients handle the inline relevance. It could also be why they deprecated the Wizard in favor of the Dashboard.

(imported comment written by ahousten91)

But you only get the Dashboard if you have Lifecycle Management. We don’t have that.

(imported comment written by jgstew)

This fails in the debugger because it cannot run the relevance (
pathname of client folder of current site
)

This is not the reason your task is failing when deployed through the console, it is something else.

(imported comment written by Techadmin)

@jgstew

Fixlet debugger - Debug - Evaluate using - Local client evaluator

Activate that, it should work. But this is not the solution for the OP’s query.