Windows Archive
Microsoft has been working to bring win32 desktop apps and its Universal Windows Platform (UWP) apps closer together in recent years. That work has an official name now: Project Reunion. It’s the latest twist in Microsoft’s promise of universal apps that run across multiple Windows 10 devices, and Microsoft is now referring to traditional desktop apps and UWP ones as simply “Windows apps.” “The idea behind Project Reunion is that it allows developers to build one Windows application and target all 1 billion Windows devices,” explains Rajesh Jha, executive vice president of Microsoft’s Experiences and Devices Group. “We’re bringing together the combined power of win32 and UWP so developers no longer have to choose because we’re unifying these existing APIs and in some way decoupling them from the OS.” Microsoft has tried to kill Win32 so many times, but it just refuses to die. The company seems to be throwing its hands in the air saying fine, if you nerds want Win32, you get Win32. I hope this will make it easier for older, more monolithic Win32 applications to be modernised.
Microsoft is promising to dramatically improve its Windows Subsystem for Linux (WSL) with GUI app support and GPU hardware acceleration. The software giant is adding a full Linux kernel to Windows 10 with WSL version 2 later this month, and it’s now planning to support Linux GUI apps that will run alongside regular Windows apps. This will be enabled without Windows users having to use X11 forwarding, and it’s mainly designed for developers to run Linux integrated development environments (IDE) alongside regular Windows apps. Microsoft is really trying very hard to bring as much of the Linux world to Windows, to the point where both seem to be almost merging into one. It’s a fascinating future for sure, but for me personally, it won’t draw me back to Windows from Linux. That being said, the technology behind all this is deeply fascinating and interesting – among other things, Microsoft is bringing Direct3D 12 to Linux, but only to WSL, and it’s closed source. I have no idea if this could be of any benefit to Wine/Proton, but if it will be, it could be huge.
After bringing Objective-C to the Amiga, why not to some older Windows versions as well? Yesterday, I got the idea to port ObjFW to Windows NT 4.0. Considering the lowest supported Windows version so far was Windows XP, this seemed like it would not be too much work. However, the biggest problem was getting a toolchain that still supports Windows NT 4.0! After the compiler no longer created binaries that had missing symbols on Windows NT 4.0 and a few minor changes later, all tests were running successfully. Later that evening, I wanted to take things further and thought: If we have Windows NT 4.0 now, why not Windows 98 SE as well? So now it was time to port everything else to the A APIs and voilà, all tests are running successfully.
Microsoft is beginning what will be a very long and drawn-out process of no longer supporting 32-bit versions of Windows 10. Beginning with Windows 10 version 2004, which is already available to OEMs and developers, the company is no longer offering a 32-bit version of the OS to OEMs for new PCs. The change is indicated on the Minimum Hardware Requirements documentation. Hardly surprising. We’re well past the point where new machines need 32bit Windows.
Microsoft is confirming today that it’s planning to refocus Windows 10X on single-screen devices. “The world is a very different place than it was last October when we shared our vision for a new category of dual-screen Windows devices,” explains Panos Panay, Microsoft’s Windows and devices chief. “With Windows 10X, we designed for flexibility, and that flexibility has enabled us to pivot our focus toward single-screen Windows 10X devices that leverage the power of the cloud to help our customers work, learn and play in new ways.” Microsoft isn’t saying exactly when single-screen devices like laptops will support Windows 10X, nor when dual-screen devices will launch with the OS. However, Windows 10X will launch on single-screen devices first. “We will continue to look for the right moment, in conjunction with our OEM partners, to bring dual-screen devices to market,” says Panay. If there’s one person that can pull off moving Windows forward, it’s Panay. I feel like this move points towards Windows 10X becoming the default version of Windows people will get when they buy a new PC – a Windows 11, if you will. It will have a new UI, and run Win32 applications inside containers. I’m interested to see if they can finally pull it off.
Microsoft is working on a tool that will let you replace the Windows Run feature on Windows 10. The Spotlight-like launcher for Windows 10 will be released later this year, as part of the company’s effort to customize Win+R and give users numerous features but keep the handling as easy as possible at the same time. Microsoft’s Spotlight-like launcher for Windows 10 is said to be part of PowerToys upcoming update. According to Microsoft, PowerToys Run is designed to replace Win + R shortcut. I use Ulauncher on my computers, and I can’t imagine using them without it. It’s about time a similar feature came from Microsoft, but the fact it’s a separate PowerToy thing and not a default on Windows means it’ll remain a niche thing. This should be standard out of the box.
Windows is getting support for browsing Linux file systems! Except, not really, since it only applies to WSL. We’ve had the ability to access your Linux files since Windows 1903, but now you can easily get to them from your left-hand navigation pane in File Explorer. Selecting the Linux icon will show you a view of all your distros, and selecting those will place you in the Linux root file system for that distro. As far as I can tell, this only applies to distributions installed through Windows Subsystems for Linux, not to actual distributions installed elsewhere on your computer (on other hard drives or partitions). Cool new feature, I guess, but properly sanctioned Windows support for Ext4 and other Linux-focused file systems would be so much more helpful.
In Windows 10 version 2004, we are introducing the concept of Hosted Apps to the Windows App Model. Hosted apps are registered as independent apps on Windows, but require a host process in order to run. An example would be a script file which requires its host (eg: Powershell or Python) to be installed. By itself, it is just a file and does not have any way to appear as an app to Windows. With the Hosted App Model, an app can declare itself as a host, and then packages can declare a dependency upon that host and are known as hosted apps. When the hosted app is launched, the host executable is then launched with the identity of the hosted app package instead of its own identity. This allows the host to be able to access the contents of the hosted app package and when calling APIs it does so with the hosted app identity. This seems like something that could be useful for progressive web apps, and maybe even Electron apps by making them use Edge Chromium’s rendering engine instead of having every Electron application use its own copy of Chromium, which could benefit performance and battery life.
You may have seen dark rumors around the Web that Microsoft is about to kill off the classic Control Panel. Rest assured, friend, we were as horrified as you are—but on more careful inspection, this seems not to be the case. That’s one of the many downsides of being at the mercy of closed operating systems like Windows or macOS – as a user, you’re not really in control, and your platform landlords can decide to remove vital functionality or features on a whim, and there’s nothing you can do about it. If you haven’t done so yet, I’d highly suggest start looking at open source alternatives before it’s too late, because I feel the noose is only going to tighten more, not less.
We have seen earlier that Microsoft’s designers are working on a new Start Menu for Windows 10 (not Windows 10X) and now Panos Panay has posted a video celebrating 1 billion Windows 10 installations which appears to confirm that the changes and more are on the way. There’s finally hopefully going to be a modern replacement for Explorer, and context menus seem to be modern and thus consistent too. The already mentioned updated Stert menu is coming, too.
From the team that has brought PC and Console gamers the latest in graphics innovation for nearly 25 years, we are beyond pleased to bring gamers DirectX 12 Ultimate, the culmination of the best graphics technology we’ve ever introduced in an unprecedented alignment between PC and Xbox Series X. When gamers purchase PC graphics hardware with the DX12 Ultimate logo or an Xbox Series X, they can do so with the confidence that their hardware is guaranteed to support ALL next generation graphics hardware features, including DirectX Raytracing, Variable Rate Shading, Mesh Shaders and Sampler Feedback. This mark of quality ensures stellar “future-proof” feature support for next generation games! That’s some Vista-era name right there.
Microsoft has launched a new website for the Windows UI Library (WinUI) that provides more information on the various advantages of the modern libraries for the development of Windows. WinUI allows developers to access and use Fluent controls, styles, and other UWP XAML controls via NuGet packages. While earlier versions of the WinUI focused on UWP, the Redmond giant has been expanding the framework. The preview version of WinUI 3.0 brought with it support for the full Windows 10 native UI platform. The extended scope of the platform meant that developers could use WinUI XAML with their existing WPF, Windows Forms, and Win32 applications. The website terms WinUI as the modern native UI platform of Windows. Will this be the one that sticks?
We’re once again approaching that time of the year when Microsoft releases a new feature update to Windows 10. In line with the version numbering scheme we’ve been seeing, this update is currently known as Windows 10 version 2004, or 20H1, because it’s being released in the first half of the year. While we did get a feature update in the second half of 2019, there was only a very small number of additions, and those additions were also minor in nature. It was more about refining the previous update than making significant leaps forward. Surprisingly, even though version 2004 is a more significant feature update, it’s one of the smaller ones, despite having a longer period of testing with Insiders than what we’ve seen before. With that being said, there are still a few changes and improvements to many parts of the experience, and if you want to know all about it, we’ve compiled this list for you. Let’s get started. There’s some nice additions in there, but nothing earth-shattering or game-changing. Windows 10 is five years old now, and it feels like the model of frequent feature updates (instead of monolithic Windows releases and the occasional service pack) just isn’t really moving the needle.
Did you ever load up your modern Windows 10 PC, ready to install your favourite application or game, only to be greeted by a dialog telling you it won’t run, and then you realise you’re trying to run a 16 bit application on your modern 64 bit Windows 10 installation? I swear to god, this happens to me all the time. Luckily, there’s a solution to this problem. In fact, there’s multiple solutions to this problem. Of course, you can always just fire up a virtual machine with 32 bit Windows, Windows 3.1, or OS/2 for massive style points, but that’s cumbersome and uncool (except for OS/2. OS/2 is always cool). There’s a better way. Enter winevdm by otya128, which is a combination of MAME’s i386 emulation and the 16 bit part of wine. It allows you to run 16 bit applications on modern 64 bit versions of Windows. Edward Mendelson created a handy installer with some additional useful tools to make the process even easier. As a sidenote, there’s also NTVDMx64, which is a version of Microsoft’s own NTVDM (Windows NT’s virtual DOS machine) adapted for 64 bit (Mendelson made a handy installer for this one, too). By its very nature, NTVDMx64 doesn’t run Windows 16 bit applications; only DOS ones. It is also important to note that NTVDMx64 is based on leaked Windows NT source code, so please be careful in which settings you use it. There’s no real reason I’m talking about this today, other than the fact I that I ran into this stuff a few days ago when watching a YouTube video about running the IBM WorkPlace Shell for Windows 3.x on Windows 10, and thought it was fascinating. It might prove useful for some of you working at companies still running old 16 bit stuff, or if you’re digging around in your old floppy collection.
The other day I set out to solve a seemingly simple problem: With a DOS extended application, lock down memory buffers using DPMI and use them for bus-mastering (BusLogic SCSI HBA, though the exact device model isn’t really relevant to the problem). Now, DPMI does not allow querying the physical address of a memory region, although it does have provisions for mapping a given physical memory area. But that doesn’t help here–mapping physical memory is useful for framebuffers where a device memory needs to be mapped so that an application can access it. In my case, I needed the opposite, allowing a bus-mastering device to use already-allocated system memory. I think I may have understood some of these words.
Live Tiles have been a signature feature of the Windows OS interface since the launch of Windows 8. But these colorful, info-packed squares appear to be on their way into the trash bin. This should’ve been obvious to anyone who’s been keeping an eye on Windows development. Live tiles were amazing on Windows Phone, but never really fit desktop computing. I’m glad they’re going away.
Quibble is the custom Windows bootloader – an open-source reimplementation of the files bootmgfw.efi and winload.efi, able to boot every version of Windows from XP to Windows 10 1909. Unlike the official bootloader, it is extensible, allowing you to boot from other filesystems than just NTFS. This is only a proof of concept at this stage – don’t use this for anything serious. Quibble can boot Windows from Btrfs, which is impressive enough in its own right.
Microsoft released its first emulator for Windows 10X today, allowing developers to get a first look at the new operating system variant for dual-screen devices. Microsoft wants to give developers a head start on optimizing apps before devices launch later this year, so this basic emulator provides an early look at Windows 10X before it’s finalized. My first thoughts? Windows 10X feels like a slightly more modern version of Windows 10 that has been cleaned up for future devices. In Windows 10X, everything is new. There’s none of the old Win32 code and applications lying around, or fallbacks to old Win32 dialogs. Everything is a Modern application (or whatever they call it these days), including things like the file manager – the traditional Explorer is gone. While Windows 10X does support Win32 applications, they run in a container. As detailed in this video from Microsoft (select the video titled “How Windows 10X runs UWP and Win32 apps”), Windows 10X has three containers – Win32, MSIX, and Native. Win32 applications run inside a single Win32 container, capable of running pretty much anything “classic” you can throw at it, such as Win32, WinForms, Electron, and so on. MSIX containers are basically slightly more advanced classic applications, and these containers run inside the Win32 container as well. The Native container runs all the modern/UWP applications. The Win32 container is actually a lot more involved than you might think. As you can see in the below overview diagram from the video, the container contains a kernel, drivers, the needed files, a registry, and so on. It’s effectively an entire traditional Win32 Windows operating system running inside Windows 10X. Applications running inside the Win32 container are entirely isolated from the rest of the host Windows 10X operating system, and Windows 10X interacts with them through specialised, performance-optimised RDP clients – one for each Win32 application. This seems to finally be what many of us have always wanted out of a next-generation Windows release: move all the cruft and compatibility to a glorified virtual machine, so that the remainder of the operating system can be modernised and improved without having to take compatbility into account. For now, Windows 10X seems focused on dual screen devices, but a lot of people in the know seem to think this is the actual future of Windows. Time will tell if this is actually finally really the case, but this does look promising.
For the next couple (or maybe more) posts I’ll be explaining how WdFilter works. I’ve always been very interested on how AVs work (Nowadays I would say EDRs though) and their development at kernel level. And since, unfortunately I don’t have access to the source code of any, my only chance is to reverse them (or to write my own). And of course what a better product to check than the one written by the company who developed the OS. For those who don’t know, WdFilter is the main kernel component of Windows Defender. Roughly, this Driver works as a Minifilter from the load order group “FSFilter Anti-Virus”, this means that is attached to the File System stack (Actually, quite high – Big Altitude) and handles I/O operations in some Pre/Post callbacks. Not only that, this driver also implements other techniques to get information of what’s going on in the system. The goal of this series of post is to have a solid understanding on how this works under the hood. Not for the fain of heart.
Microsoft has now started to show text ad for its new Chromium-based Edge in the all apps list. The ad, which shows up under ‘Suggested’ listing for Start menu, recommends using the new version of Microsoft Edge. Surprisingly, the ad is targeting Firefox users. If you have Firefox as your default browser, you might see the advertisement or suggestion in the Start menu. Depending on whether you’re actively using Firefox or other browsers, the recommendation may or may not show up. “Still using Firefox? Microsoft Edge is here,” the ad label reads and it includes a link to download Chromium-based browser. Don’t use operating systems like Windows or iOS which are nothing but bait-and-switch vessels for ads.