繁体   English   中英

如何在 Inno Setup 中处理带空格的路径?

[英]How to handle path with spaces in Inno Setup?

在使用 Inno Setup 安装我的程序时,我想允许带有空格的路径(例如program files )。 但是带有空格的路径让我安装的服务崩溃。

Inno Setup 文件如下所示:

[Setup]
AppName=Demo
DefaultDirName={pf}\demo

[Files]
Source: "bin\nssm.exe"; DestDir: "{app}"
Source: "bin\jdk1.8.0_152\jre\*"; DestDir: "{app}\jre"; Flags: recursesubdirs
Source: "build\libs\demo.jar"; DestDir: "{app}"

[Run]
Filename: "{app}\nssm.exe"; \
    Parameters: "install demo ""{app}\jre\bin\java.exe"" -jar ""{app}\demo.jar"""
Filename: "{app}\nssm.exe"; Parameters: "start demo"

“nssm.exe”是一个服务包装器,用于将 Java 应用程序作为 Windows 服务执行。

关键部分是这一行:

Filename: "{app}\nssm.exe"; \
     Parameters: "install demo ""{app}\jre\bin\java.exe"" -jar ""{app}\demo.jar"""

正如在这个问题/答案中所建议的,我尝试使用双双引号,但这没有帮助,服务仍然崩溃。 如果我将DefaultDirName更改为没有空格的路径,一切都会按预期工作。

DefaultDirName=c:\demo

我如何处理带有空格的路径?

问题是 Inno Setup 和 nssm 的组合,它们都用双引号转义双引号。 这使得需要多个双引号。

解决方案:

Filename: "{app}\nssm.exe"; Parameters: "install demo ""{app}\jre\bin\java.exe"" -jar """"""{app}\demo.jar"""""""

请参阅nssm 文档部分“引用问题”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM