Merge pull request #3036 from sbwalker/dev
Added logic to ensure assembly version being installed is equal to or greater than existing assembly
This commit is contained in:
commit
96e7178cd2
|
@ -201,7 +201,24 @@ namespace Oqtane.Infrastructure
|
|||
{
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(filename));
|
||||
}
|
||||
entry.ExtractToFile(filename, true);
|
||||
if (Path.Exists(filename) && Path.GetExtension(filename).ToLower() == ".dll")
|
||||
{
|
||||
// ensure assembly version is equal to or greater than existing assembly
|
||||
var assembly = filename.Replace(Path.GetFileName(filename), "temp.dll");
|
||||
entry.ExtractToFile(assembly, true);
|
||||
if (Version.Parse(FileVersionInfo.GetVersionInfo(assembly).FileVersion).CompareTo(Version.Parse(FileVersionInfo.GetVersionInfo(filename).FileVersion)) >= 0)
|
||||
{
|
||||
File.Move(assembly, filename, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
File.Delete(assembly);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
entry.ExtractToFile(filename, true);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue
Block a user