|
|
|
@ -241,6 +241,28 @@ namespace MediaBrowser.Installer
|
|
|
|
|
|
|
|
|
|
if (archive == null) return; //we canceled or had an error that was already reported
|
|
|
|
|
|
|
|
|
|
if (Path.GetExtension(archive) == ".msi")
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// Create directory for our installer log
|
|
|
|
|
if (!Directory.Exists(RootPath)) Directory.CreateDirectory(RootPath);
|
|
|
|
|
var logPath = Path.Combine(RootPath, "Logs");
|
|
|
|
|
if (!Directory.Exists(logPath)) Directory.CreateDirectory(logPath);
|
|
|
|
|
|
|
|
|
|
// Run in silent mode and wait for it to finish
|
|
|
|
|
// First uninstall any previous version
|
|
|
|
|
lblStatus.Text = "Uninstalling any previous version...";
|
|
|
|
|
var logfile = Path.Combine(RootPath, "logs", "UnInstall.log");
|
|
|
|
|
var uninstaller = Process.Start("msiexec", "/x \"" + archive + "\" /quiet /le \"" + logfile + "\"");
|
|
|
|
|
if (uninstaller != null) uninstaller.WaitForExit();
|
|
|
|
|
// And now installer
|
|
|
|
|
lblStatus.Text = "Installing " + FriendlyName;
|
|
|
|
|
logfile = Path.Combine(RootPath, "logs", "Install.log");
|
|
|
|
|
var installer = Process.Start(archive, "/quiet /le \""+logfile+"\"");
|
|
|
|
|
installer.WaitForExit(); // let this throw if there is a problem
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// Extract
|
|
|
|
|
lblStatus.Text = "Extracting Package...";
|
|
|
|
|
try
|
|
|
|
@ -296,6 +318,9 @@ namespace MediaBrowser.Installer
|
|
|
|
|
// Now delete the pismo install files
|
|
|
|
|
Directory.Delete(Path.Combine(RootPath, "Pismo"), true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// And run
|
|
|
|
|
lblStatus.Text = string.Format("Starting {0}...", FriendlyName);
|
|
|
|
|
try
|
|
|
|
|