Action issues:

(imported topic written by NelsonEW)

Good morning,

I am trying to use Big Fix to initiate a process from a locally developed application…I started with an action that just pushed the app, and that worked for the most part, however, permissions weren’t being set and the app, which is designed to delete files after they’re created, could not do so. I added the line that says “failed” below, at the end of the action to change the permissions so the app could delete the file. It works fine on 2 out of 22 machines in our pilot, but errors as below on the other 20. It works every time from the debugger. When I look at one of the PCs that if errors on, I do not see the result of any of the lines prior to the one that was failed, there is no c:\program files\issi folder on any of them which is the first step after extraction…why would it not do any of the other steps and fail on a later step? I’m completely boggled.

download http://bigfix.fras.frb.org:52311/Uploads/a9ee5fcbf846a032ffc8f3c685a122ad805873c0/test.ActionProcessor.tmp

continue if {(size of it = 132208 AND sha1 of it = “a9ee5fcbf846a032ffc8f3c685a122ad805873c0”) of file “test.ActionProcessor.tmp” of folder “__Download”}

extract test.ActionProcessor.tmp

if {not exist folder “c:\Program Files\ISSI”}

waithidden c:\windows\system32\cmd.exe /c mkdir “C:\Program Files\ISSI”

endif

if {not exist folder “c:\Program Files\ISSI\QA”}

waithidden c:\windows\system32\cmd.exe /c mkdir “C:\Program Files\ISSI\QA”

endif

if {not exist file “c:\Program Files\ISSI\QA\test.ActionProcessor.exe”}

copy __download\test.ActionLibrary.dll “\Program Files\ISSI\QA\FRB.ActionLibrary.dll”

copy __download\test.ActionProcessor.exe “\Program Files\ISSI\QA\FRB.ActionProcessor.exe”

copy __download\test.ActionProcessor.exe.config “\Program Files\ISSI\QA\FRB.ActionProcessor.exe.config”

copy __download\test.Core.dll “\Program Files\ISSI\QA\FRB.Core.dll”

copy __download\test.ISSI.ActionLibrary.dll “\Program Files\ISSI\QA\FRB.ISSI.ActionLibrary.dll”

copy __download\test.Logging.dll “\Program Files\ISSI\QA\FRB.Logging.dll”

copy __download\test.Logging.log4net.dll “\Program Files\ISSI\QA\FRB.Logging.log4net.dll”

copy __download\test.Processing.dll “\Program Files\ISSI\QA\FRB.Processing.dll”

copy __download\log4net.config “\Program Files\ISSI\QA\log4net.config”

copy __download\log4net.dll “\Program Files\ISSI\QA\log4net.dll”

endif

waithidden c:\windows\system32\cmd.exe /c “c:\program files\issi\QA\test.ActionProcessor.exe” /ag:FileScan

if {exists file “c:\program files\issi\qa\error.log”}

waithidden cmd.exe /C cacls.exe “C:\program files\issi\qa\error.log” /E /G Users:F

endif

Failed if {exists file whose(name of it as lowercase contains “.issi”) of folder “c:\program files\issi”}

waithidden cmd.exe /C cacls.exe “c:\program files\issi*.issi” /E /G Users:F

endif

(imported comment written by MrFixit)

We’ve run into this a number of times and it can appear to be random but there are some factors that trigger the “parse” or “scan” of the action before it runs and if there is a relevance statement that will return an error you need to adjust that statement to avoid that potential error. Page 24 of the TEM 8.1 Action Guide discusses the situtaion somewhat. We made it a practice to always write the relevance such to avoid and error condition.

from the guide:

"In this Windows example, the output file doesn’t exist until the script is actually executed. The prefetch parser will notice that the file doesn’t exist when it checks for its contents. It will then throw an error and terminate the Action. However, you can adjust the if-condition to allow the prefetch pass to succeed. One technique is to use the “not active of action” expression which always returns TRUE during the prefetch pass. You can use this to avoid the problematic block during the pre-parse:

wait chkntfs c: > c:\output.txt

if {not active of action OR (line 2 of file “c:\output.txt” as lowercase contains “not dirty”)}

regset “HKLM\Software\MyCompany” “Last NTFS Check”=“OK”

else

regset “HKLM\Software\MyCompany” “Last NTFS Check”=“FAIL”

endif

"

(imported comment written by NelsonEW)

Who’d have thought of looking in the guide?

THANKS! Issue resolved!