使用 Qt 安装程序安装后无法将 .bat 文件获取到 运行

Cannot get .bat file to run after installation with Qt installer

我需要 运行 安装程序完成后插入 postgres windows 服务的 bat 文件,以便我的数据库有一个活动服务器(我使用的是静态 postgres)。 bat 文件 运行 是 pg_ctl 注册命令。

根据 Qt 安装程序文档,installationFinished 是您用来发出方法的方法,一旦安装程序通过控制器或包安装脚本完成,这些方法将 运行。我不确定我是否正确使用它,因为在安装程序 运行 之后 bat 文件没有 运行。这个功能如何正确使用?

我在控制器脚本中试过:

Controller.prototype.installationFinished = function(){
    installer.executeDetatched("C:\Program Files (x86)\PostgreSQL\9.6\pgserv.bat", new Array(), "@homeDir@")
}

也在组件安装脚本中尝试过:

Component.prototype.installationFinished = function(){
component.addElevatedOperation("Execute", "cmd", "/C", "C:\Program Files (x86)\PostgreSQL\9.6\pgserv.bat");
}

bat 文件要 运行 post 安装,因为 bat 文件上的命令需要 postgres\bin 文件夹,该文件夹已添加到 PATH 安装后的变量。

非常感谢大家的帮助! :)

试试这个:

Component.prototype.installationFinished = function()
{
    QDesktopServices.openUrl("file:///" + installer.value("TargetDir") + 
    "/file.bat");     
}