Coffeehouse Post

Single Post Permalink

View Thread: When you install SP1 for VS 2008....
  • User profile image

    @mstefanik: It is a problem, but it's not as big a problem as you might think.

    If you right-click a shortcut or application, one of the things you'll notice is the "run this application as" with a drop-down selection of Windows XP/Vista/7 and so on. One of the many changes that this actually does under the hood is that it makes Windows lie to the app to give it the wrong version number.

    To automate this somewhat, Microsoft distributes (via Windows Update) a massive collection of application hashes and their corresponding app-compat requirements. When an app is run for the first time, this database is queried and the appropriate setting is chosen.

    Secondly, Microsoft has a big server farm in Redmond that chews through apps watching API calls and watching for app-compat regressions. This server farm feeds lots of automated additions to this big appcompat list.

    And finally, if an app isn't on the list, is linked to run on an old version of Windows that is not a console app exits within 5 seconds of starting, Microsoft pops up a dialog asking "Did this application run/install correctly". If you select "No", then it automatically sets the app-compat setting for the version of Windows that the app was linked against.

    So all of this adds up to a big "You'd think this would be a big appcompat problem, but it kinda isn't really".