views:

45

answers:

1

The company I work for has a large native MFC based application. We're currently using vs2008, but for the next version we're hoping to move to vs2010, mainly for the new C++0x features. Unfortunately we've a very small minority of Citrix customers who are sticking with Win2k server due to licence costs.

I discovered today that there is a problem with vs2010 compiled native apps on win2k, and someone has posted a few solutions here

http://stackoverflow.com/questions/2484511/can-i-use-visual-studio-2010s-c-compiler-with-visual-studio-2008s-c-runtime

I've tried the fasm method with a simple MFC app and it doesn't work (it does for a console app), presumably because MFC also has links with non-win2k compliant libraries? I was going to try cooking my own crt but MS haven't provided the files to build it.

Am I wasting my time trying to look into ways of getting our app to work under win2k and is it just a case of either reverting back to vs2008 or targeting 2008 from 2010?

regards

+1  A: 

Having to support such an old operating system seems unreasonable, although I understand that supporting legacy systems is part of our profession.

I would go to the suits in your org and explain your dilemma -

  • Supporting the old OS is costing the org a "lowest common denominator" product

  • Small customer base == small return on investment

  • Large / unreasonable effort in maintaining two code branches (legacy and current)

Explain to the suits that the customer may upgrade if they're threatened with being left behind.

If no-one will bend and you gotta support, you've got a few options:

  • Ask your employer to buy the licenses for your customers and demonstrate how it'll save them money in development costs.

  • Stay with VS2008. Ask your mgmt how long they intend to support the legacy OS and tell them that that's how long your product is going to stagnate for. Back this up with prototypes of stuff you can't do - because you have to support this legacy OS.

  • Maintain two code branches.

  • Quit - there's a million development jobs out there where the employer is happy to let your technological experience stagnate in old technology, so long as your bringing in the money. And there are great employers out there - who'll listen to your advice, side with you and squeeze their customers on these issues.

Customers never want to upgrade, but it's been my experience that they normally do - if they're squeezed...

I know that quitting may seem drastic - and it may not be the best option for you. I spent a couple of years as a web developer, a problem space I wasn't interested in - and with an inflexible employer - leaving it was the best thing that ever happened to me(!)

In just over a year, I've made lead developer and doubled my salary - and I really enjoy my job!

There are better employers out there - and if your employer is dismissing your advice in order to support an insignificant customer base, it may be time to consider if you're working for the right employer!

freefallr