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:
@@ -165,6 +165,14 @@ func main() {
|
||||
}()
|
||||
noteLaunchAttempt()
|
||||
bootLog("Windows %s", windowsVersion())
|
||||
bootLog("Edge policy: %s", edgePolicyNotes())
|
||||
// The blocker utilities: they leave an IFEO entry that makes Windows refuse
|
||||
// to run the WebView2 process at all. Named loudly, because a machine in
|
||||
// this state looks identical to one with a broken graphics driver.
|
||||
if blocked := edgeExecutionBlocked(); blocked != "" {
|
||||
bootLog("EDGE EXECUTION IS BLOCKED: %s — an \"Edge blocker\" tool is stopping WebView2 from starting", blocked)
|
||||
fatalBox("OpsLog", edgeBlockedMessage)
|
||||
}
|
||||
bootLog("WebView2 profile: %q", webviewDataPath())
|
||||
bootLog("entering wails.Run (window %dx%d, state %v)", width, height, startState)
|
||||
err := wails.Run(&options.App{
|
||||
|
||||
Reference in New Issue
Block a user