My root component has script, which looks like this:
function Component()
{
installer.installationFinished.connect(this, register);
installer.uninstallationStarted.connect(this, unregister);
//installer.aboutCalculateComponentsToUninstall.connect(this, unregister);
//installer.finishedCalculateComponentsToUninstall.connect(this, unregister);
}
register = function()
{
console.log("REGISTER");
if (installer.isInstaller()) {
var result = QMessageBox.question("reg.question", "Installer", "REGISTER!", QMessageBox.Yes | QMessageBox.No);
installer.execute("@TargetDir@/start.bat", ["-i","something.ini"]);
}
}
unregister = function()
{
console.log("UNREGISTER");
if (installer.isUninstaller()) {
var result = QMessageBox.question("unreg.question", "Uninstaller", "UNREGISTER!", QMessageBox.Yes | QMessageBox.No);
installer.execute("@TargetDir@/start.bat", ["-u","something.ini"]);
}
}
The "unregister" part is never executed, no matter which uninstaller function I am connecting. The "register" function works fine.