diff --git a/MediaBrowser.Installer/MainWindow.xaml.cs b/MediaBrowser.Installer/MainWindow.xaml.cs
index 272ebbfad1..0a30cc6a26 100644
--- a/MediaBrowser.Installer/MainWindow.xaml.cs
+++ b/MediaBrowser.Installer/MainWindow.xaml.cs
@@ -31,6 +31,8 @@ namespace MediaBrowser.Installer
protected bool InstallPismo = true;
protected string RootPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "MediaBrowser-Server");
+ protected bool IsUpdate = false;
+
protected bool SystemClosing = false;
protected string TempLocation = Path.Combine(Path.GetTempPath(), "MediaBrowser");
@@ -119,7 +121,7 @@ namespace MediaBrowser.Installer
// wasn't running
}
- Thread.Sleep(500); // give it just another sec to be sure its really gone
+ IsUpdate = true;
}
//MessageBox.Show(string.Format("Called with args: product: {0} archive: {1} caller: {2}", product, Archive, callerId));
@@ -160,7 +162,7 @@ namespace MediaBrowser.Installer
// Now try and shut down the server if that is what we are installing and it is running
var procs = Process.GetProcessesByName("mediabrowser.serverapplication");
var server = procs.Length > 0 ? procs[0] : null;
- if (PackageName == "MBServer" && server != null)
+ if (!IsUpdate && PackageName == "MBServer" && server != null)
{
lblStatus.Text = "Shutting Down Media Browser Server...";
using (var client = new WebClient())
@@ -187,7 +189,7 @@ namespace MediaBrowser.Installer
}
else
{
- if (PackageName == "MBTheater")
+ if (!IsUpdate && PackageName == "MBTheater")
{
// Uninstalling MBT - shut it down if it is running
var processes = Process.GetProcessesByName("mediabrowser.ui");
@@ -473,13 +475,22 @@ namespace MediaBrowser.Installer
///
private void CreateUninstaller(string uninstallPath, string targetExe)
{
- using (var parent = Registry.CurrentUser.OpenSubKey(
- @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", true))
+ var parent = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", true);
{
if (parent == null)
{
- MessageBox.Show("Uninstall registry key not found.");
- return;
+ var rootParent = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion", true);
+ {
+ if (rootParent != null)
+ {
+ parent = rootParent.CreateSubKey("Uninstall");
+ if (parent == null)
+ {
+ MessageBox.Show("Unable to create Uninstall registry key. Program is still installed sucessfully.");
+ return;
+ }
+ }
+ }
}
try
{
@@ -493,7 +504,7 @@ namespace MediaBrowser.Installer
if (key == null)
{
- MessageBox.Show(String.Format("Unable to create uninstaller entry'{0}\\{1}'", @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", guidText));
+ MessageBox.Show(String.Format("Unable to create uninstaller entry'{0}\\{1}'. Program is still installed successfully.", @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", guidText));
return;
}
diff --git a/MediaBrowser.Installer/MediaBrowser.Installer.csproj b/MediaBrowser.Installer/MediaBrowser.Installer.csproj
index eccada0f53..8683833ab5 100644
--- a/MediaBrowser.Installer/MediaBrowser.Installer.csproj
+++ b/MediaBrowser.Installer/MediaBrowser.Installer.csproj
@@ -31,7 +31,7 @@
Media Browser Team
Media Browser
false
- 55
+ 57
0.1.1.%2a
false
true