Используя QtIFW-1.5.0, я могу создать онлайн-установщик для моего приложения Qt в Windows. Установщик загружает соответствующий пакет с моего веб-сервера и выполняет некоторые операции, определенные в сценарии управления installscript.qs, например, запись некоторых ключей в реестр и создание ярлыка на рабочем столе со значком:
installscript.qs:
Component.prototype.createOperations = function()
{
try
{
// call the base create operations function
component.createOperations();
// Add some keys to registry;
var userProfile = installer.environmentVariable("USERPROFILE");
installer.setValue("UserProfile", userProfile);
var reg = installer.environmentVariable("SystemRoot") + "\\System32\\reg.exe";
var key= "HKCU\\Software\\Company\\Product";
component.addOperation("Execute", reg, "ADD", key, "/f");
component.addOperation("Execute", reg, "ADD", key, "/v", "productId", "/t", "REG_BINARY");
// Add a desktop shortcut with icon:
component.addOperation("CreateShortcut",
"@TargetDir@\\MyExecutable.exe",
"@UserProfile@\\Desktop\\MyExecutable.lnk",
"workingDirectory=@TargetDir@",
"iconPath=@TargetDir@\\MyIcon.ico");
}
catch (e)
{
print(e);
}
}
Хорошо, но еще один ключ, который мне нужно записать в реестр, это пакет VERSION NUMBER, определенный в файле конфигурации установщика config.xml в теге
<Version></Version>
Как я могу получить это значение из installscript.qs? Я прочитал — я сказал больше: изучил — документы Тип компонента QML а также установщик QML Type и я не нашел никакой ссылки на версию, кроме:
Тип установщика QML:
boolean versionMatches(string version, string requirement)
что для меня бесполезно, потому что вы должны знать версию, именно это я и нахожу.
Так что любая помощь будет оценена.
Ты можешь позвонить
var version = installer.value("ProductVersion");
чтобы получить версию, указанную в config.xml
файл.