Will My Applications Work on Windows Vista?

 

One of the big concerns of anyone considering moving to Windows Vista is “How many of my applications will work on Windows Vista?” We have spent a lot of time trying to answer that very question for our company so I will share with you some of the common problem areas we found for applications to help give you an idea of what applications might have problems for you.

 

 

Disclaimer: Microsoft sets very high goals for themselves when it comes to application compatibility, so any issues we discuss here may be resolved by the time Windows Vista RTM’s.  These experiences are based solely on our personal testing of Windows Vista 5270 and below.

 

 

Windows Resource Protection

 

Windows Resource Protection (WRP) is the new system file and registry protection scheme in Windows Vista.  Unlike Windows XP which would allow writes to System32 to succeed and then replace the file back with one from dllcache, Windows Vista takes a harder line and now doesn’t even allow the file replacement.  They are also protecting certain registry values with this new feature.

 

This one, for us, is probably our biggest application compatibility problem. You can hit this in a number of ways.  The most common way we have seen applications hit this is when an application is trying to register help extension.  Your app will end up with an error about a typelib and have some big long key ending with a GUID with SHELLEX in there.  This particular bug may be addressed by Beta2 or RTM, but has been hit on a number of apps including those from Microsoft like Office.

 

The other way to run into WRP is to hit this when your app tries to replace a system file.  Like we talked about before, Windows XP would allow this to succeed, but Windows Vista has a hard block.  This one is less common and we have mostly seen this with internal repackaged applications, but it is still something to be aware of.

 

 

Windows Vista IP Stack Changes

 

If you aren’t aware of this already Windows Vista introduces a completely rewritten network stack that provides both IPv4 and IPv6 capabilities.  This fundamental change to the stack presents an application compatibility problem for a number of products like Firewall, Network Scanning, Anti-Virus, and Virtualization apps.

 

For most testers this mean you will have to upgrade those products.  Know where to locate Windows Vista versions of the products you use.  For example Symantec recently publish a new version of SAV for Windows Vista. 

 

For me the lack of a Windows Vista supported virtualization product is what is keeping me from running Windows Vista full time on my main desktop.

 

Typically virtual machine technology and network scanning aren’t things that the majority of your end users will be using; however if you’re a programmer, IT pro, or help desk type you should consider if this applies to you.

 

Version Checking

 

As simple as it sounds there are lots of applications out there that are unable to do proper version checking. Typically this is the result of hard coding an app to certain versions of the Operating System or Browser. 

 

These usually result in a “Unsupported Platform” messages, tell you that you must have at least Windows 2000 or Internet Explorer 5, or just silently fails.  This is something that you can only find by testing unfortunately. 

 

 

TIP: The first thing you should try in this scenario is an OS version lie shim.  To do this, right click on the executable or shortcut and select the compatibility tab and change the compatibility mode.

 

User Account Control

User Account Control introduces a number of technologies that can present an application compatibility issue.  File and Registry virtualization is one that can bite a number of applications.  This can cause lots of problem for applications that base their settings on files placed in locations that a standard user can’t write to.  If you aren’t familiar with File and Registry Virtualization (often called VIRT), see this wonderful post by jerry.

 

The other one that you might hit when it comes to UAC is “Protected Admin”.  When a user logs onto a machine on which he/she is a member of the local administrator group, and isn’t the built in administrator, their account has a restriction on the admin token.  This means that to perform an operation that the process or operation must be elevated before an operation requiring administrator rights can be accomplished. For more information on Protected Admin and the split token see this post

 

Session 0 Isolation

 

What the heck is session 0 isolation? Session 0 isolation is new with Windows Vista and basically means that anything that is running as a system, like a service or device driver, can not interact / display UI to the logged on user.   This means that the pop up messages from a service or other system process, like A/V products, will not display for the user and if your application depends on a response it will appear hung because you are waiting on a response from the user, but they don’t see an UI.

 

Many developers have taken for granted that session 0 is the interactive desktop (which was true in the past for Windows XP, but was never true with terminal services), now with Fast User Switching and Session 0 isolation you can no longer make that assumption and have to do the work to figure out where to display the UI.

 

HINT: use the terminal services API’s

 

 

Protected Mode Internet Explorer

 

Internet Explorer 7 on Windows Vista is going to be the most secure browsing experience you can get from Microsoft, but more secure can mean bad news for application compatibility.

 

Controls and applets that run from the browser will be unable to access very much on the computer: in fact about the only place they can access is the temporary internet files (TIF) folder. 

 

So be sure to test your applications that are using the browser as a platform, especially if they have a need to interact with the desktop in some way.

 

Windows x64

 

If you are migrating to x64 versions of Windows in your transition to Vista you will have some additional things to worry about.  Windows Vista will not have support for 16-bit applications and any drivers will need to be rewritten for the x64 platform.  You will also need new version of any 32-bit application that has a shell extension (like Winzip)

 

 

Wrap it up

Ok, so that may seem like a lot of things to worry about, but the good news is that in our testing we had a very high success rate of getting our applications to run on Windows Vista without any modification what-so-ever. Hopefully you will have the same level of success.

 

 Now, get out there and test…

 

Josh

http://windowsconnected.com

 


Posted Jan 07 2006, 07:30 AM by Josh Phillips
Filed under: , ,

Follow Me on Twitter

Did you enjoy this article? If yes, then subscribe to our RSS 2.0 feed or

Comments

Wayne Dixon wrote re: Will My Applications Work on Windows Vista?
on 01-07-2006 11:53 AM
Thanks for the information. I've been looing for stuff to see what types of program compatability issues will arise... Looks like most of my programs will need an update when Vista comes out.
Konstantin wrote re: Will My Applications Work on Windows Vista?
on 01-08-2006 3:58 PM
I think, that the companys will make apps, that will work ONLY on vista, and this is the deal, and this is why we all will be forced to move on vista - my XP is only platform, every OS is only platform, which you use to got your apps working, so my apps are working on XP, so the only reason to give more money for vista will be "my apps are working only on vista"...I dont use nothing else on my XP, except the possibility to install apps. So it seems we have to be modern(and fcuked) again.
Erich wrote re: Will My Applications Work on Windows Vista?
on 01-08-2006 4:20 PM
Virtualization may become a much bigger issue in the near future because of the free VMWare player.
Rob wrote re: Will My Applications Work on Windows Vista?
on 01-08-2006 7:08 PM
And so, it happens again to joe and jane public--not to mention corporations and governments worldwide, that the only reason to switch to the latestest offering by Microsoft is compatability with said offering. How many more times are YOU people going to fall for this obvious, desperate, and totally unoriginaly ploy by a massive corporation to relieve you of your money? And by money, mind you, I'm not only talking about the OS, but also all of the proprietary applications which you'll have to replace--oh, and by the way, there'll be a new version of MS Office which will cost you as well.

Looks like around $200-$800 (with replacement applications) per installation just to satisfy some scandalous corporation's urge to vomit out the next "big thing." For those of you paying attention, Microsoft has been trying to create its own half-assed version of UNIX with each new Windows incarnation.

That being said, with the advent of so many free Unicies (Linux and BSD primarily), why don't you just save yourself the trouble of paying for a corporation to give you in 10 years and for a truckload of money, what's available today for free in Linux and BSD. Microsoft is moving this direction anyway. You won't be "missing" anything "new."

Is there a learning curve for free UNIX? You bet, but remember that you once had to learn how to use Windows...
Roger wrote re: Will My Applications Work on Windows Vista?
on 01-08-2006 10:31 PM
"Disclaimer: Microsoft sets very high goals for themselves when it comes to application compatibility..."

My god this made me laugh! I've been programming for Windows since 3.1 and have long since become accustomed to Microsoft's actual attitude to backwards compatibility: A big man with a stick yelling 'Why haven't you upgraded to [our latest release] yet!'.

Microsoft's development always seems to be governened by the marketing rather than the technical team. It's the absolute bane of my life! :-)
a.sabil wrote re: Will My Applications Work on Windows Vista?
on 01-09-2006 1:13 AM
Maybe it would be the right time to switch to something else ... as said before, the learning curve for Windows Vista is the about the same as GNU/Linux and BSD ones, so why don't you stop wasting your money, and your freedom ?
Bil Hughes wrote re: Will My Applications Work on Windows Vista?
on 01-09-2006 2:56 AM
My company is running test on the Latest MSDN Build of Vista CTP 5270. We have been running a lot of our applications we use day to day within our company for testing purposes (Mostly testing IIS 7 and porting pitfalls and success). We have been pleased with alot of the results we have seen so far.

AV: BitDefender 9.0 status working with pop-up alert
Winrar: Works completely
Office 2003: Works
Visual Studio 2005 Enterprise & Delphi 2006: Working

Various Browsers (Firefox, Opera): Works

We love the security features and though much of the OS is not feature complete, we admit this is definately stable for a Beta. It would be nice if the would further extend the network mapping feature with the ability to export to visio or such.

In case the question/suggestion comes up for us to use linux and FreeBSD. Our company does. 45 Linux Workstations (Suse, Novell Desktop), 28 FreeBSD (8 of them are PCBSD), 65 Mac OS X G5 Stations, and 65 Windows XP Pro (Mixed 32/64 Editions). Our Servers are Windows 2003, Mac OS X, and Linux
Nick wrote re: Will My Applications Work on Windows Vista?
on 01-09-2006 6:14 AM
Go open source , why rip out your entire hardware infrastructure just to satify gates. Is the latest version of word really worth spending $100's on? There has never been a better opportunity to save your companys' money, and not waste it on making gates richer.

Nick
Josh Phillips wrote re: Will My Applications Work on Windows Vista?
on 01-09-2006 12:23 PM
Sure, Go to open source...Because having no applications means having no application compatability issues.
The Working Network wrote Vista Application Compatibility
on 01-09-2006 6:20 PM
Will My Applications Work on Windows Vista?Josh's blog is the latest entry into my Windows Vista category....
Open-Minded Josh wrote re: Will My Applications Work on Windows Vista?
on 01-09-2006 6:39 PM
Having no applications for open source?

Have you even looked?
I can install over 3000 completely free applications, and that's without even opening a web browser (Debian's package database)

Openoffice: ms office replacement
Firefox: Browser Du Jour
The Gimp: High-end photo editing

-apps for burning cds & dvds, apps for security (firewall, av, and proactive tools that outshine windows by a large margin), apps for downloading files and sharing files, apps for design (web or traditional print; take your pick), games (including great quality 3d games), messaging apps, programming apps, apps for photo management, apps for managing huge music and video libraries... What do you want to DO with a computer? I bet there's an app that does it, and alot of times the functionality will surprise you.

Bet you didn't know that you can even through graphic card acceleration into the mix, and get huge noticable performance gains over windows on the same pc; download an enlightenment livecd and test it out :P
Jerry wrote re: Will My Applications Work on Windows Vista?
on 01-09-2006 8:24 PM
Haha! "Open Minded Josh" makes me LAUGH! So there are 1,500 applications and 1,500 libraries and dependencies - some of which say they work but don't appear to do anything. Fine. Many do work. Where's the support? (Don't say some "community forum"). Rip out Windows and get all new apps. Train the users to use Apt-Get or YaSt or something. Find someone to re-key the data that won't import (much of it will import to the new free, unsupported apps, but some won't). Buy windows licenses anyway so that the business units can run Xen or VMWare and have the apps that they MUST have running run on Windows. Raise the costs just because some people don't like Bill Gates. Right... LOL.

Anyway, I've never used Debian, but I've done my share of Fedora Core and SuSe. For general business apps - MS has this one right. Today *nix is MOSTLY a hobbyist OS. I gave up the other night trying to get SuSe 10 to play an MPEG file. I went to the YaSt control center and loaded the only thing there that said it would do MPEG. But of course it doesn't work. Honestly, we use some Red Hat Enterprise in our company for high end stuff like geologic mapping and all. About 1,500 seats. All of them have VMWare and Windows loaded in it.
Jeff Centimano wrote re: Will My Applications Work on Windows Vista?
on 01-09-2006 9:29 PM
This is my first visit to this site (referred via The Working Network)... but I'm surprised the X trolls are so rabid. Maybe there is a history with this site or something... but last time I checked X vs. W flame wars aren't going to change anyone's mind. Josh - thanks for the info.

And what's up with the whole "Linux and all associated apps are free" line. I work in the enterprise space, and I can tell you that NOTHING is free. Even if the source is open and the download is free there are other costs like support. And BTW - most enterprise Linux apps aren't free anyway (although they are probably less expensive up front than MS products). Shoot - I got sucked in... shame on me. Later all.
Rob wrote re: Will My Applications Work on Windows Vista?
on 01-09-2006 10:11 PM
Oh no, I'm sucked in too. There seems to be a misunderstanding about what "free" means amongst Windows users (to include both grandmothers and IT folks alike). Think freedom, as in the right to not have to fork over cash everytime someone tells you to--that's called extortion. Also, Jerry brings up a good point: most people, due to expectations learned from Windows expect things to work, and get very frustrated when the expectation is that you need to actually know how things work for them to work correctly.

I've talked with plenty of folks who "know a lot about computers", who conclude that linux sucks because they couldn't get something to work. Well, come to find out, what those people know best is how to point and click their way around. Their ego is shattered when they learn that they actually don't know jack "about computers." As a self-protection mechanism, they point at the thing that makes them feel inadequate, so as to remove all icky feelings. An old quote comes to mind:

UNIX *is* userfriendly, it's just picky about its friends...
Wayne wrote re: Will My Applications Work on Windows Vista?
on 01-10-2006 6:02 AM
The comments about *nix software being free is a little closed minded. Yes the software is free to download and install, but for a company that scrapped its Windows OS's and went with *nix (as suggested above) it's not exactly "free" is it?

How about the increased support costs? A Windows administrator doesn't know how to administer *nix - and *nix administrators cost more than a Windows admin does. They are also harder to find ... ask any agency how many Windows admins they have on their books and then ask the same for *nix. So that *nix admin that set your network up and just quit / got knocked down by a bus is gonna be hard to replace.

How about downtime? Downtime is very expensive for a company... imagine 100 users earning £500 per hour (as in the case of a small company that I used to work for) - if a server is down that prevents them from working for just one hour, that effectively costs £50,000. But thats OK, because *nix has its own PSS doesn't it - so you can call and have them help you fix it ... oh wait ... its open source ...

So, it might make Billy G rich by using Windows - but it also makes the company rich as they have a wide variety of support for when it all goes wrong ensuring downtime is kept to a minimum and nice (comparitively) cheap labour.
rob wrote re: Will My Applications Work on Windows Vista?
on 01-10-2006 10:29 PM
Um... by the way. I wasn't talking corporate. I was talking about freedom for the average user. You can put the word free in quotes all day long and speculate how it affects business, but that's not my point.

Anticipating the question, my point is, that the average person who has a little know-how can have quality software for free, and by virtue, gains freedom from the cycle of paying $50 per application per point release everytime some company decides to integrate a new toolbar or add some other trivial functionality to their software.

In short, the corporate business model of treating software as a product is "binary incompatible" with the needs of most people. Use what you like, but I am not a business in need of puncuated fleecing.
josh's weblog wrote How to prepare for Windows Vista
on 01-12-2006 12:41 PM
I noticed the web was amazingly devoid of some succinct instruction for people wondering how to get ready...
Davo wrote re: Will My Applications Work on Windows Vista?
on 01-21-2006 2:29 PM
Is there a blog out there that contains no bleating - just people's experiences about what they've tried, what works and what doesn't, problems encountered and fixes/workarounds found?
Josh Phillips wrote re: Will My Applications Work on Windows Vista?
on 01-27-2006 11:15 PM
Unfortunatly there isn't anything like that yet, and things that work today probably won't work on the next bulid so that is a little hard to track.
O mundo é cada dia mais .NET... wrote Como saber se a aplicação que você desenvolveu vai rodar no Windows Vista?
on 02-18-2006 10:01 AM
Sei que muitos vão responder que a única maneira de ter certeza absoluta, é testando em uma máquina rodando...
HeavyB wrote re: Will My Applications Work on Windows Vista?
on 02-20-2006 3:57 AM
Open Source is wonderfull...... As long as you use common applications.
Most applications I use still don't run on open source platforms.
For personal use i'd use an open source platform. For my company... Maybe later...
Windows is a registered trademark of Microsoft Corporation.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems Themed By nb development