diff --git a/src/NeTrainSimInstaller/NeTrainSimInstaller.pro b/src/NeTrainSimInstaller/NeTrainSimInstaller.pro
index 681d9b0..8a03a46 100644
--- a/src/NeTrainSimInstaller/NeTrainSimInstaller.pro
+++ b/src/NeTrainSimInstaller/NeTrainSimInstaller.pro
@@ -1,13 +1,18 @@
TEMPLATE = aux
+
QT_INSTALL_FRAMEWORK_PATH = C:\Qt\Tools\QtInstallerFramework\4.6
+include(../mainconfig.pri)
+include(create_xml.pri)
+
+
!CONFIG(debug, debug|release) {
- DESTDIR_NeTrainSim = packages/com.VTTICSM.NeTrainSim/data
+ DESTDIR_NeTrainSim = packages/com.VTTICSM.NeTrainSim/data
DESTDIR_NeTrainSimGUI = packages/com.VTTICSM.NeTrainSimGUI/data
win32 {
- create_package.commands = $$quote("C:\Qt\6.4.2\msvc2019_64\bin\windeployqt.exe" --qmldir ../NeTrainSim/ $${DESTDIR_NeTrainSim})
- create_package.commands += $$quote("C:\Qt\6.4.2\msvc2019_64\bin\windeployqt.exe" --qmldir ../NeTrainSimGUI/ $${DESTDIR_NeTrainSimGUI})
+ create_package.commands = $$quote("C:\Qt\6.4.2\msvc2019_64\bin\windeployqt.exe" --qmldir ../NeTrainSim/ $${DESTDIR_NeTrainSim})
+ create_package.commands += $$quote("C:\Qt\6.4.2\msvc2019_64\bin\windeployqt.exe" --qmldir ../NeTrainSimGUI/ $${DESTDIR_NeTrainSimGUI})
}
macx {
@@ -18,12 +23,12 @@ QT_INSTALL_FRAMEWORK_PATH = C:\Qt\Tools\QtInstallerFramework\4.6
PRE_TARGETDEPS += create_package
DISTFILES += \
- config/config.xml \
- packages/com.VTTICSM.NeTrainSim/meta/package.xml \
+ config/config.xml.in \
packages/com.VTTICSM.NeTrainSim/meta/installscript.qs \
- packages/com.VTTICSM.NeTrainSimGUI/meta/package.xml \
+ packages/com.VTTICSM.NeTrainSim/meta/package.xml.in \
packages/com.VTTICSM.NeTrainSimGUI/meta/installscript.qs \
- ../data/*
+ ../data/* \
+ packages/com.VTTICSM.NeTrainSimGUI/meta/package.xml.in
# copy the manual and sample project to the installer
win32 {
@@ -45,7 +50,6 @@ QT_INSTALL_FRAMEWORK_PATH = C:\Qt\Tools\QtInstallerFramework\4.6
NeTrainSimInstaller.input = INPUT
NeTrainSimInstaller.output = $$INSTALLER
NeTrainSimInstaller.commands = $$QT_INSTALL_FRAMEWORK_PATH/bin/binarycreator.exe --offline-only -c config/config.xml -p packages ${QMAKE_FILE_OUT}
- #NeTrainSimInstaller.CONFIG += target_predeps no_link combine
win32 {
NeTrainSimInstaller.clean_commands += $$quote(del ..\NeTrainSim\NeTrainSimInstaller\packages\com.VTTICSM.NeTrainSim\data /Q)
NeTrainSimInstaller.clean_commands += & for /d %%x in (..\NeTrainSim\NeTrainSimInstaller\packages\com.VTTICSM.NeTrainSim\data\*) do rd /s /q "%%x"
@@ -58,3 +62,6 @@ QT_INSTALL_FRAMEWORK_PATH = C:\Qt\Tools\QtInstallerFramework\4.6
QMAKE_EXTRA_COMPILERS += NeTrainSimInstaller
}
+
+OTHER_FILES += \
+ config/installscript.qs
diff --git a/src/NeTrainSimInstaller/config/config.xml b/src/NeTrainSimInstaller/config/config.xml
index 4231b55..55a067d 100644
--- a/src/NeTrainSimInstaller/config/config.xml
+++ b/src/NeTrainSimInstaller/config/config.xml
@@ -9,4 +9,6 @@
icon.png
NeTrainSim
@ApplicationsDirX64@/NeTrainSim
+ @TargetDir@/NeTrainSimGUI.exe
+ installscript.qs
diff --git a/src/NeTrainSimInstaller/config/config.xml.in b/src/NeTrainSimInstaller/config/config.xml.in
new file mode 100644
index 0000000..d502667
--- /dev/null
+++ b/src/NeTrainSimInstaller/config/config.xml.in
@@ -0,0 +1,14 @@
+
+
+ NeTrainSim
+ $$VERSION
+ NeTrainSim Installer
+ Virginia Tech Transportation Institute - Center for Sustainable Mobility
+ ../../NeTrainSimGUI/resources/icon.png
+ ../../NeTrainSimGUI/resources/icon
+ icon.png
+ NeTrainSim
+ @ApplicationsDirX64@/NeTrainSim
+ @TargetDir@/NeTrainSimGUI.exe
+ installscript.qs
+
diff --git a/src/NeTrainSimInstaller/config/installscript.qs b/src/NeTrainSimInstaller/config/installscript.qs
new file mode 100644
index 0000000..22cf2da
--- /dev/null
+++ b/src/NeTrainSimInstaller/config/installscript.qs
@@ -0,0 +1,58 @@
+function Controller() {
+ //installer.autoRejectMessageBoxes();
+ installer.installationFinished.connect(function() {
+ //gui.clickButton(buttons.NextButton);
+ });
+}
+
+Controller.prototype.WelcomePageCallback = function() {
+ //gui.clickButton(buttons.NextButton, 3000);
+}
+
+Controller.prototype.CredentialsPageCallback = function() {
+ //gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.IntroductionPageCallback = function() {
+ //gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.ReadyForInstallationPageCallback = function() {
+ //gui.clickButton(buttons.CommitButton);
+}
+
+Controller.prototype.PerformInstallationPageCallback = function() {
+ //gui.clickButton(buttons.CommitButton);
+}
+
+Controller.prototype.FinishedPageCallback = function() {
+ var checkBoxForm = gui.currentPageWidget().LaunchCheckBoxForm;
+ if (checkBoxForm && checkBoxForm.launchCheckBox) {
+ checkBoxForm.launchCheckBox.checked = false;
+ }
+ //gui.clickButton(buttons.FinishButton);
+}
+
+Controller.prototype.TargetDirectoryPageCallback = function() {
+ var targetDir = installer.value("TargetDir");
+ if (installer.fileExists(targetDir + "/maintenancetool.exe")) {
+ var buttonPressed = QMessageBox["warning"]("os.QMessageBox", "Warning",
+ "A previous installation has been detected at " + targetDir +
+ ". Do you want to uninstall it?",
+ QMessageBox.Yes | QMessageBox.No);
+
+ if (buttonPressed == QMessageBox.Yes) {
+ installer.executeDetached(targetDir + "/maintenancetool.exe",
+ ["--uninstall"]);
+ } else {
+ //gui.clickButton(buttons.CancelButton);
+ }
+ }
+ else {
+ var targetWidget = gui.pageWidgetByObjectName("TargetDirectoryPage");
+ targetWidget.TargetDirectoryLineEdit.setText(targetDir);
+ //gui.clickButton(buttons.NextButton);
+ }
+}
+
+
diff --git a/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSim/meta/package.xml b/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSim/meta/package.xml
index 62b3c1c..1ec6c08 100644
--- a/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSim/meta/package.xml
+++ b/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSim/meta/package.xml
@@ -2,8 +2,8 @@
NeTrainSim
NeTrainSim Setup
- 0.1.0
- 2023-06-13
+ 0.1.1
+ 2023-07-23
diff --git a/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSim/meta/package.xml.in b/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSim/meta/package.xml.in
new file mode 100644
index 0000000..979218d
--- /dev/null
+++ b/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSim/meta/package.xml.in
@@ -0,0 +1,12 @@
+
+
+ NeTrainSim
+ NeTrainSim Setup
+ $$VERSION
+ $$RELEASEDATE
+
+
+
+
+ true
+
diff --git a/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSimGUI/meta/installscript.qs b/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSimGUI/meta/installscript.qs
index b9d3ffa..f9594c9 100644
--- a/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSimGUI/meta/installscript.qs
+++ b/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSimGUI/meta/installscript.qs
@@ -10,12 +10,18 @@ Component.prototype.createOperations = function()
if (systemInfo.productType === "windows") {
// Create a shortcut in the Start Menu
- component.addOperation("CreateShortcut", "@TargetDir@/NeTrainSimGUI.exe", "@StartMenuDir@/NeTrainSimGUI.lnk",
- "workingDirectory=@TargetDir@", "description=NeTrainSimGUI");
+ component.addOperation("CreateShortcut",
+ "@TargetDir@/NeTrainSimGUI.exe",
+ "@StartMenuDir@/NeTrainSimGUI.lnk",
+ "workingDirectory=@TargetDir@",
+ "description=NeTrainSimGUI");
// Create a shortcut on the Desktop
- component.addOperation("CreateShortcut", "@TargetDir@/NeTrainSimGUI.exe", "@DesktopDir@/NeTrainSimGUI.lnk",
- "workingDirectory=@TargetDir@", "description=NeTrainSimGUI");
+ component.addOperation("CreateShortcut",
+ "@TargetDir@/NeTrainSimGUI.exe",
+ "@DesktopDir@/NeTrainSimGUI.lnk",
+ "workingDirectory=@TargetDir@",
+ "description=NeTrainSimGUI");
}
}
diff --git a/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSimGUI/meta/package.xml b/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSimGUI/meta/package.xml
index dcce0c9..ed2f1fe 100644
--- a/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSimGUI/meta/package.xml
+++ b/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSimGUI/meta/package.xml
@@ -2,8 +2,8 @@
NeTrainSimGUI
NeTrainSimGUI Setup
- 0.1.0
- 2023-06-13
+ 0.1.1
+ 2023-07-23
diff --git a/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSimGUI/meta/package.xml.in b/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSimGUI/meta/package.xml.in
new file mode 100644
index 0000000..ace9752
--- /dev/null
+++ b/src/NeTrainSimInstaller/packages/com.VTTICSM.NeTrainSimGUI/meta/package.xml.in
@@ -0,0 +1,12 @@
+
+
+ NeTrainSimGUI
+ NeTrainSimGUI Setup
+ $$VERSION
+ $$RELEASEDATE
+
+
+
+
+ true
+