summaryrefslogtreecommitdiff
path: root/branding/qtinstaller
diff options
context:
space:
mode:
authorkali <kali@win>2020-09-25 16:49:46 +0200
committerkali kaneko (leap communications) <kali@leap.se>2020-09-25 20:42:50 +0200
commit5518645dfdfd1250dcabd98bda5d71d18eb4edcc (patch)
treed0ca2b3090aec17d43edb63a4383c63388ee2c27 /branding/qtinstaller
parent2ecd10efa37c6ccd04c43e663f88c4a6910b2a4b (diff)
[pkg] windows helper and qtinstaller
Diffstat (limited to 'branding/qtinstaller')
-rw-r--r--branding/qtinstaller/config/config.xml9
-rw-r--r--branding/qtinstaller/packages/root.win_x86_64/.gitignore1
-rw-r--r--branding/qtinstaller/packages/root.win_x86_64/meta/installscript.js75
-rw-r--r--branding/qtinstaller/packages/root.win_x86_64/meta/package.xml10
-rw-r--r--branding/qtinstaller/packages/root/meta/package.xml7
5 files changed, 102 insertions, 0 deletions
diff --git a/branding/qtinstaller/config/config.xml b/branding/qtinstaller/config/config.xml
new file mode 100644
index 0000000..4469d65
--- /dev/null
+++ b/branding/qtinstaller/config/config.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Installer>
+ <Name>DemoLibVPN</Name>
+ <Version>0.0.1</Version>
+ <Title>DemoLibVPN Installer</Title>
+ <Publisher>LEAP Encryption Access Project</Publisher>
+ <StartMenuDir>DemoLibVPN</StartMenuDir>
+ <TargetDir>@ApplicationsDir@/DemoLibVPN</TargetDir>
+</Installer>
diff --git a/branding/qtinstaller/packages/root.win_x86_64/.gitignore b/branding/qtinstaller/packages/root.win_x86_64/.gitignore
new file mode 100644
index 0000000..60baa9c
--- /dev/null
+++ b/branding/qtinstaller/packages/root.win_x86_64/.gitignore
@@ -0,0 +1 @@
+data/*
diff --git a/branding/qtinstaller/packages/root.win_x86_64/meta/installscript.js b/branding/qtinstaller/packages/root.win_x86_64/meta/installscript.js
new file mode 100644
index 0000000..691d1a4
--- /dev/null
+++ b/branding/qtinstaller/packages/root.win_x86_64/meta/installscript.js
@@ -0,0 +1,75 @@
+/*
+**
+** Copyright (C) 2020 LEAP Encryption Access Project.
+**
+*/
+
+function cancelInstaller(message)
+{
+ installer.setDefaultPageVisible(QInstaller.Introduction, false);
+ installer.setDefaultPageVisible(QInstaller.TargetDirectory, false);
+ installer.setDefaultPageVisible(QInstaller.ComponentSelection, false);
+ installer.setDefaultPageVisible(QInstaller.ReadyForInstallation, false);
+ installer.setDefaultPageVisible(QInstaller.StartMenuSelection, false);
+ installer.setDefaultPageVisible(QInstaller.PerformInstallation, false);
+ installer.setDefaultPageVisible(QInstaller.LicenseCheck, false);
+
+ var abortText = "<font color='red'>" + message +"</font>";
+ installer.setValue("FinishedText", abortText);
+}
+function majorVersion(str)
+{
+ return parseInt(str.split(".", 1));
+}
+
+function Component()
+{
+ // Check whether OS is supported.
+ // start installer with -v to see debug output
+
+ console.log("OS: " + systemInfo.productType);
+ console.log("Kernel: " + systemInfo.kernelType + "/" + systemInfo.kernelVersion);
+
+ var validOs = false;
+
+ if (systemInfo.kernelType === "winnt") {
+ if (majorVersion(systemInfo.kernelVersion) >= 6)
+ validOs = true;
+ } else if (systemInfo.kernelType === "darwin") {
+ if (majorVersion(systemInfo.kernelVersion) >= 11)
+ validOs = true;
+ } else {
+ if (systemInfo.productType !== "ubuntu"
+ || systemInfo.productVersion !== "20.04") {
+ QMessageBox["warning"]("os.warning", "Installer",
+ "Note that the binaries are only tested on Ubuntu 20.04",
+ QMessageBox.Ok);
+ }
+ validOs = true;
+ }
+
+ if (!validOs) {
+ cancelInstaller("Installation on " + systemInfo.prettyProductName + " is not supported");
+ return;
+ }
+
+ console.log("CPU Architecture: " + systemInfo.currentCpuArchitecture);
+
+ if ( systemInfo.kernelType === "winnt") {
+ installer.componentByName("root.win_x86_64").setValue("Default", "true");
+ installer.componentByName("root.win_x86_64").setValue("Virtual", "false");
+ }
+}
+
+Component.prototype.createOperations = function()
+{
+ component.createOperations()
+ component.addElevatedOperation("Execute", "@TargetDir@/helper.exe", "install", "UNDOEXECUTE", "@TargetDir@/helper.exe", "remove");
+ component.addElevatedOperation("Execute", "@TargetDir@/helper.exe", "start", "UNDOEXECUTE", "@TargetDir@/helper.exe", "stop");
+ if (systemInfo.productType === "windows") {
+ console.log("Adding shortcut entries");
+ component.addElevatedOperation("Mkdir", "@StartMenuDir@");
+ component.addElevatedOperation("CreateShortcut", "@TargetDir@/demolib-vpn.exe", "@StartMenuDir@/DemoLibVPN.lnk", "workingDirectory=@TargetDir@", "iconPath=%SystemRoot%/system32/SHELL32.dll", "iconId=2", "description=Start DemoLibVPN");
+ component.addElevatedOperation("CreateShortcut", "@TargetDir@/maintenancetool.exe", "@StartMenuDir@/uninstall.lnk", "workingDirectory=@TargetDir@", "iconPath=%SystemRoot%/system32/SHELL32.dll", "iconId=2", "description=Uninstall application");
+ }
+}
diff --git a/branding/qtinstaller/packages/root.win_x86_64/meta/package.xml b/branding/qtinstaller/packages/root.win_x86_64/meta/package.xml
new file mode 100644
index 0000000..11d630f
--- /dev/null
+++ b/branding/qtinstaller/packages/root.win_x86_64/meta/package.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Package>
+ <DisplayName>DemoLibVPN For Windows</DisplayName>
+ <Description>Install DemoLibVPN</Description>
+ <Version>0.0.1-1</Version>
+ <ReleaseDate>2020-09-15</ReleaseDate>
+ <Default>true</Default>
+ <RequiresAdminRights>true</RequiresAdminRights>
+ <Script>installscript.js</Script>
+</Package>
diff --git a/branding/qtinstaller/packages/root/meta/package.xml b/branding/qtinstaller/packages/root/meta/package.xml
new file mode 100644
index 0000000..b4ca25e
--- /dev/null
+++ b/branding/qtinstaller/packages/root/meta/package.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Package>
+ <DisplayName>DemoLibVPN</DisplayName>
+ <Version>0.0.1-1</Version>
+ <ReleaseDate>2020-09-15</ReleaseDate>
+ <Default>script</Default>
+</Package>