0

我尝试在无人值守模式下在 myapp 中安装 PostgreSQL,因此在 myapp 的默认目录下创建了两个用于安装 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获取有效选项列表

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

4

1 回答 1

1

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

PostgresParams :=
  ExpandConstant('... --prefix "{app}\pginstall" ... --datadir "{app}\pgdata"');
于 2018-12-05T06:48:39.763 回答