| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | 
							- using System;
 
- using System.Diagnostics;
 
- using System.IO;
 
- using System.Reflection;
 
- namespace MediaBrowser.ServerApplication.Native
 
- {
 
-     /// <summary>
 
-     /// Class Authorization
 
-     /// </summary>
 
-     public static class ServerAuthorization
 
-     {
 
-         /// <summary>
 
-         /// Authorizes the server.
 
-         /// </summary>
 
-         /// <param name="udpPort">The UDP port.</param>
 
-         /// <param name="httpServerPort">The HTTP server port.</param>
 
-         /// <param name="httpsServerPort">The HTTPS server port.</param>
 
-         /// <param name="tempDirectory">The temp directory.</param>
 
-         public static void AuthorizeServer(int udpPort, int httpServerPort, int httpsServerPort, string applicationPath, string tempDirectory)
 
-         {
 
-             Directory.CreateDirectory(tempDirectory);
 
-             // Create a temp file path to extract the bat file to
 
-             var tmpFile = Path.Combine(tempDirectory, Guid.NewGuid() + ".bat");
 
-             // Extract the bat file
 
-             using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(typeof(ServerAuthorization).Namespace + ".RegisterServer.bat"))
 
-             {
 
-                 using (var fileStream = File.Create(tmpFile))
 
-                 {
 
-                     stream.CopyTo(fileStream);
 
-                 }
 
-             }
 
-             var startInfo = new ProcessStartInfo
 
-             {
 
-                 FileName = tmpFile,
 
-                 Arguments = string.Format("{0} {1} {2} \"{3}\"", udpPort, httpServerPort, httpsServerPort, applicationPath),
 
-                 CreateNoWindow = true,
 
-                 WindowStyle = ProcessWindowStyle.Hidden,
 
-                 Verb = "runas",
 
-                 ErrorDialog = false
 
-             };
 
-             using (var process = Process.Start(startInfo))
 
-             {
 
-                 process.WaitForExit();
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |