diff options
| author | Konstantin Podsvirov <konstantin@podsvirov.pro> | 2017-10-05 21:24:32 +0300 |
|---|---|---|
| committer | Konstantin Podsvirov <konstantin@podsvirov.pro> | 2017-10-05 21:24:32 +0300 |
| commit | 6f763c5ca830c9e461e106c63959a60d33eb5e5b (patch) | |
| tree | 83b31ab9de2ac3e0bff6a783642b417a201bf643 /scripts | |
| parent | d8507cd159f8de6ae174cae9894c926f75fe50d7 (diff) | |
| download | vcpkg-6f763c5ca830c9e461e106c63959a60d33eb5e5b.tar.gz vcpkg-6f763c5ca830c9e461e106c63959a60d33eb5e5b.zip | |
[vcpkg-export-ifw] Maintenance Tool
Install maintenance tool and create Start menu shortcuts
to manage, update and uninstall packages.
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/ifw/maintenance.qs | 46 |
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"); + } +} + |
