Тихая установка Qt55 Enterprise на Windows
Редактировать: С помощью поддержки Qt я решил, как автоматизировать эти 2 части корпоративного установщика Qt. ниже приведен скрипт вызовов.
Я пытаюсь установить Qt 5.5.1 Enterprise в Windows 8.1 и Windows 10 без вывода сообщений, используя переключатель «--script», чтобы вызвать javascript, который автоматизирует пользовательский интерфейс, но не может прочитать все элементы пользовательского интерфейса, чтобы прочитай это.
У меня есть 2 страницы контроллера, которые работают не так, как стандартный установщик Qt, в частности, «CredentialsPageCallback», для которого требуется установить флажок перед вызовом «gui.clickButton (buttons.NextButton);» Он также поддерживает новую страницу обратного вызова под названием «ManualLicensePageCallback», на которой вообще нет документации. Вот сценарий, который я пишу. Мне нужно имя флажка на странице «Учетные данные» и два вызова «Редактирование строки» на странице руководства:
// Emacs mode hint: -*- mode: JavaScript -*-
function Controller() {
//installer.autoRejectMessageBoxes();
installer.installationFinished.connect(function() {
gui.clickButton(buttons.NextButton);
})
}
Controller.prototype.WelcomePageCallback = function() {
gui.clickButton(buttons.NextButton);
}
Controller.prototype.CredentialsPageCallback = function() {
gui.pageWidgetByObjectName("CredentialsPage").enterManuallyCheckBox.click();
gui.clickButton(buttons.NextButton);
}
Controller.prototype.ManualLicensePageCallback = function() {
var page = gui.pageWidgetByObjectName("ManualLicensePage");
page.LicenseeLineEdit.setText("NAME");
page.Qt5KeyLineEdit.setText("REG KEY");
gui.clickButton(buttons.NextButton);
}
Controller.prototype.IntroductionPageCallback = function() {
gui.clickButton(buttons.NextButton);
}
Controller.prototype.TargetDirectoryPageCallback = function() {
gui.currentPageWidget().TargetDirectoryLineEdit.setText("C:\\Path\\To\\Install");
gui.clickButton(buttons.NextButton);
}
Controller.prototype.ComponentSelectionPageCallback = function() {
var widget = gui.currentPageWidget();
//BY DEFAULT, THE DEFAULT INSTALL METHOD IS SELECTED
//USE THESE WIDGET CALLS TO DESELECT ANY ITEMS
//widget.deselectAll();
//widget.deselectComponent("qt.55.win64_msvc2013_64");
//widget.deselectComponent("qt.55.qt3d");
//widget.deselectComponent("qt.55.qtquick1");
//widget.deselectComponent("qt.55.qtwebengine");
//widget.deselectComponent("qt.55.qtquickcontrols");
//widget.deselectComponent("qt.55.qtscript");
//widget.deselectComponent("qt.55.qtcanvas3d");
//widget.deselectComponent("qt.55.qtlocation");
//widget.deselectComponent("qt.tools");
//widget.deselectComponent("qt.extras");
//widget.deselectComponent("qt.enterpriseaddons");
gui.clickButton(buttons.NextButton);
}
Controller.prototype.LicenseAgreementPageCallback = function() {
gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true);
gui.clickButton(buttons.NextButton);
}
Controller.prototype.StartMenuDirectoryPageCallback = function() {
gui.clickButton(buttons.NextButton);
}
Controller.prototype.ReadyForInstallationPageCallback = function() {
gui.clickButton(buttons.NextButton);
}
Controller.prototype.FinishedPageCallback = function() {
var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm
if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) {
checkBoxForm.launchQtCreatorCheckBox.checked = false;
}
gui.clickButton(buttons.FinishButton);
}