aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Uninstaller/Program.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Uninstaller/Program.cs')
-rw-r--r--MediaBrowser.Uninstaller/Program.cs33
1 files changed, 33 insertions, 0 deletions
diff --git a/MediaBrowser.Uninstaller/Program.cs b/MediaBrowser.Uninstaller/Program.cs
new file mode 100644
index 000000000..8ea1a950a
--- /dev/null
+++ b/MediaBrowser.Uninstaller/Program.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Uninstaller
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ var product = args.Length > 1 ? args[1] : "server";
+ //copy the real program to a temp location so we can delete everything here (including us)
+ var tempExe = Path.Combine(Path.GetTempPath(), "MediaBrowser.Uninstaller.Execute.exe");
+ var tempConfig = Path.Combine(Path.GetTempPath(), "MediaBrowser.Uninstaller.Execute.exe.config");
+ //using (var file = File.Create(tempExe, 4096, FileOptions.DeleteOnClose))
+ {
+ //copy the real uninstaller to temp location
+ var sourceDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? "";
+ File.WriteAllBytes(tempExe, File.ReadAllBytes(Path.Combine(sourceDir, "MediaBrowser.Uninstaller.Execute.exe")));
+ File.Copy(Path.Combine(sourceDir, "MediaBrowser.Uninstaller.Execute.exe.config"), tempConfig, true);
+ //kick off the copy
+ Process.Start(tempExe, product);
+ //and shut down
+ }
+ }
+ }
+}