feat.PLONDS在线安装器继续优化

This commit is contained in:
lincube
2026-06-09 22:18:27 +08:00
parent 2768b76e1e
commit 13895e0f43
16 changed files with 287 additions and 120 deletions

View File

@@ -212,6 +212,33 @@ public sealed class OnlineInstallerCoreTests : IDisposable
Assert.ThrowsAny<Exception>(() => InstallerPathGuard.NormalizeInstallPath(path));
}
[Fact]
public void InstallerPathGuard_DefaultsToUserWritableProgramsFolder()
{
var path = InstallerPathGuard.GetDefaultInstallPath();
Assert.EndsWith(Path.Combine("Programs", InstallerPathGuard.ApplicationDirectoryName), path);
Assert.DoesNotContain("Program Files", path, StringComparison.OrdinalIgnoreCase);
}
[Fact]
public void InstallerElevation_DetectsProtectedProgramFilesPath()
{
if (!OperatingSystem.IsWindows())
{
return;
}
var programFiles = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
if (string.IsNullOrWhiteSpace(programFiles))
{
return;
}
Assert.True(InstallerElevation.RequiresElevation(Path.Combine(programFiles, InstallerPathGuard.ApplicationDirectoryName)));
Assert.False(InstallerElevation.RequiresElevation(Path.Combine(_tempRoot, InstallerPathGuard.ApplicationDirectoryName)));
}
[Fact]
public async Task FilesPackageInstaller_DeploysFullPackageWithCurrentMarker()
{