|
Post by R.O.B. on Aug 12, 2019 7:54:17 GMT -8
One of the biggest issues I've always had with Windows 8 (and Windows 10) are binary UIFILE resources. Don't know what I'm talking about? Well, I think this would be best explained with the following screenshot: Not only is this a pretty big roadblock for customizing modern versions of Windows, but it actually prevents us from fixing certain things that are currently broken with the classic theme. So yes, I would consider this issue to be a very important one, and one that desperately needs to be solved. Well, user drakkar1969 on the Vista Style Builder forums has given us a solution! Allow me to introduce you to a wonderful little tool known only as uib2t.exe. This command-line application lets you convert these compiled UIFILE formats into editable XML format, so that they can be edited like in previous versions of Windows. It's pretty easy to use, and the best part is you don't even have to recompile anything: just replace the compiled resources using Resource Hacker with the XML ones, and you're good to go! Like I said, this is a pretty big deal, and it has a lot of potential to let us fix features that are currently broken. In fact, using it in combination with the authenticode trick has already allowed us to do this in Windows 8.1: It might be a bit unpolished at the moment, and unfortunately there isn't a version that works with Windows 10 yet. But hopefully it helps demonstrate what we might be able to accomplish with this trick. Speaking of which, I believe this could possibly even allow us to fix things like the login screen without Aero/DWM. However, this would require far more work than Task Manager, and I'm honestly not even 100% sure it's possible as of now (mainly because it's based on the Metro UI, making it a bit different from your traditional DUIXML). But I think it certainly does have some potential. I hope this can be put to good use, and I'm very excited to see what can be done with this. EDIT: 11/19/2019 - drakkar1969 has given me permission to provide a mirror of uib2t for those who don't have a WSB license. All credit goes to him! Download uib2t.exeTask Manager Fix (Windows 8 only) Win8_TaskMgr_ClassicTheme_Fix_v1.res (165.39 KB)
|
|
|
Post by The Jackal on Aug 12, 2019 11:03:37 GMT -8
W8's Task Manager looks odd with Classic theme elements. Good find.
|
|
|
Post by powerplayer on Aug 12, 2019 17:54:27 GMT -8
nice now we need a win10 version too
|
|
|
Post by R.O.B. on Aug 15, 2019 9:06:51 GMT -8
W8's Task Manager looks odd with Classic theme elements. Good find. Well, the reason it wasn't working is actually because a lot of its elements just straight up didn't have any styles for the classic theme. So I had to do my best to guess the appearance of each element, and fill in what was missing. I'm actually not 100% happy with it in its current state. The expand/collapse buttons in the processes tab don't look right to me (I wish I could have used the styles for the expand/collapse (+/-) buttons seen in tree views, and I might still look into doing this) and the position of the sort arrows in some of the column headers is a bit off. I also wish I could add a ClientEdge style to a lot of the list views, but the way a lot of the UIFILE is structured makes it kind of difficult to implement this. nice now we need a win10 version too I'd like to do a version for Windows 10 at some point. Although to tell you the truth, this alone was already a lot of work, and the idea of doing a lot of it all over again is a bit overwhelming to me at the moment. Right now, I'm trying to improve the Windows 8 one, since I don't want to keep implementing more or less the same changes to two separate versions. I'll try to look into it eventually, though.
|
|
|
Post by anixx on Aug 15, 2019 10:42:04 GMT -8
Does it mean all new programs by default will not support classic theme?
|
|
|
Post by R.O.B. on Aug 15, 2019 19:47:28 GMT -8
Does it mean all new programs by default will not support classic theme? If you're talking about newer stuff that's currently broken with the classic theme, then the answer is yes, and no. Anything that uses a traditional UIFILE is fixable 99.9% of the time. This includes things like Task Manager (obviously) and the broken Control Panel pages (working on those right now as well). It's with the Metro/Immersive stuff where things start to get messy, and it's only gotten worse with Windows 10. If I'm not mistaken, a lot of that is XAML based, which is a completely different ballgame when it comes to fixing things with the classic theme. I'm not even sure if it's possible yet, and even if it is, I would have no clue where to start. Thing is, since that never really officially co-existed with the classic theme (unlike UIFILEs), I would have absolutely no point of reference, outside of maybe WPF. And even then, I think even a pretty big stretch. With that being said, however, if the XAML issue can be resolved, then I'm pretty sure we should have no problem fixing the majority of issues with the classic theme on Windows 10, including the taskbar, the immersive context menus, and UWP apps (including the Settings app). I'll continue to dig, and see if I can find out anything else. And once I'm done with the Control Panel pages, I'll publish those, along with the method I used to fix them (which is pretty much the exact same method used to fix Task Manager).
|
|
|
Post by powerplayer on Aug 15, 2019 21:47:52 GMT -8
Now here is an idea with your newfound skills you could make a cpl file that handles the taskbar settings extracting stuff from older win7 or win8 shell32.dll and put it there right?
|
|
|
Post by anixx on Aug 15, 2019 22:26:15 GMT -8
Anything that uses a traditional UIFILE is fixable 99.9% of the time. This includes things like Task Manager (obviously) and the broken Control Panel pages (working on those right now as well). My question was not about possibility of fixing but about the default case. Should we expect that any new application will not work in classic theme without special fixing?
|
|
|
Post by The Jackal on Aug 16, 2019 12:04:15 GMT -8
W8's Task Manager looks odd with Classic theme elements. Good find. Well, the reason it wasn't working is actually because a lot of its elements just straight up didn't have any styles for the classic theme. So I had to do my best to guess the appearance of each element, and fill in what was missing. I'm actually not 100% happy with it in its current state. The expand/collapse buttons in the processes tab don't look right to me (I wish I could have used the styles for the expand/collapse (+/-) buttons seen in tree views, and I might still look into doing this) and the position of the sort arrows in some of the column headers is a bit off. I also wish I could add a ClientEdge style to a lot of the list views, but the way a lot of the UIFILE is structured makes it kind of difficult to implement this. You've done great here, it's just strange to see the modern Task manager without's it's usual fugly white background and decked out in classic theme. It's a massive improvement.
|
|
|
Post by R.O.B. on Aug 16, 2019 19:22:15 GMT -8
Now here is an idea with your newfound skills you could make a cpl file that handles the taskbar settings extracting stuff from older win7 or win8 shell32.dll and put it there right? I think you're giving me too much credit, lol All I've done here is fix the UI. I haven't changed/added any functionality to the underlying code; everything that's there was already there. Creating an entirely new application for changing taskbar settings is probably more feasible than creating a new Control Panel page. My question was not about possibility of fixing but about the default case. Should we expect that any new application will not work in classic theme without special fixing? I see. Well to answer that, it would really depend on the application in question. But I would say in general, we shouldn't count on future programs just automatically working with the classic theme, since it's not officially supported by Microsoft. The procedure for fixing whatever is broken will most certainly be different case to case, but I believe that certain fixes could easily be shared between different applications, if they share common APIs. It just depends on what the specific issue is. You've done great here, it's just strange to see the modern Task manager without's it's usual fugly white background and decked out in classic theme. It's a massive improvement. Thank you, I'm glad you like it. By the way, I didn't take your previous post personally at all. Don't get me wrong, I'm actually quite happy with how it's coming along overall. I just don't really consider it complete in its current state, but I didn't want to let that keep me from publishing this information (hence, the "v1" at the end of the file name). There's still plenty of room for improvement, and I'm open to suggestions if anyone has any.
|
|
|
Post by anixx on Aug 26, 2019 10:33:40 GMT -8
How can I download uib2t.exe?
|
|
|
Post by R.O.B. on Aug 26, 2019 19:56:05 GMT -8
How can I download uib2t.exe? Oh, yeah now that I look at it, I guess you do have to be a registered WSB forum member in order to download. Well, in the interest of not locking this behind a paywall, I'll try to contact drakkar1969 to see if it's alright to mirror it.
|
|
|
Post by kikigames on Aug 27, 2019 23:02:52 GMT -8
Where can I download it? Sadly I not have a serial for VSB... So there is no way to me to use that tool?
|
|
|
Post by R.O.B. on Nov 19, 2019 22:16:10 GMT -8
Good news, everyone! I have been given permission to provide a mirror for those who don't have a WSB license! Here is a download link for those who are interested: Download uib2t.exeShutouts to drakkar1969 for creating this awesome tool, and for letting me mirror it. All credit goes to him.
|
|
|
Post by The Jackal on Nov 21, 2019 12:19:51 GMT -8
Awesome, I'm still pretty green at this stuff, but this will come in handy for sure. Thanks for posting.
|
|
|
Post by strontium on Jun 7, 2020 6:11:03 GMT -8
Task manager has digital sig stamped over it which you need to bypass when you do the editing of its contents. Sure thing u can disable sig checking by removing PK key in your motherboard firmware - to disable secure boot and then run bcdedit.exe -set loadoptions DISABLE_INTEGRITY_CHECKS but that will only allow you to install unsigned drivers. Task manager wont run. Proven. Tried this on 10 & 8 and to no avail.
How exactly did you bypass signature checking to run the Task manager after making your modifications? This aint gonna work. I have my own way of finding a way around digital sig barrier and it works but only with system DLLs like shell32.dll.
Task manager with invalid certificate wont run.
How were you able to run it after altering XML stylesheets?
|
|
|
Post by strontium on Jun 8, 2020 11:23:53 GMT -8
r.O.B. How did you manage to bypass integrity checks with your theming??? I dont get it. System default task manager is signed, isnt it? I remember changing its icons a couple years back lol. Every time I replaced the icon or changed a resource I ended up with a broken app. How did you put your stylesheets into it that you still were able to run it??? Can you clarify? Did you yourself do the tweaking or just posted screenshot of someones work?
|
|
|
Post by R.O.B. on Jun 9, 2020 17:43:00 GMT -8
r.O.B. How did you manage to bypass integrity checks with your theming??? I dont get it. System default task manager is signed, isnt it? I remember changing its icons a couple years back lol. Every time I replaced the icon or changed a resource I ended up with a broken app. How did you put your stylesheets into it that you still were able to run it??? Can you clarify? Did you yourself do the tweaking or just posted screenshot of someones work? That screenshot is my work, and yes, Task Manager is signed in Windows 8.1. In order to make any changes to it, you will first need to delete its signature (see this thread for details on how to do that), perform your desired modifications, and then boot with Driver Signature Enforcement disabled. To do this, you will first need to enable the boot menu, and restart your system. When you get to the boot menu, press F8 to access the advanced startup options, and then select the "Disable Driver Signature Enforcement" option. There are more permanent solutions out there that don't involve pressing F8 on every startup. However, be warned that these methods are inconsistent at best in my experience, and are even reported to potentially cause problems that could prevent your system from booting. So do so at your own risk!
|
|
|
Post by strontium on Jun 10, 2020 12:30:29 GMT -8
r.O.B. How did you manage to bypass integrity checks with your theming??? I dont get it. System default task manager is signed, isnt it? I remember changing its icons a couple years back lol. Every time I replaced the icon or changed a resource I ended up with a broken app. How did you put your stylesheets into it that you still were able to run it??? Can you clarify? Did you yourself do the tweaking or just posted screenshot of someones work? That screenshot is my work, and yes, Task Manager is signed in Windows 8.1. In order to make any changes to it, you will first need to delete its signature (see this thread for details on how to do that), perform your desired modifications, and then boot with Driver Signature Enforcement disabled. To do this, you will first need to enable the boot menu, and restart your system. When you get to the boot menu, press F8 to access the advanced startup options, and then select the "Disable Driver Signature Enforcement" option. There are more permanent solutions out there that don't involve pressing F8 on every startup. However, be warned that these methods are inconsistent at best in my experience, and are even reported to potentially cause problems that could prevent your system from booting. So do so at your own risk! Thought the forum is dead lol Appreciate the link. I didnt realize removing sig will do any good since shell32.dll stuffed with modifications loads without a hitch regardless of whether sig is broken or valid. Which made me think task manager would load too. But it did not. I successfully removed the sig though but my attempts to make it run bore no fruit. I read your replies in that thread though. However I doubt there exist any permanent solutions to disable sig enforcement. Ive traversed a ton of threads over at microsoft forums and found no permanent fix. The best you can do is force advanced startup options on every boot: bcdedit /set {globalsettings} advancedoptions true, and then punch that F7 button whenever you restart your computer. Since it works only till the next restart. I also tried this on windows 8 and arrived at the same buggery. On windows 8 though, when you run bcdedit, it even says: IntegrityServices: Enabled even though you just put the system in test mode. With signing disabled, task manager loads fine and all is peachy. But that doesnt seem to be achievable on permanent basis. If you know of any other solutions, drop a note below.
|
|
|
Post by R.O.B. on Jun 11, 2020 9:18:25 GMT -8
Thought the forum is dead lol Nah, we're still going, lol. Appreciate the link. I didnt realize removing sig will do any good since shell32.dll stuffed with modifications loads without a hitch regardless of whether sig is broken or valid. Which made me think task manager would load too. But it did not. I successfully removed the sig though but my attempts to make it run bore no fruit. I read your replies in that thread though. However I doubt there exist any permanent solutions to disable sig enforcement. Ive traversed a ton of threads over at microsoft forums and found no permanent fix. The best you can do is force advanced startup options on every boot: bcdedit /set {globalsettings} advancedoptions true, and then punch that F7 button whenever you restart your computer. Since it works only till the next restart. I also tried this on windows 8 and arrived at the same buggery. On windows 8 though, when you run bcdedit, it even says: IntegrityServices: Enabled even though you just put the system in test mode. With signing disabled, task manager loads fine and all is peachy. But that doesnt seem to be achievable on permanent basis. If you know of any other solutions, drop a note below. I managed to disable driver signature enforcement permanently in a VM once, but I'm not really sure how I did it, nor have I been able to replicate it (that VM is unfortunately trashed now, anyway). Even if I did know how I accomplished this, I would still not recommend it due to the reported boot issues. Never used F7 to disable it, tbh. I've always done it by using the F8 boot menu with these bcdedit commands: bcdedit /set {bootmgr} displaybootmenu true bcdedit /set {current} bootmenupolicy Legacy That should let you get to this screen by pressing F8, where you can select the option to disable DSE: Test mode has never worked for me either. I've seen a few people who were reportedly able to get things to work by re-signing files, but I've never had any success with this myself. So this is the method I would recommend using for now. I know it's not super practical, but it works, and it should be a bit safer than than trying to disable DSE permanently.
|
|