It appears that on 24.10.X the analyzer does not have a built-in rule for static-value invokes to workflows that don’t exist.
Repro:
- Create workflow1.
- Create workflow2, add an invoke to workflow1 in it
- Delete workflow1
- Run workflow analyzer/validate project/publish
Expected result:
At least a warning that a workflow invokes something that doesn’t exist (or can’t be validated to exist).
EDIT: potential regression
As noted by @J0ska in later post, this was an error on Invoke activity in earlier invoke versions, but no longer is the case.
Actual result:
No message.
While there are caveats to this, there is definite room for rules like:
-
Invoke Workflow xaml file with relative path not found (default level: error, condition: const string as the xaml path (not a variable), path is relative).
This one is a clear candidate for a new rule, as that’s just straight up a missing workflow. -
Invoke Workflow xaml file path passed as a variable (default level: warning, condition: variable used as the xaml path).
This is IMHO a good candidate for a warning, as there are already similar rules that guide away from “you will most likely shoot yourself in the foot in the long term if you do this, but your call”. -
Invoke Workflow xaml file path should not be an absolute path (default level: ?, condition: const string as the xaml path (not a variable), path is absolute).
This IMHO should also be at least a warning (preferably an error, or even critical by default), as it both can easily break and introduces an attack vector for the automation itself (quite literally a “go there and invoke whatever code you will find from an arbitrary path” - big no no).
Especially #1 and #3 are pretty clear cut cases, #2 is just a nice bonus (since all components for that rule would be needed for other ones already).



