Browse Source

update translations

Luke Pulverenti 10 years ago
parent
commit
576768de59
26 changed files with 103 additions and 120 deletions
  1. 7 1
      MediaBrowser.Api/Images/ImageService.cs
  2. 9 1
      MediaBrowser.Api/Playback/MediaInfoService.cs
  3. 0 1
      MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
  4. 2 51
      MediaBrowser.Common.Implementations/BaseApplicationPaths.cs
  5. 0 1
      MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
  6. 0 2
      MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
  7. 0 1
      MediaBrowser.Common/MediaBrowser.Common.csproj
  8. 1 0
      MediaBrowser.Controller/MediaBrowser.Controller.csproj
  9. 3 2
      MediaBrowser.Controller/Net/IServerManager.cs
  10. 2 1
      MediaBrowser.Model/ApiClient/IApiClient.cs
  11. 1 1
      MediaBrowser.Server.Implementations/EntryPoints/Notifications/WebSocketNotifier.cs
  12. 2 2
      MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs
  13. 5 14
      MediaBrowser.Server.Implementations/Library/LibraryManager.cs
  14. 11 11
      MediaBrowser.Server.Implementations/Localization/JavaScript/it.json
  15. 1 1
      MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json
  16. 1 1
      MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json
  17. 1 1
      MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json
  18. 1 1
      MediaBrowser.Server.Implementations/Localization/JavaScript/zh_CN.json
  19. 1 1
      MediaBrowser.Server.Implementations/Localization/Server/server.json
  20. 0 19
      MediaBrowser.Server.Implementations/ServerApplicationPaths.cs
  21. 3 3
      MediaBrowser.Server.Mono/Native/BaseMonoApp.cs
  22. 1 1
      MediaBrowser.Server.Mono/Program.cs
  23. 45 0
      MediaBrowser.Server.Startup.Common/ApplicationPathHelper.cs
  24. 2 0
      MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj
  25. 2 1
      MediaBrowser.ServerApplication/MainStartup.cs
  26. 2 2
      SharedVersion.cs

+ 7 - 1
MediaBrowser.Api/Images/ImageService.cs

@@ -652,7 +652,13 @@ namespace MediaBrowser.Api.Images
         {
             if ((Request.AcceptTypes ?? new string[] { }).Contains("image/webp", StringComparer.OrdinalIgnoreCase))
             {
-                return new[] { ImageOutputFormat.Webp, ImageOutputFormat.Jpg, ImageOutputFormat.Png };
+                var userAgent = Request.UserAgent ?? string.Empty;
+
+                // Not displaying properly on iOS
+                if (userAgent.IndexOf("cfnetwork", StringComparison.OrdinalIgnoreCase) == -1)
+                {
+                    return new[] { ImageOutputFormat.Webp, ImageOutputFormat.Jpg, ImageOutputFormat.Png };
+                }
             }
 
             return new[] { ImageOutputFormat.Jpg, ImageOutputFormat.Png };

+ 9 - 1
MediaBrowser.Api/Playback/MediaInfoService.cs

@@ -52,7 +52,15 @@ namespace MediaBrowser.Api.Playback
             else
             {
                 var hasMediaSources = (IHasMediaSources)item;
-                mediaSources = hasMediaSources.GetMediaSources(true, user);
+
+                if (user == null)
+                {
+                    mediaSources = hasMediaSources.GetMediaSources(true);
+                }
+                else
+                {
+                    mediaSources = hasMediaSources.GetMediaSources(true, user);
+                }
             }
 
             return ToOptimizedResult(new LiveMediaInfoResult

+ 0 - 1
MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs

@@ -421,7 +421,6 @@ namespace MediaBrowser.Api.Playback.Progressive
                 if (!File.Exists(outputPath))
                 {
                     job = await StartFfMpeg(state, outputPath, cancellationTokenSource).ConfigureAwait(false);
-                    job.ActiveRequestCount++;
                 }
                 else
                 {

+ 2 - 51
MediaBrowser.Common.Implementations/BaseApplicationPaths.cs

@@ -1,6 +1,4 @@
 using MediaBrowser.Common.Configuration;
-using System;
-using System.Configuration;
 using System.IO;
 
 namespace MediaBrowser.Common.Implementations
@@ -11,20 +9,6 @@ namespace MediaBrowser.Common.Implementations
     /// </summary>
     public abstract class BaseApplicationPaths : IApplicationPaths
     {
-        /// <summary>
-        /// The _use debug path
-        /// </summary>
-        private readonly bool _useDebugPath;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="BaseApplicationPaths" /> class.
-        /// </summary>
-        protected BaseApplicationPaths(bool useDebugPath, string applicationPath)
-        {
-            _useDebugPath = useDebugPath;
-            ApplicationPath = applicationPath;
-        }
-
         /// <summary>
         /// Initializes a new instance of the <see cref="BaseApplicationPaths"/> class.
         /// </summary>
@@ -39,17 +23,14 @@ namespace MediaBrowser.Common.Implementations
         /// <summary>
         /// The _program data path
         /// </summary>
-        private string _programDataPath;
+        private readonly string _programDataPath;
         /// <summary>
         /// Gets the path to the program data folder
         /// </summary>
         /// <value>The program data path.</value>
         public string ProgramDataPath
         {
-            get
-            {
-                return _programDataPath ?? (_programDataPath = GetProgramDataPath());
-            }
+            get { return _programDataPath; }
         }
 
         /// <summary>
@@ -202,35 +183,5 @@ namespace MediaBrowser.Common.Implementations
                 return Path.Combine(CachePath, "temp");
             }
         }
-
-        /// <summary>
-        /// Gets the path to the application's ProgramDataFolder
-        /// </summary>
-        /// <returns>System.String.</returns>
-        private string GetProgramDataPath()
-        {
-            var programDataPath = _useDebugPath ? ConfigurationManager.AppSettings["DebugProgramDataPath"] : ConfigurationManager.AppSettings["ReleaseProgramDataPath"];
-
-            programDataPath = programDataPath.Replace("%ApplicationData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
-
-            // If it's a relative path, e.g. "..\"
-            if (!Path.IsPathRooted(programDataPath))
-            {
-                var path = Path.GetDirectoryName(ApplicationPath);
-
-                if (string.IsNullOrEmpty(path))
-                {
-                    throw new ApplicationException("Unable to determine running assembly location");
-                }
-
-                programDataPath = Path.Combine(path, programDataPath);
-
-                programDataPath = Path.GetFullPath(programDataPath);
-            }
-
-            Directory.CreateDirectory(programDataPath);
-
-            return programDataPath;
-        }
     }
 }

+ 0 - 1
MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs

@@ -13,7 +13,6 @@ using System.IO;
 using System.Linq;
 using System.Net;
 using System.Net.Cache;
-using System.Net.Http;
 using System.Text;
 using System.Threading;
 using System.Threading.Tasks;

+ 0 - 2
MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj

@@ -61,11 +61,9 @@
       <HintPath>..\packages\SimpleInjector.2.6.1\lib\net45\SimpleInjector.Diagnostics.dll</HintPath>
     </Reference>
     <Reference Include="System" />
-    <Reference Include="System.Configuration" />
     <Reference Include="System.Core" />
     <Reference Include="Microsoft.CSharp" />
     <Reference Include="System.Net" />
-    <Reference Include="System.Net.Http" />
     <Reference Include="System.Xml" />
     <Reference Include="SharpCompress">
       <HintPath>..\packages\sharpcompress.0.10.2\lib\net40\SharpCompress.dll</HintPath>

+ 0 - 1
MediaBrowser.Common/MediaBrowser.Common.csproj

@@ -70,7 +70,6 @@
     <Compile Include="Configuration\IApplicationPaths.cs" />
     <Compile Include="Net\HttpRequestOptions.cs" />
     <Compile Include="Net\HttpResponseInfo.cs" />
-    <Compile Include="Net\IServerManager.cs" />
     <Compile Include="Net\IWebSocketListener.cs" />
     <Compile Include="IApplicationHost.cs" />
     <Compile Include="Net\IHttpClient.cs" />

+ 1 - 0
MediaBrowser.Controller/MediaBrowser.Controller.csproj

@@ -220,6 +220,7 @@
     <Compile Include="Net\IHttpResultFactory.cs" />
     <Compile Include="Net\IHttpServer.cs" />
     <Compile Include="Net\IRestfulService.cs" />
+    <Compile Include="Net\IServerManager.cs" />
     <Compile Include="Net\IServiceRequest.cs" />
     <Compile Include="Net\ISessionContext.cs" />
     <Compile Include="Net\LoggedAttribute.cs" />

+ 3 - 2
MediaBrowser.Common/Net/IServerManager.cs → MediaBrowser.Controller/Net/IServerManager.cs

@@ -1,9 +1,10 @@
-using System;
+using MediaBrowser.Common.Net;
+using System;
 using System.Collections.Generic;
 using System.Threading;
 using System.Threading.Tasks;
 
-namespace MediaBrowser.Common.Net
+namespace MediaBrowser.Controller.Net
 {
     /// <summary>
     /// Interface IServerManager

+ 2 - 1
MediaBrowser.Model/ApiClient/IApiClient.cs

@@ -228,8 +228,9 @@ namespace MediaBrowser.Model.ApiClient
         /// Gets the live media information.
         /// </summary>
         /// <param name="itemId">The item identifier.</param>
+        /// <param name="userId">The user identifier.</param>
         /// <returns>Task&lt;LiveMediaInfoResult&gt;.</returns>
-        Task<LiveMediaInfoResult> GetLiveMediaInfo(string itemId);
+        Task<LiveMediaInfoResult> GetLiveMediaInfo(string itemId, string userId);
 
         /// <summary>
         /// Gets the users async.

+ 1 - 1
MediaBrowser.Server.Implementations/EntryPoints/Notifications/WebSocketNotifier.cs

@@ -1,4 +1,4 @@
-using MediaBrowser.Common.Net;
+using MediaBrowser.Controller.Net;
 using MediaBrowser.Controller.Notifications;
 using MediaBrowser.Controller.Plugins;
 using System.Linq;

+ 2 - 2
MediaBrowser.Server.Implementations/EntryPoints/ServerEventNotifier.cs

@@ -1,11 +1,11 @@
-using MediaBrowser.Common.Net;
-using MediaBrowser.Common.Plugins;
+using MediaBrowser.Common.Plugins;
 using MediaBrowser.Common.ScheduledTasks;
 using MediaBrowser.Common.Updates;
 using MediaBrowser.Controller;
 using MediaBrowser.Controller.Dto;
 using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Net;
 using MediaBrowser.Controller.Plugins;
 using MediaBrowser.Controller.Session;
 using MediaBrowser.Model.Events;

+ 5 - 14
MediaBrowser.Server.Implementations/Library/LibraryManager.cs

@@ -623,29 +623,20 @@ namespace MediaBrowser.Server.Implementations.Library
         public List<T> ResolvePaths<T>(IEnumerable<FileSystemInfo> files, IDirectoryService directoryService, Folder parent, string collectionType = null)
             where T : BaseItem
         {
-            var list = new List<T>();
-
-            Parallel.ForEach(files, f =>
+            return files.Select(f =>
             {
                 try
                 {
-                    var item = ResolvePath(f, directoryService, parent, collectionType) as T;
-
-                    if (item != null)
-                    {
-                        lock (list)
-                        {
-                            list.Add(item);
-                        }
-                    }
+                    return ResolvePath(f, directoryService, parent, collectionType) as T;
                 }
                 catch (Exception ex)
                 {
                     _logger.ErrorException("Error resolving path {0}", ex, f.FullName);
+                    return null;
                 }
-            });
 
-            return list;
+            }).Where(i => i != null)
+            .ToList();
         }
 
         /// <summary>

+ 11 - 11
MediaBrowser.Server.Implementations/Localization/JavaScript/it.json

@@ -285,7 +285,7 @@
     "LabelPremiereProgram": "PREMIERE",
     "LabelHDProgram": "HD",
     "HeaderChangeFolderType": "Cambia il tipo di cartella",
-    "HeaderChangeFolderTypeHelp": "Per cambiare il tipo di cartella, rimuovere e ricostruire la collezione con il nuovo tipo.",
+    "HeaderChangeFolderTypeHelp": "To change the type, please remove and rebuild the folder with the new type.",
     "HeaderAlert": "Avviso",
     "MessagePleaseRestart": "Si prega di riavviare per completare l'aggiornamento.",
     "ButtonRestart": "Riavvia",
@@ -617,14 +617,14 @@
     "DefaultErrorMessage": "Si \u00e8 verificato un errore durante l'elaborazione della richiesta. Si prega di riprovare pi\u00f9 tardi.",
     "ButtonAccept": "Accetta",
     "ButtonReject": "Rifiuta",
-    "HeaderForgotPassword": "Forgot Password",
-    "MessageContactAdminToResetPassword": "Please contact your system administrator to reset your password.",
-    "MessageForgotPasswordInNetworkRequired": "Please try again within your home network to initiate the password reset process.",
-    "MessageForgotPasswordFileCreated": "The following file has been created on your server and contains instructions on how to proceed:",
-    "MessageForgotPasswordFileExpiration": "The reset pin will expire at {0}.",
-    "MessageInvalidForgotPasswordPin": "An invalid or expired pin was entered. Please try again.",
-    "MessagePasswordResetForUsers": "Passwords have been reset for the following users:",
-    "HeaderInviteGuest": "Invite Guest",
-    "ButtonLinkMyMediaBrowserAccount": "Link my account now",
-    "MessageConnectAccountRequiredToInviteGuest": "In order to invite guests you need to first link your Media Browser account to this server."
+    "HeaderForgotPassword": "Password dimenticata",
+    "MessageContactAdminToResetPassword": "Si prega di contattare l'amministratore di sistema per reimpostare la password.",
+    "MessageForgotPasswordInNetworkRequired": "Riprova all'interno della rete domestica per avviare il processo di reimpostazione della password.",
+    "MessageForgotPasswordFileCreated": "Il seguente file \u00e8 stato creato sul server e contiene le istruzioni su come procedere:",
+    "MessageForgotPasswordFileExpiration": "Il pin scadr\u00e0 {0}.",
+    "MessageInvalidForgotPasswordPin": "Un pin Invalido o scaduto \u00e8 stato inserito. Riprova.",
+    "MessagePasswordResetForUsers": "Le password sono state rimesse per i seguenti utenti:",
+    "HeaderInviteGuest": "Invita Ospite",
+    "ButtonLinkMyMediaBrowserAccount": "Collega il mio account",
+    "MessageConnectAccountRequiredToInviteGuest": "Per invitare gli ospiti \u00e8 necessario collegare prima il tuo account browser media a questo server."
 }

+ 1 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/nb.json

@@ -285,7 +285,7 @@
     "LabelPremiereProgram": "PREMIERE",
     "LabelHDProgram": "HD",
     "HeaderChangeFolderType": "Endre Mappe Type",
-    "HeaderChangeFolderTypeHelp": "For \u00e5 endre mappe type, vennligst fjern og bygg samlingen med en ny type.",
+    "HeaderChangeFolderTypeHelp": "To change the type, please remove and rebuild the folder with the new type.",
     "HeaderAlert": "Varsling",
     "MessagePleaseRestart": "Vennligst utf\u00f8r en omstart for \u00e5 fullf\u00f8re oppdatering.",
     "ButtonRestart": "Restart",

+ 1 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/nl.json

@@ -285,7 +285,7 @@
     "LabelPremiereProgram": "PREMIERE",
     "LabelHDProgram": "HD",
     "HeaderChangeFolderType": "Verander Maptype",
-    "HeaderChangeFolderTypeHelp": "Als u het type map wilt wijzigen, verwijder het dan en maak dan een nieuwe collectie met het nieuwe type.",
+    "HeaderChangeFolderTypeHelp": "Als u het type map wilt wijzigen, verwijder het dan en maak dan een nieuwe map met het nieuwe type.",
     "HeaderAlert": "Waarschuwing",
     "MessagePleaseRestart": "Herstart om update te voltooien.",
     "ButtonRestart": "Herstart",

+ 1 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/sv.json

@@ -285,7 +285,7 @@
     "LabelPremiereProgram": "PREMI\u00c4R",
     "LabelHDProgram": "HD",
     "HeaderChangeFolderType": "\u00c4ndra mapptyp",
-    "HeaderChangeFolderTypeHelp": "F\u00f6r att \u00e4ndra mapptyp, ta bort den existerande och skapa en ny av den \u00f6nskade typen.",
+    "HeaderChangeFolderTypeHelp": "To change the type, please remove and rebuild the folder with the new type.",
     "HeaderAlert": "Varning",
     "MessagePleaseRestart": "V\u00e4nligen starta om f\u00f6r att slutf\u00f6ra uppdateringarna.",
     "ButtonRestart": "Starta om",

+ 1 - 1
MediaBrowser.Server.Implementations/Localization/JavaScript/zh_CN.json

@@ -285,7 +285,7 @@
     "LabelPremiereProgram": "\u9996\u6620\u5f0f",
     "LabelHDProgram": "HD\u9ad8\u6e05",
     "HeaderChangeFolderType": "\u53d8\u66f4\u6587\u4ef6\u5939\u7c7b\u578b",
-    "HeaderChangeFolderTypeHelp": "\u5982\u8981\u53d8\u66f4\u6587\u4ef6\u5939\u7c7b\u578b\uff0c\u8bf7\u79fb\u9664\u5408\u96c6\u5e76\u7528\u65b0\u7c7b\u578b\u91cd\u5efa\u3002",
+    "HeaderChangeFolderTypeHelp": "To change the type, please remove and rebuild the folder with the new type.",
     "HeaderAlert": "\u8b66\u62a5",
     "MessagePleaseRestart": "\u8bf7\u91cd\u542f\u670d\u52a1\u5668\u4ee5\u5b8c\u6210\u66f4\u65b0\u3002",
     "ButtonRestart": "\u91cd\u542f",

+ 1 - 1
MediaBrowser.Server.Implementations/Localization/Server/server.json

@@ -1232,7 +1232,7 @@
     "HeaderCameraUploadHelp": "Automatically upload photos and videos taken from your mobile devices into Media Browser.",
     "MessageNoDevicesSupportCameraUpload": "You currently don't have any devices that support camera upload.",
     "LabelCameraUploadPath": "Camera upload path:",
-    "LabelCameraUploadPathHelp": "Select a custom upload path, if desired. If unspecified a default folder will be used.",
+    "LabelCameraUploadPathHelp": "Select a custom upload path, if desired. If unspecified a default folder will be used. If using a custom path it will also need to be added in the library setup area.",
     "LabelCreateCameraUploadSubfolder": "Create a subfolder for each device",
     "LabelCreateCameraUploadSubfolderHelp": "Specific folders can be assigned to a device by clicking on it from the Devices page.",
     "LabelCustomDeviceDisplayName": "Display name:",

+ 0 - 19
MediaBrowser.Server.Implementations/ServerApplicationPaths.cs

@@ -1,6 +1,5 @@
 using MediaBrowser.Common.Implementations;
 using MediaBrowser.Controller;
-using System;
 using System.IO;
 
 namespace MediaBrowser.Server.Implementations
@@ -10,24 +9,6 @@ namespace MediaBrowser.Server.Implementations
     /// </summary>
     public class ServerApplicationPaths : BaseApplicationPaths, IServerApplicationPaths
     {
-#if (DEBUG)
-        /// <summary>
-        /// Initializes a new instance of the <see cref="ServerApplicationPaths" /> class.
-        /// </summary>
-        public ServerApplicationPaths(string applicationPath)
-            : base(true, applicationPath)
-        {
-        }
-#else
-/// <summary>
-/// Initializes a new instance of the <see cref="ServerApplicationPaths"/> class.
-/// </summary>
-        public ServerApplicationPaths(string applicationPath)
-            : base(false, applicationPath)
-        {
-        }
-#endif
-
         /// <summary>
         /// Initializes a new instance of the <see cref="BaseApplicationPaths" /> class.
         /// </summary>

+ 3 - 3
MediaBrowser.Server.Mono/Native/BaseMonoApp.cs

@@ -165,12 +165,12 @@ namespace MediaBrowser.Server.Mono.Native
             return info;
         }
 
-        private NativeApp.Uname _unixName;
-        private NativeApp.Uname GetUnixName()
+        private Uname _unixName;
+        private Uname GetUnixName()
         {
             if (_unixName == null)
             {
-                var uname = new NativeApp.Uname();
+                var uname = new Uname();
                 Utsname utsname;
                 var callResult = Syscall.uname(out utsname);
                 if (callResult == 0)

+ 1 - 1
MediaBrowser.Server.Mono/Program.cs

@@ -58,7 +58,7 @@ namespace MediaBrowser.Server.Mono
 		{
 			if (string.IsNullOrEmpty(programDataPath))
 			{
-				return new ServerApplicationPaths(applicationPath);
+				return new ServerApplicationPaths(ApplicationPathHelper.GetProgramDataPath(applicationPath), applicationPath);
 			}
 			
 			return new ServerApplicationPaths(programDataPath, applicationPath);

+ 45 - 0
MediaBrowser.Server.Startup.Common/ApplicationPathHelper.cs

@@ -0,0 +1,45 @@
+using System;
+using System.Configuration;
+using System.IO;
+
+namespace MediaBrowser.Server.Startup.Common
+{
+    public static class ApplicationPathHelper
+    {
+        /// <summary>
+        /// Gets the path to the application's ProgramDataFolder
+        /// </summary>
+        /// <returns>System.String.</returns>
+        public static string GetProgramDataPath(string applicationPath)
+        {
+            var useDebugPath = false;
+
+#if DEBUG
+            useDebugPath = true;
+#endif
+
+            var programDataPath = useDebugPath ? ConfigurationManager.AppSettings["DebugProgramDataPath"] : ConfigurationManager.AppSettings["ReleaseProgramDataPath"];
+
+            programDataPath = programDataPath.Replace("%ApplicationData%", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
+
+            // If it's a relative path, e.g. "..\"
+            if (!Path.IsPathRooted(programDataPath))
+            {
+                var path = Path.GetDirectoryName(applicationPath);
+
+                if (string.IsNullOrEmpty(path))
+                {
+                    throw new ApplicationException("Unable to determine running assembly location");
+                }
+
+                programDataPath = Path.Combine(path, programDataPath);
+
+                programDataPath = Path.GetFullPath(programDataPath);
+            }
+
+            Directory.CreateDirectory(programDataPath);
+
+            return programDataPath;
+        }
+    }
+}

+ 2 - 0
MediaBrowser.Server.Startup.Common/MediaBrowser.Server.Startup.Common.csproj

@@ -41,6 +41,7 @@
       <HintPath>..\ThirdParty\ServiceStack\ServiceStack.Interfaces.dll</HintPath>
     </Reference>
     <Reference Include="System" />
+    <Reference Include="System.Configuration" />
     <Reference Include="System.Core" />
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
@@ -53,6 +54,7 @@
       <Link>Properties\SharedVersion.cs</Link>
     </Compile>
     <Compile Include="ApplicationHost.cs" />
+    <Compile Include="ApplicationPathHelper.cs" />
     <Compile Include="Browser\BrowserLauncher.cs" />
     <Compile Include="EntryPoints\KeepServerAwake.cs" />
     <Compile Include="EntryPoints\StartupWizard.cs" />

+ 2 - 1
MediaBrowser.ServerApplication/MainStartup.cs

@@ -148,6 +148,7 @@ namespace MediaBrowser.ServerApplication
         /// <summary>
         /// Creates the application paths.
         /// </summary>
+        /// <param name="applicationPath">The application path.</param>
         /// <param name="runAsService">if set to <c>true</c> [run as service].</param>
         /// <returns>ServerApplicationPaths.</returns>
         private static ServerApplicationPaths CreateApplicationPaths(string applicationPath, bool runAsService)
@@ -161,7 +162,7 @@ namespace MediaBrowser.ServerApplication
                 return new ServerApplicationPaths(programDataPath, applicationPath);
             }
 
-            return new ServerApplicationPaths(applicationPath);
+            return new ServerApplicationPaths(ApplicationPathHelper.GetProgramDataPath(applicationPath), applicationPath);
         }
 
         /// <summary>

+ 2 - 2
SharedVersion.cs

@@ -3,6 +3,6 @@
 #if (DEBUG)
 [assembly: AssemblyVersion("3.0.*")]
 #else
-//[assembly: AssemblyVersion("3.0.*")]
-[assembly: AssemblyVersion("3.0.5441.2")]
+[assembly: AssemblyVersion("3.0.*")]
+//[assembly: AssemblyVersion("3.0.5441.2")]
 #endif