BFI initiate scan fails

Hi, have a strange one here. I have a multiple action group that runs that first installs the latest v2.8.0.8000 scanner. It then executes (a copy) of the fixlet Initiate Software Scan, which fails on this line:

Command failed (Relevance substitution failed) appendfile {("<Attribute name=%22extensionToCache%22 value=%22" & it & "%22/>%0d%0a") of (lines of file (parameter "filemasks")) whose (length of it != 0)} (group:1779640,action:1779729)

However, i see in the bes client log file that the parameter was set with a value:

Command succeeded parameter "filemasks" = "C:\Program Files (x86)\BigFix Enterprise\BES Client\LMT\CIT\file_mask.txt" (group:1779640,action:1779729)

When I re-run the Initiate Software Scan again, it succeeds.

 Command succeeded appendfile <Attribute name="extensionToCache" value="*.exe"/>
<Attribute name="extensionToCache" value="*.sys"/>
<Attribute name="extensionToCache" value="*.com"/>
<Attribute name="extensionToCache" value="*.ear"/>
<Attribute name="extensionToCache" value="*.ocx"/>
 (action:1839161)
   Command succeeded appendfile <Attribute name="extensionToCache" value="*.swidtag"/> (action:1839161)
   Command succeeded appendfile <Attribute name="extensionToCache" value="*.slmtag"/> (action:1839161)

how does file_mask.txt get populated and why wouldn’t it be ready by the first run of the Initiate Scan Fixlet?

making a little more sense now.

My Multiple action groups steps are:

  1. Install scanner
  2. Install Catalog (doing this from a stanldone fixlet that I push rather than the action pushed by BFI)
  3. Run capacity Scan
  4. initiate Software Scan

Initiate Software Scan error above errors because the catalog has not be installed. The Catalog fixlet did not run because the relevancy is false:

if (name of operating system as lowercase starts with "win") then ((if (exists folder (it & "\LMT\CIT")) then (if (exists file (it & "\LMT\CIT\catalog_version.info")) then ((line 1 of file (it & "\LMT\CIT\catalog_version.info")) does not contain "2638234.0") else true) else false) of (if (version of client >= "9" as version) then (pathname of parent folder of data folder of client) else (pathname of parent folder of regapp "besclient.exe"))) else ((if (exists folder (it & "/LMT/CIT")) then (if (exists file (it & "/LMT/CIT/catalog_version.info")) then ((line 1 of file (it & "/LMT/CIT/catalog_version.info")) does not contain "2638234.0" ) else true) else false) of (if (version of client >= "9" as version) then (pathname of parent folder of data folder of client) else (pathname of parent folder of parent folder of client folder of site "actionsite")))

It’s false because the \LMT\CIT directory does not exist. Wouldn’t that get created and populated by the Install Scanner fixlet executing?

You are correct - one of the steps of the Action taken by the Install or Upgrade Scanner Fixlet is to create the sub-directory /LMT/CIT

parameter "homefolder" = "{(if (version of client >= "9" as version)
then (pathname of parent folder of data folder of client) 
else (pathname of parent folder of regapp "besclient.exe")) & "\LMT\CIT"}"
...
if {not exists folder (parameter "homefolder" as string)}
   waithidden cmd /c mkdir "{parameter "homefolder"}"
   continue if {exit code of action = 0}

If the Install or Upgrade Scanner Fixlet action succeeded, then there must be another explanation. Is the Catalog Fixlet currently relevant to that machine? Perhaps the Catalog Fixlet action ran before the Install or Upgrade Scanner Fixlet action?

I’ll have to find a box that completed the scanner install but didn’t run the catalog install to troubleshoot.

You were right, Turns out the Install Catalog fixlet was running after the Initiate Software Scan fixlet, so that would explain it.
Thanks for your help.