LesFerch / WinSetView

Globally Set Explorer Folder Views
MIT License
1.07k stars 46 forks source link

Support for Windows App SDK File Explorer #68

Closed mibby closed 1 year ago

mibby commented 1 year ago

Hello! Would it be possible to add support for the new Windows 11 Windows App SDK version of File Explorer?

For the last couple of months in the insider preview dev & canary channels, Microsoft has been rolling out the new file explorer for use. WinSetView does not seem to work with it, launching with just a blank screen. I've typically used WinSetView to force a global Documents view everywhere to speed up explorer navigation so it doesn't have to gather metadata like video file time length in folders with lots of files. Since the new SDK explorer, I've not been able to use WinSetView.

LesFerch commented 1 year ago

WinSetView still works fine for me with the Windows App SDK version of File Explorer.

What version of WinSetView are you running? Opening blank can happen in versions prior to 2.70 when you've closed WinSetView while it was minimized. Just press any Fn key after launching WinSetView and it will re-center. Or upgrade to the current version.

LesFerch commented 1 year ago

The Windows App SDK Explorer crashes if "Home" is set to Group by (None). I'll have to make sure it's set to its default of Group by Group.

For now, the only way I can see to detect the App SDK Explorer is to look for the key HKLM\System\CurrentControlSet\Control\FeatureManagement\Overrides\8\1273240205 and see if EnabledState is set to 2. Version 2.72 will include this check to ensure that Home doesn't get set to Group by None.

mibby commented 1 year ago

What version of WinSetView are you running?

I've tried v2.71 from https://github.com/LesFerch/WinSetView/archive/refs/heads/main.zip but unfortunately doesn't seem to display anything for me. Function keys don't reset the view, nor does win key + arrows to move the window. link

Prior versions of Windows insider builds (over a month ago) with the new explorer and older WinSetView version did have the orange UI pop up, but none of the contents inside were filled with options. Now there's nothing showing up. Perhaps it's just completely incompatible with the new W11 explorer in newer builds.

Currently on Windows 11 22H2 (OS Build 25346.1001) with the App SDK Explorer for reference.

HKLM\System\CurrentControlSet\Control\FeatureManagement\Overrides\8\1273240205 doesn't seem to exist for me but HKLM\SYSTEM\CurrentControlSet\Control\FeatureManagement\Overrides\0\1273240205 does, with EnabledState set to 1 & EnabledStateOptions set to 0.

mibby commented 1 year ago

It seems using v2.66, the orange UI does pop up like before without any options functional. It's just newer builds of WinSetView that break without anything showing up. Neither version works with the new explorer.

link

LesFerch commented 1 year ago

I'm running exactly the same Windows 11 22H2 (OS Build 25346.1001) with the App SDK Explorer. No problem here. I can't see any reason for the App SDK Explorer to cause this. If you revert back to the standard Explorer does it make any difference?

Since I'm not seeing any issue with the same build, I suggest trying a Repair Install and see if that gets it working properly.

LesFerch commented 1 year ago

Thanks for checking the FeatureManagement registry settings. I was hoping I had something that would at least work in the interim, but I guess not. Microsoft should have provided a clear way to programmatically check if the new version is enabled. Very annoying.

LesFerch commented 1 year ago

What's the path that you're running WinSetView from?

mibby commented 1 year ago

No problem here.

Very very odd. Maybe I've been enrolled into certain A/B feature tests for specific new file explorer feature that breaks it. Would have to check Vivetool.

I suggest trying a Repair Install

Unfortunately I'm unable to do a clean repair at the moment since I have files and configuration I cannot lose. Dism and sfc both return no integrity violations and usually new insider builds weekly repair any OS problems.

What's the path that you're running WinSetView from?

Tried desktop, downloads directory, and flash drive.

If you revert back to the standard Explorer does it make any difference?

I'll give it a try, just need to look up how to revert without breaking things.

LesFerch commented 1 year ago

What method did you use to enable App SDK Explorer? I used the steps here:

https://pureinfotech.com/enable-new-file-explorer-wasdk-xaml-windows-11/

Something else to try is install another Windows build in a VM. I use VMware Workstation Player 17 for all my VM testing.

mibby commented 1 year ago

What method did you use to enable App SDK Explorer?

None. I just let Windows enable it as part of the Canary channel features. I tried disabling it but WinSetView was still not working.

I went ahead and just re-installed 25346.1001 fresh and WinSetView was working immediately after setup. However after a couple restarts, updates, reinstalling programs, importing all microsoft settings like privacy / group policy options, it stopped working again. I went through all group policy options I use but none of them affect it. Same with app privacy options. I'm really not too sure what is breaking it so assuming the updates / restarts re-enabled some feature flags that just conflict.

Is there perhaps any way to log the actions WinSetView takes when opening to debug why it fails?

LesFerch commented 1 year ago

To log what WinSetView is doing, you'd either have to modify the HTA from 2.66 or install VbsEdit and modify the HTM files from 2.71. Much easier for me to do if I can recreate the issue.

reinstalling programs

Which programs?

importing all microsoft settings like privacy / group policy options

Can you send me a file or the steps you followed?

Anything I've tried to intentionally break WinSetView with the same symptoms generates an error message. Just having it stop blank (or semi-blank in the case of 2.66) is a mystery. It kind of looks like MSHTML is broken, although you wouldn't even get the partial page in 2.66 if MSHTML is removed.

mibby commented 1 year ago

Which programs?

Normal programs like GitHub Desktop, Rider IDE, Firefox, vsredist++, notepad++, GPU driver, WinRAR, etc. Nothing that would normally affect the OS like an anti-virus.

Can you send me a file or the steps you followed?

The group policy options. link

Everything else was just going through every option in normal Windows Settings to customize or disable things such as sticky keys, game mode, HAGS, UAC, and all the Privacy & security options. Nothing that would normally affect Explorer I don't think. Did not make any changes in registry or vivetool.

File Explorer changes I made. https://imgur.com/a/DyU368z

I think an insider testing feature flag just gets enabled after routine updates / restarts that break it in my environment.

LesFerch commented 1 year ago

I agree. Nothing there looks suspect. But something changed between the initial build and the various installs/updates that broke WinSetView. Very strange. I'm currently waiting to get the automatic update to the Windows App SDK File Explorer. Nothing yet. I couldn't find any way to accelerate that process.

I guess you're running Pro. I only have a license for Home, so that's what I'm running. My test machine also doesn't meet Windows 11 requirements. Not sure if that makes a difference to what gets installed or enabled.

From that list, the one thing I would try is removing the GPU driver. It shouldn't matter, but who knows...

LesFerch commented 1 year ago

Is there any chance that VBScript has been disabled on your computer?

mibby commented 1 year ago

No worries. Maybe certain conditions get met when TPM and Pro license are used. I can only imagine some feature flag is being enabled after a restart that is breaking it. Since the App SDK explorer is still under insider builds (dev / canary) and I'm the only one that seems to experience WinSetView breaking, don't worry too much about it. It has to be some combination of vive flags. I can still set documents view with regedit batch files.

Is there any chance that VBScript has been disabled on your computer?

Oh god, is that it?! I actually removed that under optional features since it's deprecated. link

posted on wrong github account :')

LesFerch commented 1 year ago

Ah yes, that would be it. 😉

I see that's a new feature. I'll have to put a note in the docs about that. It's interesting that there's no option to disable JScript. VBScript and JScript are equivalent in regards to security.

LesFerch commented 1 year ago

Version 2.72 is now available. It now always sets the HomeFolder type to group by group, regardless of which File Explorer is enabled, so that fixes the one issue I found with the App SDK version. In hindsight, I should have always had it configured that way.

The Download Help Guide now also includes a note regarding the requirement for VBScript. In the future, if Microsoft uninstalls VBScript by default, I may rewrite it all in JScript. That's a few thousand lines of code I'd rather not touch, so we'll see about that.