位于C:\ Program Files(X86)\

时间:2018-12-05 06:01:54

标签: postgresql inno-setup unattended-processing

我尝试以无人参与模式在myapp中安装PostgreSQL, 因此创建了两个文件夹,用于在myapp的默认Dir下安装postgresql作为(pgdata-pginstall),

***我尝试使用postgresql_9.6_x86和10.5_x86和10.5_x64和10.6_x86_x64和10.6_86的解决方案。 ***默认目录为:C:\ Program Files(X86)\ myapp

我将命令设置为无人值守模式,如下所示: 我在Pascal代码中使用了参数,以允许PostgreSQL使用以下预定义选项运行:

PostgresParams := ExpandConstant('--serverport 5555 --servicename PostgreSQL --superpassword xxxxxxxxxx --unattendedmodeui minimal --debuglevel 2 --mode unattended --prefix {app}\pginstall --datadir {app}\pgdata);

运行myapp.exe时,在安装必备软件的过程中,PostgreSQL在安装应用程序时出错,如下所示:

  

出现错误。预期的选项,但有“文件”。选项开始   带有前缀“-”的前缀使用--help可获得有效选项的列表

当我将安装目录Dir更改为C:\或D:\或任何目录而不是(C:\ Program Files(x86)\ myapp)时,PostgreSQL的无人值守安装开始并且运行正常。

1 个答案:

答案 0 :(得分:1)

安装路径通常包含空格(Program Files),因此您始终需要将其包装为双引号:

PostgresParams :=
  ExpandConstant('... --prefix "{app}\pginstall" ... --datadir "{app}\pgdata"');