Sometimes we use the Sitecore class called UpdateHelper to install packages on different Sitecore instances for example via a webservice.
Today I copied some code from a Sitecore 7.2 installation which did exactly this. It is a simple service class that installs a package from a path and then it logs the installation results as done by the Sitecore InstallUpdatePackage wizard.
public static string InstallUpdatePackage(String packageFile) { var log = LogManager.GetLogger("LogFileAppender"); string result; using (new ShutdownGuard()) { var packageInstallationInfo = new PackageInstallationInfo { Action = UpgradeAction.Upgrade, Mode = InstallMode.Install, Path = packageFile }; string text = null; List<ContingencyEntry> entries = null; try { entries = UpdateHelper.Install(packageInstallationInfo, log, out text); } catch (PostStepInstallerException ex) { entries = ex.Entries; text = ex.HistoryPath; throw; } finally { try { UpdateHelper.SaveInstallationMessages(entries, text); } catch (Exception ex) { log.Warn("Unable to write the installation messages", ex); } } result = text; } return result; } But the code would not compile when using the Sitecore.Update.dll from 7.5
...