From 8cecb6e5caf0a0724db200e1fcdb332f440cb74e Mon Sep 17 00:00:00 2001 From: Cyd Date: Sat, 11 Jul 2026 16:15:28 -0500 Subject: [PATCH] Deploy: pod-launch explains an unconfigured install instead of suggesting --conf A fresh extract has net_*.conf.tmpl but no rendered confs until postinstall/ configure.ps1 runs; the old "pass --conf" error led straight to renaming the template by hand (which then breaks configure: the tokens never substitute and the tmpl is no longer found). Detect the sitting .tmpl and point at the real fix. Co-Authored-By: Claude Fable 5 --- emulator/pod-launch/Options.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/emulator/pod-launch/Options.cs b/emulator/pod-launch/Options.cs index 034c0e6..aa23239 100644 --- a/emulator/pod-launch/Options.cs +++ b/emulator/pod-launch/Options.cs @@ -95,8 +95,18 @@ namespace VwePod ?? throw new ArgumentException("dosbox-x.exe not found under root; pass --dosbox"); o.DosBoxDir = Path.GetDirectoryName(o.DosBox); - o.Conf = confArg ?? FirstExisting(Path.Combine(o.Root, o.Mode.ConfBase + ".conf")) - ?? throw new ArgumentException(o.Mode.ConfBase + ".conf not found under root; pass --conf"); + o.Conf = confArg ?? FirstExisting(Path.Combine(o.Root, o.Mode.ConfBase + ".conf")); + if (o.Conf == null) + { + // A .tmpl sitting there means the install was extracted but never + // configured -- point at the real fix, not at --conf. + bool unrendered = File.Exists(Path.Combine(o.Root, o.Mode.ConfBase + ".conf.tmpl")); + throw new ArgumentException(unrendered + ? o.Mode.ConfBase + ".conf not rendered yet: this install hasn't been configured.\n" + + "Run postinstall.bat (elevated) from the extracted zip root, or:\n" + + " powershell -File \\deploy\\configure.ps1 -Root " + : o.Mode.ConfBase + ".conf not found under root; pass --conf"); + } o.RendererExe = rendererArg ?? FirstExisting( Path.Combine(o.Root, "renderer.exe"),