vPOD: real C:\Games installs, optional real app launching, power-group swap
- InstallProduct now extracts into the real C:\Games (the launcher's GAMES_DIR) so deployed products land where their catalog launch entries point; uninstall removes the real product folder. Tests pass an isolated games root through the VirtualLauncher ctor. - New "Actually launch apps (real processes)" toggle (off by default = simulated PIDs): LaunchApp starts the entry's exe exactly like the Agent (same start info, same registered-but-not-installed error), Kill*/ Uninstall/Wipe terminate the real processes (kill before folder delete), and self-exited apps are pruned from GetLaunchedApps/FullUpdate. Real processes die with the machine: power off, reboot, or closing vPOD. The Agent's autoRestart watchdog is deliberately not emulated. - Pod Power and Mimicking Game groups swapped (game left, power right). - Provisioning round-trip test now skips as inconclusive when a running TeslaConsole holds UDP 53291 instead of failing the suite; two new tests cover real launch/kill (ping.exe) and the missing-exe error path. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -299,7 +299,8 @@ internal sealed class LauncherRpcServer
|
||||
}
|
||||
|
||||
/// <summary>Receives the out-of-band product zip and extracts it into the
|
||||
/// virtual games root, reporting progress exactly like the real service:
|
||||
/// games root (the real C:\Games, like the launcher; tests override it),
|
||||
/// reporting progress exactly like the real service:
|
||||
/// 0-50% receive, 50-95% extract, 99% "Complete" (IsCompleted).</summary>
|
||||
private void ReceiveInstallFile(Stream stream, Guid callId)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user