Configuration Inno设置参数,在[Run]部分带引号

Configuration Inno设置参数,在[Run]部分带引号,configuration,inno-setup,Configuration,Inno Setup,我使用[Run]部分来修改一些支持命令行的commandmerit.exe编解码器的优点值 所以语法是: Commandmerit.exe "{E2B7DF46-38C5-11D5-91F6-00104BDB8FF9}" "0x800000" {E2B7DF46-38C5-11D5-91F6-00104BDB8FF9}是编解码器的CLSID,并且 0x800000是新优点的值,但当我将这一行放入[Run]部分时: Filename: "{app}\Commandmerit.exe"; Pa

我使用
[Run]
部分来修改一些支持命令行的
commandmerit.exe
编解码器的优点值

所以语法是:

Commandmerit.exe "{E2B7DF46-38C5-11D5-91F6-00104BDB8FF9}" "0x800000"  
{E2B7DF46-38C5-11D5-91F6-00104BDB8FF9}
是编解码器的CLSID,并且
0x800000
是新优点的值,但当我将这一行放入
[Run]
部分时:

Filename: "{app}\Commandmerit.exe"; Parameters: ""{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD}" "0x10000000""; WorkingDir: "{app}"
将显示流动错误:

参数上的引号不匹配或放错位置

如果我这样说:

Filename: "{app}\Commandmerit.exe"; Parameters: """{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD}" "0x10000000"""; WorkingDir: "{app}"
Filename: "{app}\Commandmerit.exe"; Parameters: """{{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD}}" "0x10000000"""; WorkingDir: "{app}"
将显示流动错误:

未知常数。。。。。。如果……,则使用两个连续的“{”

如果我这样说:

Filename: "{app}\Commandmerit.exe"; Parameters: """{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD}" "0x10000000"""; WorkingDir: "{app}"
Filename: "{app}\Commandmerit.exe"; Parameters: """{{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD}}" "0x10000000"""; WorkingDir: "{app}"

然后不会显示任何错误,但似乎
commandmerite.exe不理解参数,因此安装程序完成后,优点仍然保持不变。

我可以从您的问题中看出两个不同的方面

首先,
{
在inno设置中是否有特殊意义,因为它是常量的开始。因此,必须通过加倍来转义
{
,例如
{
。没有必要转义结束括号,因为只有当它是常量的开始时,它才被视为常量的结束

第二,您试图将
作为字符串的一部分传递,但在本例中,这似乎是不必要的,因为命令行参数中的
字符的目的是允许在单个参数中使用空格,但您的任何参数都没有空格

综上所述,您必须尝试这样编写命令:

[run]
Filename: "{app}\Commandmerit.exe"; Parameters: {{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD} 0x10000000; WorkingDir: "{app}"

要向参数添加引号,必须将每个引号对折,然后在整个值周围加引号

你的第二次尝试很接近,但你忘记了中间的几次

Filename: "{app}\Commandmerit.exe"; Parameters: """{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD}"" ""0x10000000"""; WorkingDir: "{app}"

感谢您的回复,但是exe的原始语法是:Commandmerit.exe“{E2B7DF46-38C5-11D5-91F6-00104BDB8FF9}”“0x800000”its带有commandmerite.exe的原始开发人员提供的“{…}”..”。如果您需要在参数本身中加引号,请将它们全部加倍:
参数:“{F8FC6C1F-DE81-41A8-90FF-0316FDD439FD}”“0x10000000”“;
这是我的第二个猜测…+1,迪安娜;)