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:
+11
@@ -213,3 +213,14 @@ func findWebView2Binary(dir string) string {
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// edgeBlockedMessage is shown when an Edge blocker is found in the way.
|
||||
//
|
||||
// It names the tool rather than the symptom: OpsLog draws its whole interface
|
||||
// with the WebView2 engine, which is Edge's, so a machine where Edge is blocked
|
||||
// cannot run it — and no amount of reinstalling OpsLog will change that.
|
||||
const edgeBlockedMessage = "OpsLog cannot start because Edge is blocked on this PC.\n\n" +
|
||||
"A blocker tool (or a policy) is stopping msedgewebview2.exe from running. " +
|
||||
"OpsLog draws its whole interface with that engine, so it cannot open its window.\n\n" +
|
||||
"Unblock Edge — in the tool that blocked it — and start OpsLog again. " +
|
||||
"The details are in the OpsLog folder under LOCALAPPDATA (startup.log)."
|
||||
|
||||
Reference in New Issue
Block a user