public static bool IsJavaInstalled(Architectures architecture, int majorVersion) { bool isInstalled = false; if (architecture == Architectures.X86) { if (Get32bitJavaJREVersions().FindIndex(item => item.Major == majorVersion) >= 0 || ProgramInstaller.IsSoftwareInstalled(Architectures.X86, "Java " + majorVersion + " Update *")) { isInstalled = true; } } else if (architecture == Architectures.X64) { if (Get64bitJavaJREVersions().FindIndex(item => item.Major == majorVersion) >= 0 || ProgramInstaller.IsSoftwareInstalled(Architectures.X64, "Java " + majorVersion + " Update * (64-bit)")) { isInstalled = true; } } else { throw new InvalidOperationException("Invalid architecture"); } return(isInstalled); }
public static bool ChocoUpgrade(string pkgName, string displayName, bool verifyInstall, string searchName, string[] argumentList) { try { Console.Out.WriteLine("Verifying network connectivity before installing " + displayName); if (Network.TestInternetConnection() == true) { Console.Out.WriteLine("Network connectivity confirmed..."); if ((verifyInstall) == true) { Console.Out.WriteLine("Checking for pre-existing installs..."); var x86VersionExists = ProgramInstaller.IsSoftwareInstalled(Architectures.X86, searchName); var x64VersionExists = ProgramInstaller.IsSoftwareInstalled(Architectures.X64, searchName); Console.Out.WriteLine("32-bit version found?: " + x86VersionExists); Console.Out.WriteLine("64-bit version found?: " + x64VersionExists); } Console.Out.WriteLine("Installing " + displayName + "..."); string arguments = ""; foreach (string argument in argumentList) { arguments += " --" + argument; } SystemUtil.ExecuteCMDCommand("choco.exe upgrade " + pkgName + arguments); //" --force --y --ignorechecksum "); if ((verifyInstall) == true) { Console.Out.WriteLine("Verifying install..."); var x86VersionExists = ProgramInstaller.IsSoftwareInstalled(Architectures.X86, searchName); var x64VersionExists = ProgramInstaller.IsSoftwareInstalled(Architectures.X64, searchName); Console.Out.WriteLine("32-bit version found?: " + x86VersionExists); Console.Out.WriteLine("64-bit version found?: " + x64VersionExists); if (x64VersionExists == true || x86VersionExists == true) { return(true); } else { Console.Out.WriteLine("[0] " + displayName + " installation failed... Rolling back..."); if (Network.TestInternetConnection() == false) { Console.Out.WriteLine("Failed to confirm network connectivity. if your host has connection, try: VMWare Toolbar -> Edit -> Virtual Network Editor -> Change Settings -> Restore Defaults. Then Restart"); } return(false); } } else { return(true); } } else { Console.Out.WriteLine("Failed to confirm network connectivity. if your host has connection, try: VMWare Toolbar -> Edit -> Virtual Network Editor -> Change Settings -> Restore Defaults. Then Restart"); return(false); } } catch { Console.Out.WriteLine("[1] " + displayName + " installation failed... Rolling back..."); return(false); } }