ada*_*ker 2 c++ qt qt-installer
在Qt安装程序框架中,所有演示都具有TargetDir(例如,用于Windows)将应用程序放置在其中的规范C:\InstallationDirectory.如何将其默认为Program Files?
<?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>
Run Code Online (Sandbox Code Playgroud)
有这个没办法,但您可以创建使用组件脚本界面来设置安装目录,如所描述这里.
首先,在您的packages/com.myorg.myapp/meta/package.xml文件中,包含对脚本文件的此引用.
<?xml version="1.0" encoding="UTF-8"?>
<Package>
...
<Script>installscript.qs</Script>
</Package>
Run Code Online (Sandbox Code Playgroud)
该installscript.qs文件package.xml应与以下目录位于同一目录中:
function Component()
{
var programFiles = installer.environmentVariable("ProgramFiles");
if (programFiles != "")
installer.setValue("TargetDir", programFiles + "/MyPath");
}
Run Code Online (Sandbox Code Playgroud)
现在安装程序框架将建议C:\Program Files\MyPath或C:\Program Files (x86)\MyPath根据需要.
最后,如果要允许带空格的安装路径(如C:\Program Files\MyPath),则需要config/config.xml通过添加以下行来专门启用它:
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
...
<AllowSpaceInPath>true</AllowSpaceInPath>
</Installer>
Run Code Online (Sandbox Code Playgroud)
从 Qt 安装程序框架 >= 3.0
您现在可以使用该ApplicationsDir变量,它会C:\Program Files在 Windows、/optLinux 和/ApplicationsOS X上默认使用。
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
...
<TargetDir>@ApplicationsDir@/InstallationDirectory</TargetDir>
</Installer>
Run Code Online (Sandbox Code Playgroud)
参考:http : //doc.qt.io/qtinstallerframework/scripting.html#applications-directory-on-windows