首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何处理在Inno设置中有空格的路径?

如何处理在Inno设置中有空格的路径?
EN

Stack Overflow用户
提问于 2017-11-14 08:51:50
回答 1查看 2.4K关注 0票数 4

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

Inno安装文件如下所示:

代码语言:javascript
运行
复制
[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“是作为windows服务执行java应用程序的服务包装器。

关键的部分是这条线:

代码语言:javascript
运行
复制
Filename: "{app}\nssm.exe"; \
     Parameters: "install demo ""{app}\jre\bin\java.exe"" -jar ""{app}\demo.jar"""

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

代码语言:javascript
运行
复制
DefaultDirName=c:\demo

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-14 13:34:50

问题是Inno安装程序和nssm的结合,它们都是用双引号转义双引号。这使得多个双引号成为必要。

解决方案:

代码语言:javascript
运行
复制
Filename: "{app}\nssm.exe"; Parameters: "install demo ""{app}\jre\bin\java.exe"" -jar """"""{app}\demo.jar"""""""

参见nssm文档一节“引证问题”。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47281316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档