如何从 Inno Setup 脚本中的某个目录执行命令

How to execute a command from a certain directory in Inno Setup script

我有多个 cmd 命令是关于安装 npm 组件的。我不想为此目的使用批处理文件。我如何通过 Inno Sectum 脚本中的 Exec 函数执行这些命令,我​​希望安装程序等到这些命令被执行?

以下是一些我希望执行的示例命令,它们也需要在指定目录中执行:

npm install forever-monitor
npm install ip

Inno Setup Exec functionWorkingDir 作为第三个参数。

所以你可以做到

Exec('npm', 'install forever-monitor', ExpandConstant('{pf}\nodejs'),
     SW_HIDE, ewWaitUntilTerminated, ResultCode);

虽然在这种情况下,我会质疑 npm 是否真的需要从其目录中执行。很可能,您真正需要的只是使用完整路径执行 npm

Exec(ExpandConstant('{pf}\nodejs\npm'), 'install forever-monitor', '',
     SW_HIDE, ewWaitUntilTerminated, ResultCode);