Important Notice: On February 29th, this community was put into read-only mode. All existing posts will remain but customers are unable to add new posts or comment on existing. Please feel to join our Community Discord for any questions and discussions.

Installer requires full path for output log

I am trying to deploy an installer (made with InstallAware) that allows setting a command line parameter to write a log file:

/l=<logfile.ext>

Unfortunately, this parameter expects the logfile name to be a full path as the parameter is passed on to a child process running from a temporary folder.

As far as I know, for PDQ Deploy to automatically pick up the log file, it needs to be in the PDQDeployRunner directory and called output.log.

I tried setting the parameter to /l=output.log or /l="%cd%\output.log", but that didn't work.
There also doesn't seem to be a built-in PDQ variable pointing to the runner's working directory.

So my questions seems to boil down to:
Is there a way to specify the absolute path of the runner directory in the parameters of an install step?

Thanks for your help!

1

Comments

3 comments
Date Votes
  • Official comment

    Try using  /l=.\output.log as some installer technologies will interpret . as the current directory. If that doesn't work try setting just the file name like so /l=output.log as that can also be taken to use the current directory.

  • Strange, I would have expected /l="%cd%\output.log" to work. The absolute path starts here: C:\Windows\AdminArsenal\PDQDeployRunner\service-1\exec

    As long as you only have 1 instance of Deploy in your network, it shouldn't go above service-1. However, there are situations such as stuck deployments that can cause it to increment. If the absolute path works, I recommend that you keep trying to get something like /l="%cd%\output.log" to work.

    1
  • It seems like this environment variable is not expanded when calling the installer file.

    The installer unpacks another exe to a temporary directory and executes it. I checked the command line of the child process and the argument passed to the child still contains the /l="%cd%\output.log" part. But even if the child process expands the variable before creating the log file, it will no longer point to the PDQDeployRunner directory, because the working directory of the child process is a temporary folder.

    1