valinet/ExplorerPatcher

Non-Win32 apps do not show in Windows 10 Start menu on OS builds 22621.1344+

valinet opened this issue Β· 29 comments

Something changed in the Windows 10 Start menu implementation that prevents it from displaying tiles and entries for non-Win32 (UWP) apps.

Discussed:

The fix may be to stop using old versions of StartTileData.dll and AppResolver.dll, and instead use the OS inbox versions. The problem with this is, as it the long standing case of pining tiles from File Explorer, that pining/unpining to the Windows 10 Start menu doesn't work properly:

  • Right click app -> Pin to Start does not work. Alternative: drag tile from app list to the tile area
  • Right click tile -> Unpin from Start does not even appear. The menu fails to determine correctly whether the tile is pinned. Alternative: none
  • Same actions from File Explorer: not working.
CthRio commented

The fix may be to stop using old versions of StartTileData.dll and AppResolver.dll, and instead use the OS inbox versions. The problem with this is, as it the long standing case of pining tiles from File Explorer, that pining/unpining to the Windows 10 Start menu doesn't work properly:

  • Right click app -> Pin to Start does not work. Alternative: drag tile from app list to the tile area
  • Right click tile -> Unpin from Start does not even appear. The menu fails to determine correctly whether the tile is pinned. Alternative: none
  • Same actions from File Explorer: not working.

I found that StarDock's Start11 static tile (experiment) is still valid, even if I adjust the start menu style, I monitor its API calls (I just took a brief look, but didn't go into detailed research on its assembly, and their software is commercial, which may involve some special disputes). It's also uses a Hook (start10_64.dll) and Function: CreateWindowInBand and GetPackagesByPackageFamily, but it works, and the tiles still work. Developers can try and see how they do it.

P.S.: I have also found that receiving the recreated messages from the taskbar through a transparent window has an effect on preventing constant crashes, as the resource manager will send special messages to all top-level windows during the rebuild process. And there are two undisclosed functions that may be valid: HungWindowFromGhostWindow and GhostWindowFromHungWindow.

@CthRio Sorry, I don't understand what you have said. As far as I know, Stardock uses their own reimplementation of a menu that looks like the Windows 10 one. Even if it supported live tiles, which as far as I know, doesn't, it still is a custom menu.
ExplorerPatcher just patches the old Windows 10 menu made by Microsoft which is still shipped with Windows to make it work. Right now, it has to be patched further to map to the correct backend when querying whather a tile is pinned to Start, when pinning/unpinning etc. and then it could theoretically work with the StartTileData.dll from the current build. In the past, it was using the DLL from build 22000.51 as a workaround, but using that today results in it not displaying UWP apps because Microsoft updated the backend, it seems.

I understand. I'm looking forward to the updated EP, come on!

Me too. I was hoping someone else already figured it out by now. Pfff....

CthRio commented

To be honest, Microsoft's update is too sudden for users who use custom UI. :(

I understand. I'm looking forward to the updated EP, come on!

Me too. I was hoping someone else already figured it out by now. Pfff....

I sent an email regarding this on early February, as opening issues were locked out. I am also hoping to see a solution soon.

Well i'm facing the same issue, I have Kitty ( a program to manage SSH connections) and I can't pin it to the start menu... I also have it already showing in the shell:AppsFolder like mentioned here: #1187 (comment)

The fix may be to stop using old versions of StartTileData.dll and AppResolver.dll, and instead use the OS inbox versions. The problem with this is, as it the long standing case of pining tiles from File Explorer, that pining/unpining to the Windows 10 Start menu doesn't work properly:

  • Right click app -> Pin to Start does not work. Alternative: drag tile from app list to the tile area
  • Right click tile -> Unpin from Start does not even appear. The menu fails to determine correctly whether the tile is pinned. Alternative: none
  • Same actions from File Explorer: not working.

Is there any chance we could get that modification through here, or any available tutorial in what to modify in the files, in order to make it work that way, whilst a fix is found ? I think for most of us, one the start menu is setup, then you just forget about it and would only rarely occasionaly unpin apps.

I suppose - at least in my own case - I'd rather :

  • Have full use of the start menu using all the apps, and if I need to unpin apps, just move them down for when the fix happens
    as opposed to :
  • Get a semi empty menu, having to type down every time I need to use an app, until the fix happens

I understand it can't be released in the official channel since it would actually be a flaw, vs incomplete for the other case, but for some of use (that are non tech saavy) who would like to use it that way in the meantime, is there any way we could implement that temporary solution by ourselves ?

topia commented

Unfortunately, that is not an easy workaround. Please refer to his next reply: #1108 (comment)

The root problem is the incompatibility between (bundled but not enabled) Windows 10 start menu implementation and the latest version of those DLLs.

Same issue, standard Microsoft Store apps, like Calculator or Skype doesn't appear in Win10-style Start menu.
I click "Pin to Start" menu, the tooltip that it pinned to menu popups, but the icon/tile doesn't actually appear in start menu... :(

For some reason, dxgi.dll in C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy seems to be the problematic DLL. After renaming it, ALL the UWP apps come back but right-clicking on any app will crash the menu
image
The same file on C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy seems to break something on the WiFi flyout too, leaving it like this:
image
Renaming the file or deleting it instantly fixes the problem and there's no issues as everything works as expected
image

Indeed it does make everything come back, and you can drag and drop apps to the start menu all over again. However as you mentionned :

  • The menu crashes when you right clic
  • Also, the live tile functionality is no longer working

Maybe there is something related, it was nice to see that they could still be displayed back, but let's see.

Indeed it does make everything come back, and you can drag and drop apps to the start menu all over again. However as you mentionned :

  • The menu crashes when you right clic
  • Also, the live tile functionality is no longer working

Maybe there is something related, it was nice to see that they could still be displayed back, but let's see.

Another issue that i forgot to mention about deleting/renaming dxgi.dll is that you can't reposition the start menu to the center of the screen and change its appearance to make it rounded

arcyc commented

The fix may be to stop using old versions of StartTileData.dll and AppResolver.dll, and instead use the OS inbox versions. The problem with this is, as it the long standing case of pining tiles from File Explorer, that pining/unpining to the Windows 10 Start menu doesn't work properly:

  • Right click app -> Pin to Start does not work. Alternative: drag tile from app list to the tile area
  • Right click tile -> Unpin from Start does not even appear. The menu fails to determine correctly whether the tile is pinned. Alternative: none
  • Same actions from File Explorer: not working.

I think given the choice of having all apps in the start menu vs. ability to pin apps, showing all apps would be the higher order bit

It’s kind of hard to write a changelog of β€œI fixed the UWP apps not appearing but it rather brakes pinning apps”. My priority is to fix it properly when I will have the time and energy to do it; in the mean time, I am more than happy should anyone choose to look on it and maybe fix it themselves - the code is all available in the repo. Furthermore, this also allows you to easily compile a version with any kind of β€œfix” you want, like what you suggested. I personally am against pushing half worked updates.

The fix may be to stop using old versions of StartTileData.dll and AppResolver.dll, and instead use the OS inbox versions.

Hello valinet,
where would I get OS inbox versions of StartTileData.dll and AppResolver.dll from? And should these files be replaced in Windows\System32?

Hi @Lyhtande, you wouldn't get those files. You need to wait until this is fixed.

Hi @Lyhtande, you wouldn't get those files. You need to wait until this is fixed

Thanks for the info :) It is strange, because the UWP apps work on different Windows 11 installations (all with the latest Windows updates). Only on my main PC I made the mistake to switch to the Windows 11 start menu and then back to the Windows 10 start menu in the Explorer Patcher settings. Since then live tiles and UWP apps have disappeared on this Windows installation.

Hello @Lyhtande If you wish, you can copy this files (StartTileData.dll and AppResolver.dll) from Windows\System32 to the folder, there AppResolverLegacy.dll and StartTileDataLegacy.dll are located (C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy in my case) and rename them to AppResolverLegacy.dll and StartTileDataLegacy.dll there (I would suggest to backup original AppResolverLegacy.dll and StartTileDataLegacy.dll). This will fix UWP apps, but brake pinning.

Hello @Lyhtande If you wish, you can copy this files (StartTileData.dll and AppResolver.dll) from Windows\System32 to folder of ExplorerPatcher (C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy in my case) and rename them to AppResolverLegacy.dll and StartTileDataLegacy.dll there (I would suggest to backup original AppResolverLegacy.dll and StartTileDataLegacy.dll). This will fix UWP apps, but brake pinning.

I would also like to do this @KDBalashevich but in the ExplorerPatcher Folder ("C:\Program Files\ExplorerPatcher"), there is no AppResolverLegacy.dll and StartTileDataLegacy.dll for me to backup... meaning that the software is not using those... correct? But I still have the same blank Win32 icons issue... What am I doing wrong?
image

I would also like to do this @KDBalashevich but in the ExplorerPatcher Folder ("C:\Program Files\ExplorerPatcher"), there is no AppResolverLegacy.dll and StartTileDataLegacy.dll for me to backup... meaning that the software is not using those... correct? But I still have the same blank Win32 icons issue... What am I doing wrong? image

@yodaluca23 I, probably, was not completely clear. You do not need the folder of ExplorerPatcher itself, but the folder it uses for this dlls. I am not shure if it is always the same, but in my case it was C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy. If it is not, you can find it using windows search for file AppResolverLegacy.dll.

@yodaluca23 I, probably, was not completely clear. You do not need the folder of ExplorerPatcher itself, but the folder it uses for this dlls. I am not shure if it is always the same, but in my case it was C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy. If it is not, you can find it using windows search for file AppResolverLegacy.dll.

Ohhh ok, I thought that was the file path I was supposed to get the new DLLs from. Then where should I get the fixed new DLLs?

Edit: nvm, looked at your original comment, I get it from system32.

@yodaluca23 C:\Windows\System32. However they are not completely "fixed". While fixing this issue they brake pinning.

Ok, @KDBalashevich so I did that, rebuilt the icon cache, and restarted, but the icons are still missing...

@yodaluca23 it seems that you have a different kind of issue then.

As a temporary workaround, just throwing this out there : Is it possible to implement a toggle in Explorer patcher / Start Menu, deactivated by default, that mentions "Forced display of Non-Win32 App in Start menu". With a small description below like "Activating this option will remove your ability to pin/unpin an app from the Start Menu, and to display the context menu. Untoggled to recover those options, this will also remove any Non-Win32 App's tile from the start menu"

When the toggle is on, OS inbox versions of StartTileData.dll and AppResolver.dll are used. When the toggle is off, old versions of StartTileData.dll and AppResolver.dll are still in use.

I know it's not an ideal scenario, but that will avoid people to start messing around replacing DLL's back and forth, and give us the option, without actually breaking any functionality, since the toggle would be deactivated by default.

Personnaly I would never have the need to unpin an app one my start menu is set, and the only times I would use the context menu, would be to run as an administrator or open the location's folder. Which I can easily do, on those rare occasions, using the start menu instead of the tiles. I feel it would be a good compromise, as still allowing to go back if we do need to, and it keeps existing functionalities as they are.

Just a though.

Edit : Recovering live tiles is also the number one reason why I installed EP in the first place, I suspect it is the case for many, as other apps were either not working, or lagging.

... Alternative: drag tile from app list to the tile area ...

... I also have it already showing in the shell:AppsFolder ...

Worked for me after some hoop-jumping:

  • My problem was mainly with notepad and calculator, and those are not shown in my Windows10-styled Start Menu (without performing a search, and then the tiles area dissappear) and neither does Accessories folder from which to drag them to the tile area.
  • Enter the shell:AppsFolder trick: there werw Notepad and Calculator. Right-click > Pin to Start don't work from there either, but Right-click > Create shortcut (on the desktop) does. Then I moved the shortcuts to %AppData%\Microsoft\Windows\Start Menu\Programs and then the shortcud did appear en my Start Menu, BUT with their icons replaced with empty squares.
  • I could succesfully pin and/or drag those shortcuts on the Start Menu to the tiles area despite the missing icons, move them to their customized groups and they started their apps as intended.
  • More hoops regarding the icons: I could right-click > properties on both Notepad and Calculator icons in %AppData%\Microsoft\Windows\Start Menu\Programs and re-assign their icons. Calculator is in its usual place in C:\Windows\System32\calc.exe but the one in C:\Windows\System32\notepad.exe is the old-style icon (found the modern one in C:\Program Files\WindowsApps\Microsoft.WindowsNotepad_11.2304.26.0_x64__8wekyb3d8bbwe\Notepad\Notepad.exe after playing with C:\Program Files\WindowsApps permissions)

Now all is workarounded well.

Rant: Why does Microsoft make this so convoluted and remove useful features like star menu tiles and grouping? Linux desktop environments are no better.

For Pinning Apps : Just Drag&Drop the app to the Tile Area.

For Unpinning Items : R-Click on group name and click "Unpin Group from Start"

I'm not very keen into messing up with win32 DLLs. A future windows update could mess the whole thing up again, and if that happens after months / years, you can loose sight of the DLL that has been removed.