| 123456789101112131415161718192021222324252627282930313233 | 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            }        }    }}
 |