fix: include requested package in startup roster
This commit is contained in:
@@ -33,8 +33,14 @@ public static class StartupRosterPreflight
|
||||
foreach (var root in additionalRoots ?? DiscoverKnownRoots())
|
||||
if (!string.IsNullOrWhiteSpace(root) && Directory.Exists(root)) roots.Add(Path.GetFullPath(root));
|
||||
var entries = new List<StartupRosterEntry>();
|
||||
foreach (var root in roots) DiscoverRoot(root, requested, entries);
|
||||
var requestedPath = Path.Combine(Path.GetFullPath(requestedPackageRoot), requested.EntryAssembly);
|
||||
var requestedHash = requested.Files.FirstOrDefault(f => f.Path.Equals(requested.EntryAssembly, StringComparison.OrdinalIgnoreCase))?.Sha256;
|
||||
if (File.Exists(requestedPath))
|
||||
entries.Add(new("RequestedPackage", requested.Startup.Type + ":" + requested.Startup.Command, requested.PackageId, requested.Version,
|
||||
requested.EntryAssembly, requestedPath, Convert.ToHexString(SHA256.HashData(File.ReadAllBytes(requestedPath))), true, "before-netload"));
|
||||
else entries.Add(new("RequestedPackage", requested.Startup.Type + ":" + requested.Startup.Command, requested.PackageId, requested.Version,
|
||||
requested.EntryAssembly, null, requestedHash, false, "before-netload"));
|
||||
foreach (var root in roots) DiscoverRoot(root, requested, entries);
|
||||
var eligible = entries.Where(e => e.Eligible).ToArray();
|
||||
StartupRosterCandidateStatus status;
|
||||
if (entries.Any(e => e.EntryPath is null || e.EntrySha256 is null)) status = StartupRosterCandidateStatus.UnresolvedStartupEntry;
|
||||
|
||||
Reference in New Issue
Block a user