aboutsummaryrefslogtreecommitdiff
path: root/scripts/ifw
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-10-16 17:17:28 -0700
committerRobert Schumacher <roschuma@microsoft.com>2017-10-16 17:17:28 -0700
commitee2831c548b54cdccf064663b3fffda5d6a4c6b8 (patch)
tree70390dc6e2e22877cb6ede677076c8005fab8a1c /scripts/ifw
parentd88f53de9c284cfc67ba21707d60a44ba41ede8a (diff)
parent374253cb1b12a60925693130132f1a6ab6c3a83a (diff)
downloadvcpkg-ee2831c548b54cdccf064663b3fffda5d6a4c6b8.tar.gz
vcpkg-ee2831c548b54cdccf064663b3fffda5d6a4c6b8.zip
Merge from master
Diffstat (limited to 'scripts/ifw')
-rw-r--r--scripts/ifw/maintenance.qs46
1 files changed, 46 insertions, 0 deletions
diff --git a/scripts/ifw/maintenance.qs b/scripts/ifw/maintenance.qs
new file mode 100644
index 000000000..5cdad7225
--- /dev/null
+++ b/scripts/ifw/maintenance.qs
@@ -0,0 +1,46 @@
+// constructor
+function Component()
+{
+ installer.installationStarted.connect(this, Component.prototype.onInstallationStarted);
+}
+
+Component.prototype.onInstallationStarted = function()
+{
+ if (component.updateRequested() || component.installationRequested()) {
+ if (installer.value("os") == "win")
+ component.installerbaseBinaryPath = "@TargetDir@/tempmaintenancetool.exe";
+ installer.setInstallerBaseBinary(component.installerbaseBinaryPath);
+ }
+}
+
+Component.prototype.createOperations = function()
+{
+ // call the base createOperations
+ component.createOperations();
+
+ // only for windows online installer
+ if ( installer.value("os") == "win" && !installer.isOfflineOnly() )
+ {
+ // shortcut to add or remove packages
+ component.addOperation( "CreateShortcut",
+ "@TargetDir@/maintenancetool.exe",
+ "@StartMenuDir@/Manage vcpkg.lnk",
+ " --manage-packages");
+ // shortcut to update packages
+ component.addOperation( "CreateShortcut",
+ "@TargetDir@/maintenancetool.exe",
+ "@StartMenuDir@/Update vcpkg.lnk",
+ " --updater");
+ }
+
+ // create uninstall link only for windows
+ if (installer.value("os") == "win")
+ {
+ // shortcut to uninstaller
+ component.addOperation( "CreateShortcut",
+ "@TargetDir@/maintenancetool.exe",
+ "@StartMenuDir@/Uninstall vcpkg.lnk",
+ " --uninstall");
+ }
+}
+