Ha! I just learned something new. Because Notepad++ uses a Win32 installer, when WinGet tries to update the app, it will hang if Notepad++ is open. That’s how a Notepad++ update stalls WinGet. Fortunately, I was able to get over that hump pretty easily. Let me explain…
Why Say: Notepad++ Update Stalls WinGet?
WinGet stayed on the first update until I realized the program was open. Then I closed it, and about 30 seconds later, progress resumed. According to Copilot, Notepad++ uses a “classic Win32 installer” that’s downloaded and run silently. That installer tries to replace files in C:\Porgram Files\Notepad++, including notepad++.exe. If the file is running, Windows won’t let the installer overwrite that file.
So it waits a while (30, 60 and 90 seconds, according to Copilot) and retries after each interval expires. When the third try fails, the installer reports failure and closes. I was able to close the app before the second try, and then that attempt succeeded, which is how it took a while to complete the update process.
Moral of the story: when certain apps pop up in response to WinGet ugprade it’s a good idea to make sure they’re closed. Indeed, if such updates fail, they’ll most likely succeed if you close them before a retry. And man, isn’t that just the way things work here in Windows-World? Some of the time, at least…
Another Stall, Another Reason…
I ran WinGet again on another PC and once again it hung. But Notepad++ wasn’t open on that PC. So I went digging into the log file named WinGet-2025-12-29-11-42-19.224.log. There, I found a long sequence of the following two information lines (I skipped the timestamp info for brevity:
[REPO] Attempting to open pinning database: C:\Users\ed\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\pinning.db [CLI ] Terminating context: 0x8a15002b at C:\__w\1\s\external\pkg\src\AppInstallerCLICore\Workflows\UpdateFlow.cpp:be
This started at 11:42:22.609 and ended at 11:42:22.929 (0.320 seconds) and repeated every .002 seconds (160 times). It seems that, for some reason, WinGet couldn’t access its pinning database during that time period. Thus, WinGet stalls until that condition is addressed. Another stall, but another reason, too. Cheers.