传递命令行参数时避免生成CreateShortcut的引号

时间:2018-08-20 10:57:06

标签: javascript qt boost-program-options qt-installer

我们正在使用Qt-Installer分发我们的产品以进行内部部署。现在,我们的产品之一要求创建的指向程序的快捷链接需要使用几个固定的命令行参数来调用。 我们正在使用boost-program-options来解析命令行参数。

我的installscript.qs包含与以下内容相似的内容:

Component.prototype.createOperations = function()
{
    try {
        // call the base create operations function
        component.createOperations();
        if (installer.value("os") === "win") {
            component.addOperation("CreateShortcut", "@TargetDir@/bin/MyProgram.exe --Argument1=Value1 --Argument2=Value2", "@StartMenuDir@/MyProgram.lnk","workingDirectory=@TargetDir@/bin");
        }
    } catch (e) {
        print(e);
    }
}

然后可以毫无问题地生成开始菜单条目,但是不幸的是,生成的链接的目标被引号引起来,此处不允许使用引号。链接无效

从目标MyProgram除去引号后,将根据需要使用命令行参数来执行。

避免引号产生的正确方法是什么?

0 个答案:

没有答案