I have a client running my Mac/Win desktop app on Windows 11. He has two systems where my app from the front end looks like it hangs for a feature that uses a worker. This app was released over a year ago and I haven’t had anyone else report this error, which is a core feature.
Over the last week I’ve sent him special builds of my app which creates a log file to the desktop. The worker is launched (.start called) from a thread. The worker has .CorePercent = 90 and .MaxCoreCount = 128. Execution of the thread is logged before and after worker.start. However, the same log file contains absolutely nothing from the worker itself, including the start of the JobRequested event handler. I’ve tested the same app on my Windows 11 system and all works fine.
Does anyone have an idea what may be stopping my app from launching its worker on these client systems on Windows 11? The client is very helpful so I can build a small test app for him to run. Apart from creating log file calls around the worker start and from within the worker as I’ve done with my production app, is there anything else I can check for? In case there’s a write permission issue from the worker, is there a better way to log from a worker that doesn’t require a lot of work for my client? Are there any security apps or Windows settings that can stop a worker from launching?
I have the same problem with apps built with xojo 2021 to 2025r1. The app hang when tying to start the worker. In my case the problem was solved moving to xojo 2025r2.1. I have not tried building with later versions.
My client replied last night to say they never clicked a block message, but when they add the worker exe filename to the Windows Defender exclusions list, my app is able to launch the worker.
Since Jan 31, I had another client report the same issue where my app couldn’t launch the worker. He tried adding the worker file name to the Windows Defender exclusion list but that did not help. Then he had the idea to call the worker from the Command Prompt using the command:
MyWorker.exe - Entry Point Not Found
The procedure entry point ThreadDetach could not be located in the dynamic link library C:\Program
Files\MyAppName\Helpers\Workers\MyWorker.exe.
My client found on Google that this was most likely caused by the worker accessing old runtime files. So he did a full un-install of my app, then a new install and all worked great. He admitted that he most likely installed a new version of my app without doing an un-install first.
So I contacted my client from Jan 31, who was still having issues. An un-install and re-install fixed his problem too.
I’ll look into how I can get my Windows installer to clear old files before doing an install, and I’ve added a message to my app to suggest an un-install and re-install if the worker doesn’t run.
Just adding here in case others have issues with their apps launching workers on Windows.