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"),