В Qt Installer Framework все демки имеют 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>
Для этого нет опции, но вы можете создать интерфейс сценариев компонентов, чтобы установить каталог установки, как описано Вот.
Во-первых, в вашем 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\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>
Из Qt Installer Framework> = 3.0
Теперь вы можете использовать ApplicationsDir
переменная, и по умолчанию C:\Program Files
в Windows, /opt
в Linux и /Applications
на OS 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