diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-11-20 19:58:37 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-20 19:58:37 -0500 |
| commit | b91ebfae1b0a72d3b643221c48932bc45b2612b1 (patch) | |
| tree | f909f0436c4c8cd571084df18cdc7efb5a6ba922 /src/Emby.Server/Program.cs | |
| parent | a6ded79ea7d9d4cc9ed8d28b7043aa18c8ec02ae (diff) | |
| parent | 985c9111cf14431c3e1a1f94953a6d4422d167ee (diff) | |
Merge pull request #2298 from MediaBrowser/dev
Dev
Diffstat (limited to 'src/Emby.Server/Program.cs')
| -rw-r--r-- | src/Emby.Server/Program.cs | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/src/Emby.Server/Program.cs b/src/Emby.Server/Program.cs index 80e56c8ab..24e391c73 100644 --- a/src/Emby.Server/Program.cs +++ b/src/Emby.Server/Program.cs @@ -15,10 +15,11 @@ using Emby.Common.Implementations.Logging; using Emby.Common.Implementations.Networking; using Emby.Drawing; using Emby.Server.Core; -using Emby.Server.Core.Browser; +using Emby.Server.Implementations.Browser; using Emby.Server.Implementations.IO; using MediaBrowser.Common.Net; using Emby.Server.IO; +using Emby.Server.Implementations; namespace Emby.Server { @@ -38,19 +39,34 @@ namespace Emby.Server /// </summary> public static void Main(string[] args) { - var options = new StartupOptions(); + var options = new StartupOptions(Environment.GetCommandLineArgs()); + + var environmentInfo = new EnvironmentInfo(); - var currentProcess = Process.GetCurrentProcess(); - var baseDirectory = System.AppContext.BaseDirectory; - //var architecturePath = Path.Combine(Path.GetDirectoryName(applicationPath), Environment.Is64BitProcess ? "x64" : "x86"); + string archPath = baseDirectory; + if (environmentInfo.SystemArchitecture == MediaBrowser.Model.System.Architecture.X64) + { + archPath = Path.Combine(archPath, "x64"); + } + else if (environmentInfo.SystemArchitecture == MediaBrowser.Model.System.Architecture.X86) + { + archPath = Path.Combine(archPath, "x86"); + } + else + { + archPath = Path.Combine(archPath, "arm"); + } //Wand.SetMagickCoderModulePath(architecturePath); - //var success = SetDllDirectory(architecturePath); + if (environmentInfo.OperatingSystem == MediaBrowser.Model.System.OperatingSystem.Windows) + { + SetDllDirectory(archPath); + } var appPaths = CreateApplicationPaths(baseDirectory); - SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlite3()); + SetSqliteProvider(); var logManager = new NlogManager(appPaths.LogDirectoryPath, "server"); logManager.ReloadLogger(LogSeverity.Debug); @@ -74,7 +90,12 @@ namespace Emby.Server return; } - RunApplication(appPaths, logManager, options); + RunApplication(appPaths, logManager, options, environmentInfo); + } + + private static void SetSqliteProvider() + { + SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_sqlite3()); } /// <summary> @@ -170,7 +191,7 @@ namespace Emby.Server /// <param name="appPaths">The app paths.</param> /// <param name="logManager">The log manager.</param> /// <param name="options">The options.</param> - private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, StartupOptions options) + private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, StartupOptions options, EnvironmentInfo environmentInfo) { var fileSystem = new ManagedFileSystem(logManager.GetLogger("FileSystem"), true, true, true); @@ -184,7 +205,7 @@ namespace Emby.Server fileSystem, new PowerManagement(), "emby.windows.zip", - new EnvironmentInfo(), + environmentInfo, imageEncoder, new CoreSystemEvents(), new MemoryStreamFactory(), |
