do not include Licensing assembly with framework but prevent uninstall

This commit is contained in:
sbwalker 2024-01-19 13:22:38 -05:00
parent 474adf2d53
commit 2b12b67582
4 changed files with 28 additions and 23 deletions

View File

@ -19,7 +19,6 @@
<files> <files>
<file src="..\Oqtane.Client\bin\Release\net8.0\Oqtane.Client.dll" target="lib\net8.0" /> <file src="..\Oqtane.Client\bin\Release\net8.0\Oqtane.Client.dll" target="lib\net8.0" />
<file src="..\Oqtane.Client\bin\Release\net8.0\Oqtane.Client.pdb" target="lib\net8.0" /> <file src="..\Oqtane.Client\bin\Release\net8.0\Oqtane.Client.pdb" target="lib\net8.0" />
<file src="..\Oqtane.Server\bin\Release\net8.0\Oqtane.Licensing.Client.Oqtane.dll" target="lib\net8.0" />
<file src="icon.png" target="" /> <file src="icon.png" target="" />
</files> </files>
</package> </package>

View File

@ -19,7 +19,6 @@
<files> <files>
<file src="..\Oqtane.Shared\bin\Release\net8.0\Oqtane.Shared.dll" target="lib\net8.0" /> <file src="..\Oqtane.Shared\bin\Release\net8.0\Oqtane.Shared.dll" target="lib\net8.0" />
<file src="..\Oqtane.Shared\bin\Release\net8.0\Oqtane.Shared.pdb" target="lib\net8.0" /> <file src="..\Oqtane.Shared\bin\Release\net8.0\Oqtane.Shared.pdb" target="lib\net8.0" />
<file src="..\Oqtane.Server\bin\Release\net8.0\Oqtane.Licensing.Shared.Oqtane.dll" target="lib\net8.0" />
<file src="icon.png" target="" /> <file src="icon.png" target="" />
</files> </files>
</package> </package>

View File

@ -137,16 +137,20 @@ namespace Oqtane.Infrastructure
// register assembly // register assembly
if (Path.GetExtension(filename) == ".dll") if (Path.GetExtension(filename) == ".dll")
{ {
// if package version was not installed previously // do not register licensing assemblies
if (!File.Exists(Path.Combine(sourceFolder, name + ".log"))) if (!Path.GetFileName(filename).StartsWith("Oqtane.Licensing."))
{ {
if (assemblies.ContainsKey(Path.GetFileName(filename))) // if package version was not installed previously
if (!File.Exists(Path.Combine(sourceFolder, name + ".log")))
{ {
assemblies[Path.GetFileName(filename)] += 1; if (assemblies.ContainsKey(Path.GetFileName(filename)))
} {
else assemblies[Path.GetFileName(filename)] += 1;
{ }
assemblies.Add(Path.GetFileName(filename), 1); else
{
assemblies.Add(Path.GetFileName(filename), 1);
}
} }
} }
} }
@ -255,22 +259,26 @@ namespace Oqtane.Infrastructure
// delete assets // delete assets
if (Path.GetExtension(filepath) == ".dll") if (Path.GetExtension(filepath) == ".dll")
{ {
// use assembly log to determine if assembly is used in other packages // do not remove licensing assemblies
if (assemblies.ContainsKey(Path.GetFileName(filepath))) if (!Path.GetFileName(filepath).StartsWith("Oqtane.Licensing."))
{ {
if (assemblies[Path.GetFileName(filepath)] == 1) // use assembly log to determine if assembly is used in other packages
if (assemblies.ContainsKey(Path.GetFileName(filepath)))
{
if (assemblies[Path.GetFileName(filepath)] == 1)
{
DeleteFile(filepath);
assemblies.Remove(Path.GetFileName(filepath));
}
else
{
assemblies[Path.GetFileName(filepath)] -= 1;
}
}
else // does not exist in assembly log
{ {
DeleteFile(filepath); DeleteFile(filepath);
assemblies.Remove(Path.GetFileName(filepath));
} }
else
{
assemblies[Path.GetFileName(filepath)] -= 1;
}
}
else // does not exist in assembly log
{
DeleteFile(filepath);
} }
} }
else // not an assembly else // not an assembly

View File

@ -47,7 +47,6 @@
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="8.0.1" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="8.0.1" />
<PackageReference Include="Microsoft.Data.Sqlite.Core" Version="8.0.1" /> <PackageReference Include="Microsoft.Data.Sqlite.Core" Version="8.0.1" />
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.1.7" /> <PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.1.7" />
<PackageReference Include="Oqtane.Licensing" Version="5.0.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Oqtane.Client\Oqtane.Client.csproj" /> <ProjectReference Include="..\Oqtane.Client\Oqtane.Client.csproj" />