vcpkg/scripts/ifw/maintenance.qs

47 lines
1.6 KiB
Plaintext
Raw Normal View History

// 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");
}
}