mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 22:11:48 +08:00
60 lines
2.0 KiB
C#
60 lines
2.0 KiB
C#
using Microsoft.Deployment.WindowsInstaller;
|
|
|
|
namespace CustomActions
|
|
{
|
|
public class CustomActions
|
|
{
|
|
[CustomAction]
|
|
public static ActionResult IsKBInstalled(Session session)
|
|
{
|
|
session.Log("Begin IsKBInstalled");
|
|
string kb = session["KB"];
|
|
session.Log("Checking if '{0}' is installed", kb);
|
|
InstalledWindowsUpdateGatherer updateGatherer = new InstalledWindowsUpdateGatherer();
|
|
bool isUpdateInstalled = updateGatherer.IsUpdateInstalled(kb);
|
|
session.Log("KB is installed = '{0}'", isUpdateInstalled);
|
|
if (isUpdateInstalled)
|
|
{
|
|
session[kb] = "1";
|
|
session.Log("Set property '{0}' to '1'", kb);
|
|
}
|
|
else
|
|
{
|
|
session[kb] = "0";
|
|
session.Log("Set property '{0}' to '0'", kb);
|
|
}
|
|
|
|
session.Log("End IsKBInstalled");
|
|
return ActionResult.Success;
|
|
}
|
|
|
|
[CustomAction]
|
|
public static ActionResult IsLegacyVersionInstalled(Session session)
|
|
{
|
|
session.Log("Begin IsLegacyVersionInstalled");
|
|
UninstallNSISVersions uninstaller = new UninstallNSISVersions();
|
|
if (uninstaller.IsLegacymRemoteNGInstalled())
|
|
{
|
|
session["LEGACYVERSIONINSTALLED"] = "1";
|
|
}
|
|
else
|
|
{
|
|
session["LEGACYVERSIONINSTALLED"] = "0";
|
|
}
|
|
|
|
session.Log("End IsLegacyVersionInstalled");
|
|
return ActionResult.Success;
|
|
}
|
|
|
|
[CustomAction]
|
|
public static ActionResult UninstallLegacyVersion(Session session)
|
|
{
|
|
session.Log("Begin UninstallLegacyVersion");
|
|
UninstallNSISVersions uninstaller = new UninstallNSISVersions();
|
|
string uninstallString = uninstaller.GetLegacyUninstallString();
|
|
uninstaller.UninstallLegacyVersion(true);
|
|
session.Log("End UninstallLegacyVersion");
|
|
return ActionResult.Success;
|
|
}
|
|
}
|
|
} |