2

在 Qt 安装程序框架中,所有的演示都有TargetDir规范(对于 Windows)将应用程序放置在例如C:\InstallationDirectory. 我怎样才能让它默认为程序文件?

<?xml version="1.0" encoding="UTF-8"?>
<Installer>
    <Name>Your application</Name>
    <Version>1.2.3</Version>
    <Title>Your application Installer</Title>
    <Publisher>Your vendor</Publisher>
    <StartMenuDir>Super App</StartMenuDir>
    <TargetDir>@RootDir@InstallationDirectory</TargetDir>
</Installer>
4

2 回答 2

7

没有此选项,但您可以使用 Component Scripting 界面来设置安装目录,如此所述。

首先,在您的packages/com.myorg.myapp/meta/package.xml文件中,包含对脚本文件的此引用。

<?xml version="1.0" encoding="UTF-8"?>
<Package>
    ...
    <Script>installscript.qs</Script>
</Package>

installscript.qs文件应与 位于同一目录中package.xml,应如下所示:

function Component()
{
     var programFiles = installer.environmentVariable("ProgramFiles");
     if (programFiles != "")
         installer.setValue("TargetDir", programFiles + "/MyPath");
}

现在安装程序框架将根据需要建议C:\Program Files\MyPathC:\Program Files (x86)\MyPath

最后,如果您想允许安装路径带有空格(如),您需要通过添加以下行C:\Program Files\MyPath来专门启用它:config/config.xml

<?xml version="1.0" encoding="UTF-8"?>
<Installer>
     ...
     <AllowSpaceInPath>true</AllowSpaceInPath>
</Installer>
于 2014-12-17T08:54:40.007 回答
6

从 Qt 安装程序框架 >= 3.0

您现在可以使用该ApplicationsDir变量,它将默认用于C:\Program FilesWindows、/optLinux 和/ApplicationsOS X。

<?xml version="1.0" encoding="UTF-8"?>
<Installer>
    ...
    <TargetDir>@ApplicationsDir@/InstallationDirectory</TargetDir>
</Installer>

参考:http ://doc.qt.io/qtinstallerframework/scripting.html#applications-directory-on-windows

于 2018-06-18T22:38:40.407 回答