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,迪安娜;)