Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
valinet opened this issue Mar 18, 2023 · 36 comments
Closed
Labels
bug Something isn't working

Comments

@valinet
Copy link
Owner

valinet commented Mar 18, 2023

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

Discussed:

@valinet valinet added bug Something isn't working investigating labels Mar 18, 2023
valinet added a commit that referenced this issue Mar 18, 2023
… showing up in the menu on OS build 22621.1413+

Related issue: #1108
@valinet
Copy link
Owner Author

valinet commented Mar 18, 2023

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
Copy link

CthRio commented Mar 18, 2023

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.

@valinet
Copy link
Owner Author

valinet commented Mar 18, 2023

@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.

@valinet
Copy link
Owner Author

valinet commented Mar 18, 2023

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
Copy link

CthRio commented Mar 18, 2023

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....

@valinet valinet changed the title UWP apps do not show in Windows 10 Start menu on OS builds 22621.1344+ Non-Win32 apps do not show in Windows 10 Start menu on OS builds 22621.1344+ Mar 18, 2023
@th3-s7r4ng3r

This comment was marked as outdated.

@dicamarques14
Copy link

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)

@djcholapin
Copy link

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
Copy link

topia commented Apr 18, 2023

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.

@utilmind
Copy link

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... :(

@luisl173
Copy link

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

@djcholapin
Copy link

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.

@luisl173
Copy link

luisl173 commented Apr 27, 2023

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
Copy link

arcyc commented May 19, 2023

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

@valinet
Copy link
Owner Author

valinet commented May 19, 2023

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.

@Lyhtande
Copy link

Lyhtande commented May 28, 2023

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?

@djcholapin
Copy link

djcholapin commented Jun 12, 2023

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.

@FedericoD3
Copy link

... 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.

@vippium
Copy link

vippium commented Jun 21, 2023

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"

@djcholapin
Copy link

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.

@Amrsatrio
Copy link
Collaborator

Amrsatrio commented Oct 6, 2023

Fixed in the latest prerelease. Note that the first time an object in explorer is pinned, this may happen:
image

In this case you can unpin it and pin again which will always work. I will try to find a fix for this.

@Amrsatrio
Copy link
Collaborator

I've pushed a new prerelease that has flawless Pin to Start/Unpin from Start in Explorer and Start Menu. Just the Search window left because EP isn't loaded there.

@valinet
Copy link
Owner Author

valinet commented Oct 6, 2023

What's the plan with loading in the Search app? As far as I remember, I was experimenting with this at some point, long ago, idk if there are commits on the matter, when I was manually adjusting its position because I did not know any better at the time. Basically, EP has to drop beside it in some form (maybe dxgi.dll, maybe wincorlib.dll or something else...) from ep-setup, and then just minimally inject and patch whatever is required.

As a heads up, make sure to never import common controls in EP other than dynamically, because as soon as that is linked at compile time, the DLL breaks and doesn't work in all these processes it injects - I know this from a long time ago when I was experiencing with TaskDialogIndirect in GUI.c. Code is still there now, not used anymore, only TaskDialogIndirect is obtained at runtime using GetProcAddress.

@Amrsatrio
Copy link
Collaborator

So that Pin to Start/Unpin from Start works there, without modifying AppResolver.dll and StartTileData.dll on disk as per our goal of EP.

@valinet
Copy link
Owner Author

valinet commented Oct 6, 2023

So that Pin to Start/Unpin from Start works there, without modifying AppResolver.dll and StartTileData.dll on disk as per our goal of EP.

Yeah, no, I understood that from the get go, I was asking if you have any plans on tackling this as well? Obviously it needs to be injected in the search app to be able to alter it, true.

@Amrsatrio
Copy link
Collaborator

Amrsatrio commented Oct 6, 2023

Not really, right now my plans are

  • supporting Canary builds (check #general in our discord)
  • bringing back the old control center in a usable state with Win11 styles
  • trying to get the Win10 start menu animation back.

@valinet
Copy link
Owner Author

valinet commented Oct 6, 2023

Sounds lovely, good luck with all of that!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests