You can't Run $App $Cer4 because those are variables, and kix will simply mash them together. The result is trying to run
 Code:
c:\appname\app\app.exe\\root\userconfigs$\<UserID>\Production\cer.ini
Note that there's no space between the command and the arg. Try this:
 Code:
$Cmd = $App + $Cer4
'Running: ' $Cmd @CRLF
Run $Cmd
Adding the debug statement shows that the command has no space, so change it to
 Code:
$Cmd = $App + ' ' + $Cer4
and it will work (and not violate the NoVarsInStrings rule).

Simple concept is to not Run 'A complex command string with args...', but to build $Cmd, bit by bit if necessary, then display it during development before actually running it. You could then copy it off the screen and paste it back into the command prompt to see what it chokes on. After fixing it (adding the space between command and arg in this case) you can comment-out the debug message.

In many of my scripts, I include the Msg() UDF library, which includes a Dbg() function. I define a Global var $DEBUG, and setting it to a non-zero value allows the debug messages to be displayed:
 Code:
Dbg('About to run: ' + $Cmd)
for example.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D