Browse Source

Fix: Update cancellation for AddIns without "nuGetPackageID" manifest property not possible.

pull/32/head
Andreas Weizel 13 years ago
parent
commit
59eaa95ed1
  1. 11
      src/AddIns/Misc/AddInManager2/Project/Src/Model/AddInSetup.cs

11
src/AddIns/Misc/AddInManager2/Project/Src/Model/AddInSetup.cs

@ -400,7 +400,7 @@ namespace ICSharpCode.AddInManager2.Model @@ -400,7 +400,7 @@ namespace ICSharpCode.AddInManager2.Model
public void CancelUpdate(AddIn addIn)
{
if (addIn != null)
if ((addIn != null) && (addIn.Action == AddInAction.Update))
{
CancelPendingUpdate(addIn);
@ -594,6 +594,12 @@ namespace ICSharpCode.AddInManager2.Model @@ -594,6 +594,12 @@ namespace ICSharpCode.AddInManager2.Model
throw new ArgumentNullException("addIn");
}
if (_nuGet.Packages.LocalRepository == null)
{
// Without a local NuGet repository we can't find a package
return null;
}
IPackage package = null;
string nuGetPackageID = null;
if (addIn.Properties.Contains("nuGetPackageID"))
@ -606,8 +612,6 @@ namespace ICSharpCode.AddInManager2.Model @@ -606,8 +612,6 @@ namespace ICSharpCode.AddInManager2.Model
primaryIdentity = addIn.Manifest.PrimaryIdentity;
}
if (!String.IsNullOrEmpty(nuGetPackageID))
{
// Find installed package with mapped NuGet package ID
var matchingPackages = _nuGet.Packages.LocalRepository.GetPackages()
.Where(p => (p.Id == primaryIdentity) || (p.Id == nuGetPackageID))
@ -622,7 +626,6 @@ namespace ICSharpCode.AddInManager2.Model @@ -622,7 +626,6 @@ namespace ICSharpCode.AddInManager2.Model
// Return oldest installed package version
package = matchingPackages.FirstOrDefault();
}
}
return package;
}

Loading…
Cancel
Save