2014-06-12 138 views
3

在離開我的機器幾個星期後,我返回去做了一些Qt-using-VC10的工作。麻煩的第一個跡象是QtCreator有關「cl」未被識別的錯誤,這導致我發現C:\ Windows \ System32已經以某種方式從PATH中刪除。無法識別「reg」命令使vcvarsall.bat無法設置VS100COMNTOOLS,如here所述。缺少註冊表HKLM SOFTWARE Microsoft VisualStudio SxS VS7

上述線程指示我到this,它建議簡單地將C:\ Windows \ System32添加回PATH。

但是,我的麻煩還沒有結束。一旦C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ vcvars32.bat(由vcvarsall.bat調用的腳本)能夠調用「reg」,則無法找到設置VS100COMNTOOLS所需的密鑰。在下面的線路上出現故障:

for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\VisualStudio\SxS\VS7"  /v "10.0"') DO (
    @if "%%i"=="10.0" (
     @SET "VS100COMNTOOLS=%%k" 
    ) 
) 

的輸出,我從VCVARS32.BAT了(與非抑制輸出)爲:

C:\Users\Bob\Desktop>for /F "tokens=1,2*" %i in ('reg query "HKLM\SOFTWARE\Micro 
soft\VisualStudio\SxS\VS7" /v "10.0"') DO() 
ERROR: The system was unable to find the specified registry key or value. 

果然,在我的分支所指示的位置不存在。我的註冊表樹的相關子集看起來像這樣:

HKEY_LOCAL_MACHINE\ 
    SOFTWARE\ 
    Microsoft\ 
     VisualStudio\ 
      10.0\ 
       Debugger\ 
      11.0\ 
       ... 
      9.0\ 
       ... 
      Debugger\ 
       ... 

有沒有人知道這裏發生了什麼?在缺席兩週後,自動更新窗口是否會更新?如何修復我的系統,以便vcvarsall.bat可以設置VS100COMNTOOLS?

+0

有人搞亂了你的機器。要麼它是擁有的,要麼你有同事/家人/清潔工隊伍與它一起玩耍。到目前爲止,您似乎需要重新安裝相關的Visual Studio版本。確保* proper *'vcvars'腳本正在運行(從所需的Visual Studio版本開始)。 –

回答

0

是的,沒錯。我遇到了與缺少的regKey SxS相同的問題。 重新安裝我的Visual Studio 10.0 - 更新SP1後 - 在HKM中重新定義SxS HKM-RegKey。

1

我基本上有同樣的問題。在我的情況下,我試圖只安裝Visual Studio編譯器和可再發行組件,而沒有Visual Studio IDE的任何實例。我花了很長時間研究它,試圖「正確」解決它,而不會不必要地強制環境變量或修改或添加註冊表值。

大多數建議都是先卸載任何Visual Studio 2010重新分發和/或編譯器,然後通過安裝Windows SDK後以特定順序重新安裝它們。

在我的情況下,這似乎有幫助,但不能完全解決問題。我結束了以下工作。首先在

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat 

我註釋掉線10,因爲如果goto setup_buildsku採取的%VisualStudioVersion%變量從來沒有最終得到設置爲它通常會在文件後面下來。 (不會再次調用vcbuildtools.bat,因爲我在啓動命令提示符時先調用它。)

然後,在

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat 
的標記部分 GetVSCommonToolsDir

,它會在兩個HKLMHKCU尋找在註冊表中

SOFTWARE\Microsoft\VisualStudio\SxS\VS7 

SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7 

問題我曾經(因爲只有構建工具ar e安裝​​?)沒有VS7鍵,只有VC7鍵,所以查找失敗。

因此,我在vcvarsall.bat%VS140COMNTOOLSDIR%%VS100COMNTOOLSDIR%%VS100COMNTOOLSDIR%變量中未註釋過第99-103行。 (在致電vcvarsall.bat之前,它們已經放置在我的環境中)。

後來,我看到很多「ERROR: Cannot determine the location of the VS installation.」但我的構建和編譯仍然可以繼續!

相關問題