none
Как в VS2010express поменять версию Windows SDK ? RRS feed

  • Вопрос

  • Здраствуйте.

    Установил через Web-установщик VisualStudio2010 Express с ним вместе поставился Windows SDK 7.0A в не очень "богатой" комплектации))

    Далее через Web-установщик поставил более  свежий Windows SDK 7.1 в полной комплектации.

    Но не знаю как выполнить переключение VS на этот более поздний SDK. При компиляции из командной строки проблем нет, там в bat-файлах и make-файлах просто пути ставлю к более новому SDK, а вот если запускаю среду, то ... если открыть stdafx.h далее в нем открыть targetver.h далее в нем открыть SDKDDKVer.h и потом правой кнопкой "Открыть содержащую папку", то видно что файл открывается из папки где лежит 7.0A.

    Собственно говоря вопрос.. А где в настройках VS поменять версию Windows SDK ?

    В закладке пуска программ "Microsoft Windows SDK v7.1" есть подпапка "Visual Studio Registration" в ней есть программа 'Windows SDK Configuration Tool'.. если ее запустить, выбрать v7.1 и нажать кнопку 'Make Current' то на экран выходит сообщение "Your system does not have Visual Studio 2005 or Visual Studio 2008 installed." Хотя в аннотации к SDK 7.1 написано о поддержке VS2010 включая express версии.

    http://www.microsoft.com/downloads/details.aspx?familyid=6B6C21D2-2006-4AFA-9702-529FA782D63B&displaylang=en

    "Visual Studio: Use the resources in this SDK with Visual Studio versions 2005, 2008, and 2010, including Express editions"

    (модераторам) Если не в ту тему вопрос запостил, переместите в нужную ветку вопрос тогда.

    Всем удачи!

    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 20:16 MSDN Forums consolidation (От:Visual Studio 2010 Launch в России)
    4 июня 2010 г. 10:01

Ответы

  • это, похоже глюк Windows SDK, который так и не поправили

    в VS2008 это лечилось копированием данных из HKLM\Microsoft\Microsoft SDKs\Windows [CurrentInstallFolder] и [CurrentVersion] в HKCU\Microsoft\Microsoft SDKs\Windows

    в VS2010 я это не пробовал, но подозреваю, что лечится также

    4 августа 2010 г. 9:32

Все ответы

  • Нашел пока "кривое" решение.

     

    1)

    Сначала запускаем из закладки пуск-панели запускаем Windows SDK 7.1 Command Prompt

    В командной строке переходим в подпапку Setup.

     

    cd Setup
    Вобщем мы должны быть в пути типа "C:\Program Files\Microsoft SDKs\Windows\v7.1\Setup"

    Далее набираем магическую команду смены версии.

    WindowsSdkVersion.exe -version:v7.1

    Пишет что SDK переключился на 7.1 и еще что вроде как VS2008 также переключился на 7.1 (хотя у меня на машине нет VS2008 а установлен только VS2010).

    На самом деле это все пока не помогает. VS2010 по прежнему будет юзать 7.0A в этом не сложно убедиться если открыть в VS в меню Сервис/Командная строка Visual Studio и набрать команду

     

    echo "%WindowsSdkDir%"

     

    Увидите путь к 7.0A можно тутже в консоли дать команду "path" и убедиться что пути все равно к 7.0A

     

    Так вот, далее делаем такую манипуляцию.

     

    2) Идем в папку  где установлена Visual Studio 2010 Express, внутри идем в папку \Common7\Tools

    там находим

     

    VCVarsQuerryRegistery.bat

     

    (для изменения файла нужно поставить себе права, а то он защищен).

     

    Находим там строчки

     

    :GetWindowsSdkDirHelper
    @for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A" /v "InstallationFolder"') DO (
    	@if "%%i"=="InstallationFolder" (
    		@SET "WindowsSdkDir=%%k"
    	)
    )
    @if "%WindowsSdkDir%"=="" exit /B 1
    @exit /B 0
    

     и меняем 7.0A на 7.1

     

    Сохраняем батник. Запускаем его.

    Запускаем VS2010express. Идем Сервис/Командная Строка Visual Studio

     

    даем

     

    echo "%WindowsSdkDir%"
    ну и можно дать
    path

    И только теперь убеждаемся что все пути стоят на 7.1

    Только вот все равно глюк остается с просмотром h-файлов. Если по прежнему из проекта открывать include-файлы принадлежащие SDK то они открываются из папки 7.0A .... Хмммм... странно конечно... немного расстраивает, но самое главное что переменная окружения WindowsSdkDir у нас теперь стоит правильно на 7.1 что и нужно для сборки.

     

    Вот такое пока корявое решение.

    4 июня 2010 г. 12:23
  • это, похоже глюк Windows SDK, который так и не поправили

    в VS2008 это лечилось копированием данных из HKLM\Microsoft\Microsoft SDKs\Windows [CurrentInstallFolder] и [CurrentVersion] в HKCU\Microsoft\Microsoft SDKs\Windows

    в VS2010 я это не пробовал, но подозреваю, что лечится также

    4 августа 2010 г. 9:32
  • А как поменять макрос $(WindowsSdkDir), после выполнения всего выше сказанного в mvs2010 эта переменная не меняется. Файлы типа Windows.h открываются с нового sdk, но если добавить к проекту каталог $(WindowsSdkDir)\Samples\multimedia\directshow\baseclasses\ путь получается не тот. Значение переменной $(WindowsSdkDir) в mvs2010 можно увидеть если нажать кнопку «Макросы» при добавление включаемых каталогов.

    2 сентября 2010 г. 18:24