When Windows 10 arrives later this year, the company will be introducing its ‘One Store’ model that will help make the distribution of apps easier for developers. At Build 2015 today, Microsoft talked about new features that will also arrive with this new store model.
The company is making it possible to bring Win32 apps into the Store using a new SDK. This feature had been rumored for a long time but it’s now finally being released. By doing this, developers can bring classic apps to the Store which increases visibility for their product but also makes consumers’ lives easier as the install/update/removal process is streamlined like any other modern app.
This Neowin post doesn’t even mention the biggest news: all these old Win32 and .Net applications? They are fully sandboxed and run inside virtual machines using App-V. Long-time readers might remember that I’ve been hoping for this to happen for god knows how long – from way back during the Longhorn and windows 7 days.
Once we have more information, I’ll post it right away.
Wonder what this’ll mean for interprocess communication between these applications and Windows? There are a lot of accessibility aids and other assistive programs that need some communication with these applications to work properly. Hopefully there will be a means of having some IPC so that these tools can be updated to work.
Where do you see that it is implemented as a virtual machine?
Remember, Windows Store applications already ARE sandboxed Win32 apps (PE executables). Where they differ is that MS blocked certain DLLs and added new WinRT DLLs meant to replace them.
The main reason you didn’t see traditional Win32 programs appear is because some of the blocked DLLs are rather essential for the classical desktop (GDI and User32) and thus demanded a complete rewrite of the UI.
This announcement might just as well mean they lifted this restriction in such a way that a classical GDI/User32 application can exist inside the sandbox.
It was explained on stage.
Ah, okay. Thanks for the heads up.
Looking at whatever actual sparse technical documentation I can find on MSDN (https://technet.microsoft.com/en-us/library/bb608285.aspx), it looks like it more virtualizes the files and registry resources rather than acting like a real virtual machine (VirtualPC and so on, as I normally understand them).
From what I understand the idea is that each installed Win32 application can trash its local registry and other system files without messing up or affecting anything else (as it really only modifies its own virtualized version).
I guess that’s one way around having to figure out how to sandbox their old APIs and DLLs. That’s actually quite clever in the fast-to-market kind of way.
Win32 apps in the store will run on App-V.
Is App-V a full virtualized subsystem? or is it something like chroot or zones?
It looks more like cgroups namespacing to me.
You know what’s funny, this is actually the stuff I was working on in windows XP prior to MS preventing owners from modifying the kernel with Vista. I moved to linux when it became clear indy kernel developers were no longer welcome on windows.
Whether technology is good or bad depends on how it’s put to use rather than intrinsic qualities. This stuff really could be useful for owners to manage their software, does anyone know if MS intends to allow users to setup their own jails? Or is this a case where MS is hard-coding it’s own jails into the OS and not allowing anyone else to have them?
I hate being so negative, but given the way things are going I’m highly skeptical that anything Microsoft does will be in the interests of users, it’s all geared towards exploiting us.
> Or is this a case where MS is hard-coding it’s own jails into the OS and not allowing anyone else to have them?
They’re isolating the applications to go after Android and iOS, so I’d assume this is what they have in mind.
tidux,
I realize what they’re going for with the windows store, which will now include win32s. But what I was asking is whether the win32 jails would be available for users as well as other developers?
Frequently on windows you’d like to run software downloaded from the web within a jail that you can control, it really could help with common sources of windows malware. It’s just not clear to me whether MS intends to restrict the availability of win32 jails to it’s own services.
Enterprises will be able to run their own Stores. Users can freely side load apps on Windows. (On Windows Phone you’re limited to something like 20 side loaded apps, I forget).
Right now its hard to tell because I’m not at BUILD and the sessions are still being uploaded…but the pieces I’ve gathered from Twitter seem to indicate that they’re relaxing the more draconian policies.
Nelson,
You need a (maybe time limited) developer or enterprise license to sideload, what a pain in the ass! I really do hope you are right they’ll be relaxing things in the next version of windows. We’ll find out soon enough. If they don’t drop these restrictions, then I’ll be sticking with win32 on windows for the foreseeable future.
Edited 2015-05-01 01:33 UTC
I know this much at least is going away, newer builds have a “Developer Mode” section of the Settings app which lets you side load by ticking off an option (Much like Android devices).
Ugh, I really hope they don’t drop the ball on this — Win32 apps running with a little more restraint is something that everyone should get to enjoy. We’ll see.
In my day job, I’ve invested a good bit of time into automation applications which rely on Win32 APIs for various administrative tasks. Often times there just isn’t a non-Win32 API for accessing such functionality. I would imagine that using these APIs doesn’t play well with sandboxed runtimes.
Do we have word as to whether or not running Win32 apps outside of a sandbox will be permitted (“side-loading”)?
If true, this could be very troubling. It’s no secret that Microsoft is searching for ways to strengthen it’s grip on the personal computer. The strategy is simple: install digital locks to which MS holds the keys, then use market pressure to drive the platform into homes and businesses.
http://stackoverflow.com/questions/12008252/sideloading-apps-on-win…
MS controlled digital locks: check
Achieve Critical mass: failed
Truly we dodged a bullet with Windows 8 because Metro failed. However we are still extremely close to the reality where owners are dependent on vendors to unlock our own computers.
There’s no arguing that win32 don’t have lots of marks in the “cons” column, but it does have one very significant “pro”, which is that owners control the apps. With this news that Windows 10 is going to run win32 apps inside of sandboxes deployed by an MS store, I can’t help but see the resemblance with the classic “Embrace, extend and extinguish” strategy MS has executed throughout it’s history. Obviously microsoft’s goal here isn’t to support win32, but to kill it. While I won’t necessarily shed a tear for the fall of win32, I don’t want to recon with the dystopian world of PC software cartels that follows.
Also, since someone is bound to say it, yes I know that I can use linux (I do now and will continue to). But we can’t completely ignore the fact that windows still has critical mass in our society. We still need to make a living and most businesses are demanding windows support. So I feel these concerns are justifiable, even if a bit premature.
I think there may be interesting news in the coming days regarding deployment and Windows 10.
so microsoft’s goal is to drive users to the store, thus driving revenue from the store into shareholder pockets
and my goal is to enable global administrator root access, thus disabling the windows store
But… just look at Windows RT to see how long MS plans to allow you to “get administrator root access”.
true enough! I hear debian is nice this time of year
This and coupled with that free upgrade for pirates thing, i smell something fishy.
Personally im going to continue to use Windows 7 until i can no longer buy software(games) that runs on it, and then a bit longer still.
Maybe by then ReactOS will have catched up somewhat.. well i can dream
Can anyone please clarify whether old Win32 apps not sold via the online store will run in this ‘virtual’ environment?
Thanks.
They won’t be unless they make some radical changes compared to current public Windows 10 beta builds.
The best way to understand this change is that if you register your app in the Windows Store then it will be installed in this App-V environment. The environment itself is easiest described as doing a chroot jail on a Unix box with the file system and registry mounted in a form of copy-on-write.
That is, the app sees the DLLs and registry keys as normal, but if it changes them then the change will only be registered locally in its jail. Any other app installed from the store, or those running outside the jail will not see the changes.
The big unknown to me is whether the DLL and registry settings seen by the store apps are always the same, or if changes to the original files outside the jail will be reflected inside. In the later case that would mean accessibility programs and other tools relying on DLL injection might work just fine on store apps if they are installed outside the jail.