|
|
|
@ -1,4 +1,5 @@
|
|
|
|
|
using BDInfo;
|
|
|
|
|
using System.Security;
|
|
|
|
|
using BDInfo;
|
|
|
|
|
using MediaBrowser.ClickOnce;
|
|
|
|
|
using MediaBrowser.Common.Implementations;
|
|
|
|
|
using MediaBrowser.Common.Implementations.HttpClientManager;
|
|
|
|
@ -13,6 +14,8 @@ using MediaBrowser.Common.IO;
|
|
|
|
|
using MediaBrowser.Common.Kernel;
|
|
|
|
|
using MediaBrowser.Common.Net;
|
|
|
|
|
using MediaBrowser.Common.ScheduledTasks;
|
|
|
|
|
using MediaBrowser.Common.Security;
|
|
|
|
|
using MediaBrowser.Common.Updates;
|
|
|
|
|
using MediaBrowser.Controller;
|
|
|
|
|
using MediaBrowser.Controller.Library;
|
|
|
|
|
using MediaBrowser.IsoMounter;
|
|
|
|
@ -145,7 +148,7 @@ namespace MediaBrowser.ServerApplication
|
|
|
|
|
/// <value><c>true</c> if this instance can self update; otherwise, <c>false</c>.</value>
|
|
|
|
|
public bool CanSelfUpdate
|
|
|
|
|
{
|
|
|
|
|
get { return ClickOnceHelper.IsNetworkDeployed; }
|
|
|
|
|
get { return true; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
@ -154,10 +157,14 @@ namespace MediaBrowser.ServerApplication
|
|
|
|
|
/// <param name="cancellationToken">The cancellation token.</param>
|
|
|
|
|
/// <param name="progress">The progress.</param>
|
|
|
|
|
/// <returns>Task{CheckForUpdateResult}.</returns>
|
|
|
|
|
public Task<CheckForUpdateResult> CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress<double> progress)
|
|
|
|
|
public async Task<CheckForUpdateResult> CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress<double> progress)
|
|
|
|
|
{
|
|
|
|
|
// Get package manager using Resolve<IPackageManager>()
|
|
|
|
|
return new ApplicationUpdateCheck().CheckForApplicationUpdate(cancellationToken, progress);
|
|
|
|
|
var pkgManager = Resolve<IPackageManager>();
|
|
|
|
|
var availablePackages = await pkgManager.GetAvailablePackages(Resolve<IHttpClient>(), Resolve<INetworkManager>(), Kernel.SecurityManager, Kernel.ResourcePools, Resolve<IJsonSerializer>(), CancellationToken.None).ConfigureAwait(false);
|
|
|
|
|
var version = Kernel.InstallationManager.GetLatestCompatibleVersion(availablePackages, "MBServer", Kernel.Configuration.SystemUpdateLevel);
|
|
|
|
|
|
|
|
|
|
return version != null ? new CheckForUpdateResult {AvailableVersion = version.version, IsUpdateAvailable = version.version > ApplicationVersion, Package = version} :
|
|
|
|
|
new CheckForUpdateResult();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|