feat(startup): name an Edge blocker instead of hanging

Confirmed on the machine that started this: an 'Edge blocker' utility was
in the way, and unblocking Edge fixed the launch.

Those tools work by registering a Debugger entry under Image File
Execution Options for msedge.exe and msedgewebview2.exe, so Windows
refuses to run the process. The runtime is installed and registers its
version quite happily — which is why the logs showed WebView2 present —
and then never starts. OpsLog draws its whole interface with that engine,
so the window never opened: no error, no crash, a process sitting there
doing nothing.

That entry is read at startup now and said plainly, in the log and on
screen, with the one thing that helps: unblock Edge in the tool that
blocked it. Reinstalling OpsLog cannot fix a machine in this state, and
that is where an unexplained silence sends people.

Also logs the Windows build and which Edge policies are set — value names
only, never their contents: a policy key holds URLs and account names
that are nobody's business here.
This commit is contained in:
2026-08-25 21:19:37 +02:00
parent 9887b2aa78
commit 14bb92fac0
5 changed files with 96 additions and 2 deletions
+4 -2
View File
@@ -19,7 +19,8 @@
"Dropdown lists open over whatever is beneath them instead of being cut off by it. The satellite list showed one entry of eight, clipped by the panel it sat in.",
"A launch that fails before the window exists now says why. OpsLog keeps its log in the data folder beside the program, so anything that went wrong BEFORE that folder existed left nothing to read anywhere — the process appeared and vanished in silence. Startup milestones are written to %LOCALAPPDATA%OpsLogstartup.log, and the three silent exits (already running, the data folder cannot be written — Program Files refuses it — and the window itself failing to open, usually a missing WebView2) now show a message saying which one it was. The log also names the installed WebView2 runtime — the one dependency OpsLog cannot carry inside itself, and whose absence is otherwise invisible — and marks each milestone up to the window painting, so a launch that produces nothing can be placed exactly.",
"WebView2 is given an explicit profile folder on the local disk (LOCALAPPDATAOpsLogWebView2) instead of the roaming default, which on a redirected or managed account can hang rather than fail. And when a launch never opens its window, the next one retries with GPU acceleration off and says so — a WebView2 that cannot get on with the graphics driver hangs exactly like one that cannot start at all, and that is the one lever telling them apart.",
"OpsLog can now use a FIXED-VERSION WebView2 runtime carried beside it: drop the folder Microsoft publishes next to OpsLog.exe and it is used, with nothing to install and no administrator. It is the way in for a machine where the Evergreen installer itself will not run — a locked-down, offline or managed Windows — where until now there was none. The startup log also records the Windows build, since 'WebView2 will not install either' is a statement about the machine rather than about OpsLog."
"OpsLog can now use a FIXED-VERSION WebView2 runtime carried beside it: drop the folder Microsoft publishes next to OpsLog.exe and it is used, with nothing to install and no administrator. It is the way in for a machine where the Evergreen installer itself will not run — a locked-down, offline or managed Windows — where until now there was none. The startup log also records the Windows build, since 'WebView2 will not install either' is a statement about the machine rather than about OpsLog.",
"An 'Edge blocker' in the way is now named at startup. Those tools stop msedgewebview2.exe from running, and since OpsLog draws its whole interface with that engine, the window simply never opened — no error, no crash, a process sitting there doing nothing. It is detected and said plainly, with what to do about it."
],
"fr": [
"Console Elecraft : les mesures d'émission sont lues dès que la RADIO se déclare en émission, et plus seulement quand OpsLog l'a mise en émission. Passer en émission par le PTT de façade, une pédale ou le bouton du micro laissait le panneau croire à une réception — et comme les barres de puissance et de ROS ne sont lues qu'en émission, elles ne l'étaient jamais pour qui manipule à la main.",
@@ -38,7 +39,8 @@
"Les listes déroulantes s'ouvrent par-dessus ce qui les entoure au lieu d'être coupées par lui. Celle des satellites n'affichait qu'une entrée sur huit, tronquée par le panneau qui la contenait.",
"Un lancement qui échoue avant l'apparition de la fenêtre dit maintenant pourquoi. OpsLog tient son journal dans le dossier data, à côté du programme : tout ce qui échouait AVANT la création de ce dossier ne laissait donc aucune trace nulle part — le processus apparaissait et disparaissait en silence. Les étapes du démarrage sont écrites dans %LOCALAPPDATA%OpsLogstartup.log, et les trois sorties silencieuses (déjà lancé, dossier data impossible à écrire — Program Files le refuse — et fenêtre qui ne s'ouvre pas, généralement un WebView2 manquant) affichent désormais un message disant laquelle c'était. Le journal indique aussi la version du runtime WebView2 installé — la seule dépendance qu'OpsLog ne peut pas embarquer, et dont l'absence est autrement invisible — et marque chaque étape jusqu'à l'affichage de la fenêtre, si bien qu'un lancement sans résultat peut être situé précisément.",
"WebView2 reçoit un dossier de profil explicite sur le disque local (LOCALAPPDATAOpsLogWebView2) au lieu du dossier itinérant par défaut, qui sur un compte redirigé ou administré peut bloquer au lieu d'échouer. Et lorsqu'un lancement n'ouvre jamais sa fenêtre, le suivant réessaie sans accélération GPU et le dit — un WebView2 qui ne s'entend pas avec le pilote graphique se bloque exactement comme un WebView2 qui ne démarre pas, et c'est le seul levier qui les distingue.",
"OpsLog peut désormais utiliser un runtime WebView2 en VERSION FIXE transporté à côté de lui : il suffit de déposer le dossier publié par Microsoft à côté d'OpsLog.exe pour qu'il soit utilisé, sans rien installer et sans droits administrateur. C'est la porte d'entrée pour une machine où l'installeur Evergreen lui-même refuse de s'exécuter — Windows verrouillé, hors ligne ou administré — là où il n'y en avait aucune. Le journal de démarrage note aussi la version de Windows, « WebView2 ne s'installe pas non plus » étant une information sur la machine et non sur OpsLog."
"OpsLog peut désormais utiliser un runtime WebView2 en VERSION FIXE transporté à côté de lui : il suffit de déposer le dossier publié par Microsoft à côté d'OpsLog.exe pour qu'il soit utilisé, sans rien installer et sans droits administrateur. C'est la porte d'entrée pour une machine où l'installeur Evergreen lui-même refuse de s'exécuter — Windows verrouillé, hors ligne ou administré — là où il n'y en avait aucune. Le journal de démarrage note aussi la version de Windows, « WebView2 ne s'installe pas non plus » étant une information sur la machine et non sur OpsLog.",
"Un « bloqueur Edge » qui gêne est désormais nommé au démarrage. Ces outils empêchent msedgewebview2.exe de s'exécuter et, comme OpsLog dessine toute son interface avec ce moteur, la fenêtre ne s'ouvrait tout simplement jamais — sans erreur, sans plantage, un processus qui reste là sans rien faire. C'est détecté et dit clairement, avec la marche à suivre."
]
},
{