var targetDirectoryPage = null; function Component() { component.loaded.connect(this, this.installerLoaded); // gui.pageWidgetByObjectName("LicenseAgreementPage").entered.connect(changeLicenseLabels); } changeLicenseLabels = function() { page = gui.pageWidgetByObjectName("LicenseAgreementPage"); page.AcceptLicenseLabel.setText("Yes I do!"); page.RejectLicenseLabel.setText("No I don't!"); } Component.prototype.installerLoaded = function() { installer.setDefaultPageVisible(QInstaller.TargetDirectory, false); installer.addWizardPage(component, "TargetWidget", QInstaller.TargetDirectory); targetDirectoryPage = gui.pageWidgetByObjectName("DynamicTargetWidget"); targetDirectoryPage.windowTitle = "Choose Installation Directory"; targetDirectoryPage.description.setText("select where to install"); targetDirectoryPage.targetDirectory.setText(installer.value("TargetDir")); targetDirectoryPage.targetChooser.released.connect(this, this.targetChooserClicked); } Component.prototype.targetChooserClicked = function() { var dir = QFileDialog.getExistingDirectory("", targetDirectoryPage.targetDirectory.text) + "/BME" ; //var programFiles = installer.environmentVariable("ProgramFiles") + "/BME"; doesnt work because of (\ and /) var programFilesx32 = "C:/Program Files (x86)/BME"; var programFilesx64 = "C:/Program Files/BME"; var programFiles = "C:/Program Files" var currentWidget = gui.currentPageWidget(); targetDirectoryPage.targetDirectory.setText(dir); if (dir.startsWith(programFiles)) { targetDirectoryPage.warning.setText("

Please select another path (C:/Program Files is not allowed).

"); if (currentWidget != null) { currentWidget.complete = false; } } else { currentWidget.complete = true; targetDirectoryPage.warning.setText(""); } }