Finish mbc installer mods

This commit is contained in:
Eric Reed 2013-04-12 20:03:54 -04:00
parent e6b03ea450
commit dff3f3ede6
2 changed files with 65 additions and 40 deletions

View File

@ -241,60 +241,85 @@ namespace MediaBrowser.Installer
if (archive == null) return; //we canceled or had an error that was already reported
// Extract
lblStatus.Text = "Extracting Package...";
try
if (Path.GetExtension(archive) == ".msi")
{
ExtractPackage(archive);
// We're done with it so delete it (this is necessary for update operations)
try
{
File.Delete(archive);
}
catch (FileNotFoundException)
// 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
{
ExtractPackage(archive);
// We're done with it so delete it (this is necessary for update operations)
try
{
File.Delete(archive);
}
catch (FileNotFoundException)
{
}
catch (Exception e)
{
SystemClose("Error Removing Archive - " + e.GetType().FullName + "\n\n" + e.Message);
return;
}
}
catch (Exception e)
{
SystemClose("Error Removing Archive - " + e.GetType().FullName + "\n\n" + e.Message);
SystemClose("Error Extracting - " + e.GetType().FullName + "\n\n" + e.Message);
return;
}
}
catch (Exception e)
{
SystemClose("Error Extracting - " + e.GetType().FullName + "\n\n" + e.Message);
return;
}
// Create shortcut
lblStatus.Text = "Creating Shortcuts...";
var fullPath = Path.Combine(RootPath, "System", TargetExe);
try
{
CreateShortcuts(fullPath);
}
catch (Exception e)
{
SystemClose("Error Creating Shortcut - "+e.GetType().FullName+"\n\n"+e.Message);
return;
}
// Install Pismo
if (InstallPismo)
{
lblStatus.Text = "Installing ISO Support...";
// Create shortcut
lblStatus.Text = "Creating Shortcuts...";
var fullPath = Path.Combine(RootPath, "System", TargetExe);
try
{
PismoInstall();
CreateShortcuts(fullPath);
}
catch (Exception e)
{
SystemClose("Error Installing ISO support - "+e.GetType().FullName+"\n\n"+e.Message);
SystemClose("Error Creating Shortcut - "+e.GetType().FullName+"\n\n"+e.Message);
return;
}
}
// Now delete the pismo install files
Directory.Delete(Path.Combine(RootPath, "Pismo"), true);
// Install Pismo
if (InstallPismo)
{
lblStatus.Text = "Installing ISO Support...";
try
{
PismoInstall();
}
catch (Exception e)
{
SystemClose("Error Installing ISO support - "+e.GetType().FullName+"\n\n"+e.Message);
}
}
// Now delete the pismo install files
Directory.Delete(Path.Combine(RootPath, "Pismo"), true);
}
// And run
lblStatus.Text = string.Format("Starting {0}...", FriendlyName);

View File

@ -31,7 +31,7 @@
<PublisherName>Media Browser Team</PublisherName>
<SuiteName>Media Browser</SuiteName>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<ApplicationRevision>58</ApplicationRevision>
<ApplicationRevision>64</ApplicationRevision>
<ApplicationVersion>0.1.1.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<PublishWizardCompleted>true</PublishWizardCompleted>