Tech Off Thread

74 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Conversation Locked

This conversation has been locked by the site admins. No new comments can be made.

A question on XP support in VC11

Back to Forum: Tech Off
  • User profile image
    MrChris

    evildictaitor, the thing is that the CRT not supporting Windows XP SP3 is not justified. There is nothing revolutionary about the new CRT. Only a small number of Vista+ functions are used, in very few parts of the CRT. All of them can be substituted with functions available on Windows XP. I also explained in my previous post how to use the newer functions on Vista+ and older ones on Windows XP without any performance penalties.

    You quoted Raman Sharma's post. The new locale API can be simulated with the old one on XP. And no one has any idea what he's on about when he mentions the one-time-initialization APIs, the new CRT uses nothing like that.

    Also, those few Microsoft employees who have commented on the situation have never used the "mainstream support for XP ended in 2009" argument. They have always referred to 2014 and tried to convince us that waiting 2 years for XP to be officially dead is not a long time. Well, 2 years is a long time.

  • User profile image
    Ted.w

    One thing I just noticed in their favor was in Raman's post, he mentioned the use of One Time Initialization APIs (e.g. InitOnceExecuteOnce).  I don't find this or any related APIs in the consumer preview beta (I did a find in files).  However if Raman is correct, I'm guessing that this has been added post-beta.  So we'll have to wait for RC or RTM to know the true extent of the dependency on Vista.  That worries me, as it could blow the workaround I presented right out of the water. 

  • User profile image
    evildictait​or

    , MrChris wrote

    evildictaitor, the thing is that the CRT not supporting Windows XP SP3 is not justified, ... can be substituted ... without any performance penalties.

    Just stating things doesn't make them true. You don't work for Microsoft's VS team and therefore don't have any idea of the decisions that were taken or the reasons that were given. You're just blindly stating that it's easy.

    If building a CRT is so easy, don't link against the Microsoft CRT and build your own. That'll allow you to use the VS2011 IDE with no compatibility problems on XP. That way when it goes wrong or is slow, it'll be your responsibility to sort out and Microsoft won't have to slip the release of VS2011 in order to test the CRT on XP, and everyone will be happy.

    My point about XP mainstream support isn't that Microsoft are deliberately breaking support for XP, just that they are not required to support XP anymore. Consequently an argument that "Oh you must support XP because my customers use it" doesn't hold any water at Microsoft.

    If you want to argue for XP support in the CRT, I would avoid using the "it's cheap and easy" or "you have to" style arguments. If it was cheap and easy they'd have done it. And they don't have to because XP is out of mainstream support.

  • User profile image
    MrChris

    evildictaitor, you make it sound as if the customer is the enemy of Microsoft. Of course, Microsoft doesn't have they do anything if they don't want to. They might as well pack their bags and stop developing their products, who's there to judge them. But they want to gain profit. Isn't business about selling your product and satisfying the customer?

    I'm glad there haven't been any official responses like "do it yourself if you want it so much", "do it yourself if you think it's so easy", that would literally be considered as spitting in the customer's face. In fact making the CRT run on XP is easy. I don't see why it would be any harder for the VS team than it has been for multiple people who have done it themselves as a proof-of-concept.

    In one of your previous posts you said that Microsoft cares a lot more about the end user upgrading to a newer OS than the developer buying a VS licence. That's quite obvious. Let's consider that developers won't buy VS11 if they have a large Windows XP userbase. Could you describe a scenario where VC++11 not supporting XP as a target platform will lead to a more rapid upgrade process among XP users?

    NOTE: I'm already trying to see this situation from Microsoft's viewpoint. I find it difficult to understand how such decision will benefit them in any way.

  • User profile image
    blowdart

    , Ted.w wrote

    One thing I just noticed in their favor was in Raman's post, he mentioned the use of One Time Initialization APIs (e.g. InitOnceExecuteOnce).

    Its been there since Vista.

  • User profile image
    evildictait​or

    , MrChris wrote

    evildictaitor, you make it sound as if the customer is the enemy of Microsoft. Of course, Microsoft doesn't have they do anything if they don't want to. They might as well pack their bags and stop developing their products, who's there to judge them. But they want to gain profit. Isn't business about selling your product and satisfying the customer?

    You make it sound like Microsoft only has one customer and that customer wants XP support as a backend to Visual Studio. That's not true. Microsoft has bajillions of customers for Visual Studio. All of them want a CRT that is faster, safer and cheaper. Not all of them want XP support as a backend. This means Microsoft is making trade-offs between spending effort making the CRT faster/better/stronger/etc versus adding new backends.

    VS2011 is (compared with VS2010) having to support C++11, .NET4.5, ARM for user-mode applications for Win8 and support for Metro.

    You might see supporting XP as the only key feature that you'd like in VS2011, but in real life it's pretty low on VS2011's priority list.

    I'm glad there haven't been any official responses like "do it yourself if you want it so much", "do it yourself if you think it's so easy", that would literally be considered as spitting in the customer's face. In fact making the CRT run on XP is easy.

    That is why nothing I post is an official response. If Charles or blowdart posted what I say here they'd cause an uproar. That's why I keep my non/employment at Microsoft deliberately ambiguous so you can't turn my rantings into a news-story.

    In fact making the CRT run on XP is easy.

    Again with just saying things. You have no idea how hard it is to make a CRT for XP, you're just assuming that it's easy because it helps your point to make Microsoft sound incompetent. If it's so easy to write your own CRT, just do it yourself. If it's too hard to just do yourself, perhaps it's not so easy for the VS2011 team either.

    I don't see why it would be any harder for the VS team than it has been for multiple people who have done it themselves as a proof-of-concept.

    What proofs of concept? Also a proof-of-concept is not a fully tested supported product sold for thousands of dollars to millions of customers who need 24/7 support when things go wrong, and where security problems can affect billions of computers.

    Could you describe a scenario where VC++11 not supporting XP as a target platform will lead to a more rapid upgrade process among XP users?

    I'm pretty sure that this isn't the reason that Microsoft are dropping support for XP, because I don't think they have a sufficiently coherent (or evil) strategy afoot, but the scenario exists anyway:

    You're still in the mind-set of "I am a tiny little company, I have no sway over big companies - my competitors will take the market share that I lose".

    From evil-Microsoft's perspective "You are one of many thousands of little companies. You and your competitors will eventually upgrade to VS2011, and the company will be unable to purchase either. If they want a new program they will be compelled to upgrade or resort to ever increasingly dirty hacks to keep their company chugging along. In practise this cost will force them to upgrade".

  • User profile image
    deiruch

    , evildictaitor wrote

    *snip*

    You make it sound like Microsoft only has one customer and that customer wants XP support as a backend to Visual Studio. That's not true. Microsoft has bajillions of customers for Visual Studio. All of them want a CRT that is faster, safer and cheaper. Not all of them want XP support as a backend.

    *snip*

    With XP having a market share of 38%-48% *) I think it's fair to expect that most customers are still interested in XP support.

     

    *) Source: Various random reports found via https://www.google.com/#q=xp+market+share+2012

  • User profile image
    evildictait​or

    , deiruch wrote

    With XP having a market share of 38%-48% *) I think it's fair to expect that most customers are still interested in XP support.

    Those customers will find that Microsoft products are not working for them anymore.

    Office 2010 does not work on XP.

    IE8, never mind IE9 and IE10 does not work on XP.

    Visual Studio 2010 does not work on XP

    All of Microsoft's games division do not produce games that work on XP

    Microsoft Hyper-V does not work on XP.

    Do you see a pattern?

     

    Microsoft director Stella Chemayk:

     "If you still have some PCs running Windows XP and Office 2003 in your organization," Microsoft director Stella Chernyak wrote in a post to the Windows For Your Business Blog, "now would be a good time to start migrating them to Windows 7 and Office 2010."

    So Microsoft's official policy is "upgrade your XP". Not "let's find more excuses for customers to avoid upgrading from XP".

    A typical business takes between 9 and 18 months to upgrade all of its machines to a new OS. This means that by the time VS2011 ships, either all of your customers will be running Vista+, will be in the process of upgrading, or will have resigned themselves to running an OS that simply isn't suited to modern day use and which Microsoft will have well-and-truly left on the scrap pile.

  • User profile image
    cheong

    , evildictaitor wrote

    *snip*

    Those customers will find that Microsoft products are not working for them anymore.

    Visual Studio 2010 does not work on XP

    Do you see a pattern?

    *snip*

    I'll have to correct you on that line. VS2010 does run on WinXP because that's what I'm using here.

    Btw, VS team have to drop support for older systems. Supporting 3 old(WinXP + Vista + Win7) + 2 new (Win8 + next version of Windows) would have made their support matrix too complex. It's wise to reduce it by dropping systems that no longer in mainstream support.

    Recent Achievement unlocked: Code Avenger Tier 4/6: You see dead program. A lot!
    Last modified
  • User profile image
    cheong

    @deiruch: Most companies upgrade system with hardware. With OEM suppliers banned from providing new OEM WinXP systems, the market share is expect to shrink within 3-5 years. (I heard many companies bought downgradable models on the last wave, so make it this long)

    Btw, lots of hardware vendors have stopped to provide WinXP drivers. Companies will have to move on... WinXP is not like Win9X which you could more or less make it work with only generic drivers.

    Recent Achievement unlocked: Code Avenger Tier 4/6: You see dead program. A lot!
    Last modified
  • User profile image
    deiruch

    All I was saying is that XP still has a large installed base. I expect XP will (sadly) stay with us for a couple more years. Many people don't care that much about whether IE9 or Visual Studio 2012 runs on their machine. There are many offices and home users that get along fine with XP and Office 2003 on their old machine. And probably will for the next few years. Surprisingly, even 16% of all Steam users are still on XP (http://store.steampowered.com/hwsurvey?platform=pc, click "Windows Version" in the table).

    Let's be realistic here:

    1. Microsoft's decision is understandable.
    2. Microsoft (probably) has no evil motives.
    3. XP is still in use, not just in niche markets and probably will be for the forseeable future.
    4. A fair share of developers have therefore interest in XP compatibility
    5. There are workarounds to the problem
  • User profile image
    Ted.w

    , evildictaitor wrote

    Office 2010 does not work on XP.

    wrong. (unless you are talking about the obscure XP x64 edition)

    IE8, never mind IE9 and IE10 does not work on XP.

    wrong.  IE8 has always worked on XP.  Maybe you're thinking of IE9.

    Visual Studio 2010 does not work on XP

    wrong.

  • User profile image
    spivonious

    , cheong wrote

    @deiruch: Most companies upgrade system with hardware. With OEM suppliers banned from providing new OEM WinXP systems, the market share is expect to shrink within 3-5 years. (I heard many companies bought downgradable models on the last wave, so make it this long)

    Btw, lots of hardware vendors have stopped to provide WinXP drivers. Companies will have to move on... WinXP is not like Win9X which you could more or less make it work with only generic drivers.

    OEM buys make no difference. If the company has a volume license, they can continue putting XP on new machines as long as drivers exist for the hardware. With companies moving towards VMs and thin clients, it makes it even easier to stay on XP.

    As much as I wish my company would move off of XP, there is no good business case for it. We'd need to test our huge catalog of internal software, purchase upgrades for another piece of software we use (and spend time and money to test it against government regs), replace older PCs with hardware that can't handle Win7 (some of our PCs are 15+ years-old), and put a massive training effort into educating our 1500+ users to use the new OS (they are not tech-savvy). It would mean at least a solid year of effort and hundreds of thousands of dollars.

    And evild, you were off by a version for your non-XP software. IE8, VS2010, and Office2010 all run fine on XP SP3. The just released Microsoft Flight runs on XP SP3.

  • User profile image
    evildictait​or

    , spivonious wrote

    And evild, you were off by a version for your non-XP software. IE8, VS2010, and Office2010 all run fine on XP SP3.

    Appears so. My bad.

  • User profile image
    MrChris

    I've looked at Visual Studio release patterns. It seems that Microsoft has always cared about the extended support final date, until now.

    VS2008 - November 2007. Drops support for Windows 98 (mainstream support January 2004, extended support July 2006). Windows 98 market share when VS2008 was released: 1.0%.

    VS2010 - April 2010. Drops support for Windows 2000 (mainstream support June 2005, extended support July 2010). Windows 2000 market share when VS2010 was released: 0.5%.

    VS11 - Beta February 2012, RTM 2012. Attempts to drop support for Windows XP (mainstream support April 2009, extended support April 2014). Windows XP market share when VS11 Beta was released: 30.0%. Probabilistic calculation says it'll be 24% by the end of 2012.

    This clearly shows that for the first time Microsoft is trying to drop Visual Studio support for an OS that still has extended support (let's ignore Windows 2000, the gap was only a few months).

    NOTE: These market shares are given if linux, mac and mobile platforms are also considered. When considering Windows machines only, Windows XP had a market share of 36% in February 2012, by the end of 2012 it'll be 29%.

  • User profile image
    Ted.w

    any doubters still left, after reading the comments at

    http://blogs.msdn.com/b/vcblog/archive/2012/04/18/10295093.aspx

    ?

  • User profile image
    evildictait​or

    However, if support for Windows XP targeting is important to you, then you can use Visual Studio 11 Beta's multi-targeting capability described above in order to employ the Visual Studio 2010 compiler and libraries to build applications and libraries than execute on Windows XP. This enables you to enjoy the new features of the Visual Studio 11 Beta environment without sacrificing backward compatibly in your applications!

    Sounds like VS2011 will have XP support after all

  • User profile image
    cheong

    @evildictaitor:Not exactly. That feature require you to have VS2010 or earlier version of VS installed, so VS11 will use tool-chain from older version of VS to compile and those binaries will run on WinXP.

    In other words, in that way you lose all functionality granted by new libraries/runtimes that come with VS11. VS11 itself and native binaries generated by VS11 still won't run on WinXP. Why not just continue using your old VS2010 or earlier?

    Recent Achievement unlocked: Code Avenger Tier 4/6: You see dead program. A lot!
    Last modified

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.