aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/installer/ca.js
diff options
context:
space:
mode:
Diffstat (limited to 'installer/ca.js')
-rw-r--r--installer/ca.js41
1 files changed, 0 insertions, 41 deletions
diff --git a/installer/ca.js b/installer/ca.js
deleted file mode 100644
index 811d3016..00000000
--- a/installer/ca.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/* SPDX-License-Identifier: MIT
- *
- * Copyright (C) 2019 WireGuard LLC. All Rights Reserved.
- */
-
-function EvaluateWireGuardServices() {
- var inst = Session.Installer;
- var db = Session.Database;
- var view = db.OpenView("INSERT INTO `ServiceControl` (`ServiceControl`, `Name`, `Event`, `Component_`) VALUES(?, ?, ?, ?) TEMPORARY");
- var rec = inst.CreateRecord(4);
- var wsh = new ActiveXObject("WScript.Shell");
- var shl = new ActiveXObject("Shell.Application");
- var fso = new ActiveXObject("Scripting.FileSystemObject");
- var serviceKey = "HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services";
- var servicePrefix = "WireGuardTunnel$";
- var serviceKeyPrefix = serviceKey + "\\" + servicePrefix;
- var allowedNameFormat = new RegExp("^[a-zA-Z0-9_=+.-]{1,32}$");
- var msiOperators = new RegExp("[=+-]", "g");
- var index = 0;
-
- function insertServiceControl(serviceName) {
- rec.StringData (1/*ServiceControl*/) = serviceName.replace(msiOperators, "_") + (index++).toString();
- rec.StringData (2/*Name */) = serviceName;
- rec.IntegerData(3/*Event */) = 0x2/*msidbServiceControlEventStop*/ | 0x20/*msidbServiceControlEventUninstallStop*/ | 0x80/*msidbServiceControlEventUninstallDelete*/ | (shl.IsServiceRunning(serviceName) ? 0x1/*msidbServiceControlEventStart*/ : 0);
- rec.StringData (4/*Component */) = "WireGuardExecutable";
-
- view.Execute(rec);
- }
-
- insertServiceControl("WireGuardManager");
-
- var exe = wsh.Exec(fso.BuildPath(fso.GetSpecialFolder(1), "reg.exe") + " QUERY \"" + serviceKey + "\"");
- var lines = exe.StdOut.ReadAll().split(new RegExp("\r?\n", "g"));
- for (var i = 0; i < lines.length; ++i) {
- if (lines[i].length > serviceKeyPrefix.length && lines[i].substring(0, serviceKeyPrefix.length) == serviceKeyPrefix) {
- var tunnelName = lines[i].substring(serviceKeyPrefix.length);
- if (tunnelName.match(allowedNameFormat) != null)
- insertServiceControl(servicePrefix + tunnelName);
- }
- }
-}