Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit01eab69

Browse files
abelbraaksmadsyme
authored andcommitted
Fix build.cmd for certain always-shown errors (like "unable to find registry key"), improve finding of VS2017 tools, fix DEVGUIDE.md (#3635)
* Fix build.com displaying the following error on each run "ERROR: The system was unable to find the specified registry key or value."* Remove warning about reg.exe errors introduced in #3614 (in commit b548bd7, but unrelated to that fix), it is no longer necessary.* Fix #3638, VS2017 Preview installation was not found when VS2017RTM is not installed. Remove comment introduced in #3614 (through commit966bd7f)
1 parent65819cc commit01eab69

File tree

3 files changed

+46
-28
lines changed

3 files changed

+46
-28
lines changed

‎build.cmd‎

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -417,11 +417,12 @@ echo PUBLISH_VSIX=%PUBLISH_VSIX%
417417
echo MYGET_APIKEY=%MYGET_APIKEY%
418418
echo TEMP=%TEMP%
419419

420-
REM load Visual Studio 2017 developer command prompt if VS150COMNTOOLS is not set
420+
:: load Visual Studio 2017 developer command prompt if VS150COMNTOOLS is not set
421421

422-
REM If this is not set, VsDevCmd.bat will change %cd% to [USERPROFILE]\source, causing the build to fail.
422+
:: If this is not set, VsDevCmd.bat will change %cd% to [USERPROFILE]\source, causing the build to fail.
423423
SETVSCMD_START_DIR=%cd%
424424

425+
:: try to find an RC or RTM edition of VS2017
425426
if"%VS150COMNTOOLS%"EQU""ifexist"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat" (
426427
call"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat"
427428
)
@@ -431,15 +432,28 @@ if "%VS150COMNTOOLS%" EQU "" if exist "%ProgramFiles(x86)%\Microsoft Visual Stud
431432
if"%VS150COMNTOOLS%"EQU""ifexist"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" (
432433
call"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat"
433434
)
435+
436+
:: Allow build from Preview editions
437+
if"%VS150COMNTOOLS%"EQU""ifexist"%ProgramFiles(x86)%\Microsoft Visual Studio\Preview\Enterprise\Common7\Tools\VsDevCmd.bat" (
438+
call"%ProgramFiles(x86)%\Microsoft Visual Studio\Preview\Enterprise\Common7\Tools\VsDevCmd.bat"
439+
)
440+
if"%VS150COMNTOOLS%"EQU""ifexist"%ProgramFiles(x86)%\Microsoft Visual Studio\Preview\Professional\Common7\Tools\VsDevCmd.bat" (
441+
call"%ProgramFiles(x86)%\Microsoft Visual Studio\Preview\Enterprise\Common7\Tools\VsDevCmd.bat"
442+
)
443+
if"%VS150COMNTOOLS%"EQU""ifexist"%ProgramFiles(x86)%\Microsoft Visual Studio\Preview\Community\Common7\Tools\VsDevCmd.bat" (
444+
call"%ProgramFiles(x86)%\Microsoft Visual Studio\Preview\Enterprise\Common7\Tools\VsDevCmd.bat"
445+
)
446+
447+
:: If there's no installation of VS2017 or VS2017 Preview, use the build tools
434448
if"%VS150COMNTOOLS%"EQU""ifexist"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\BuildTools\Common7\Tools\VsDevCmd.bat" (
435449
call"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\BuildTools\Common7\Tools\VsDevCmd.bat"
436450
)
437451

438-
echo.
452+
echo.
439453
echo Environment
440454
set
441-
echo.
442-
echo.
455+
echo.
456+
echo.
443457

444458
echo ---------------- Done with arguments, starting preparation -----------------
445459

@@ -639,15 +653,17 @@ if "%OSARCH%"=="AMD64" set SYSWOW64=SysWoW64
639653

640654
ifnot"%OSARCH%"=="x86"setREGEXE32BIT=%WINDIR%\syswow64\reg.exe
641655

642-
echo SDK environment vars from Registry (note: ignore"ERROR: The system was unable to find ....")
656+
echo SDK environment vars from Registry
643657
echo ==================================
644-
FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.2\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
645-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.1\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
646-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
647-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
648-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
649-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
650-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
658+
659+
::See https://stackoverflow.com/a/17113667/111575 on 2^>NUL for suppressing the error "ERROR: The system was unable to find the specified registry key or value." from reg.exe, this fixes #3619
660+
FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.2\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
661+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.1\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
662+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
663+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
664+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
665+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
666+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
651667

652668
setPATH=%PATH%;%WINSDKNETFXTOOLS%
653669
for /d%%iin (%WINDIR%\Microsoft.NET\Framework\v4.0.?????)dosetCORDIR=%%i
@@ -659,7 +675,7 @@ IF NOT DEFINED SNEXE32 IF EXIST "%WINSDKNETFXTOOLS%\sn.exe" set
659675
IFNOTDEFINED SNEXE64IFEXIST"%WINSDKNETFXTOOLS%x64\sn.exe"setSNEXE64=%WINSDKNETFXTOOLS%x64\sn.exe
660676
IFNOTDEFINED ildasmIFEXIST"%WINSDKNETFXTOOLS%\ildasm.exe"setildasm=%WINSDKNETFXTOOLS%ildasm.exe
661677

662-
echo.
678+
echo.
663679
echo SDK environment vars
664680
echo =======================
665681
echo WINSDKNETFXTOOLS:%WINSDKNETFXTOOLS%

‎src/update.cmd‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ if not "%WindowsSDK_ExecutablePath_x86%" == "" goto :havesdk
2626
setREGEXE32BIT=reg.exe
2727
ifnot"%OSARCH%"=="x86"setREGEXE32BIT=%WINDIR%\syswow64\reg.exe
2828

29-
FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6.2\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS_x86=%%B
30-
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6.1\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS_x86=%%B
31-
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS_x86=%%B
32-
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS_x86=%%B
33-
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS_x86=%%B
34-
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS_x86=%%B
35-
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS_x86=%%B
29+
::See https://stackoverflow.com/a/17113667/111575 on 2^>NUL for suppressing the error "ERROR: The system was unable to find the specified registry key or value." from reg.exe, this fixes #3619
30+
FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6.2\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS_x86=%%B
31+
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6.1\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS_x86=%%B
32+
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS_x86=%%B
33+
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS_x86=%%B
34+
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS_x86=%%B
35+
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS_x86=%%B
36+
if"%WINSDKNETFXTOOLS_x86%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS_x86=%%B
3637

3738
setWINSDKNETFXTOOLS_x64=%WINSDKNETFXTOOLS_x86%x64\
3839

‎vsintegration/update-vsintegration.cmd‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ if /I "%PROCESSOR_ARCHITECTURE%"=="AMD64" set X86_PROGRAMFILES=%ProgramFiles(x86
2626
setREGEXE32BIT=reg.exe
2727
ifnot"%OSARCH%"=="x86"setREGEXE32BIT=%WINDIR%\syswow64\reg.exe
2828

29-
FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.2\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
30-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.1\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
31-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
32-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
33-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
34-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
35-
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools" /v InstallationFolder')DOSETWINSDKNETFXTOOLS=%%B
29+
::See https://stackoverflow.com/a/17113667/111575 on 2^>NUL for suppressing the error "ERROR: The system was unable to find the specified registry key or value." from reg.exe, this fixes #3619
30+
FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.2\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
31+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\WOW6432Node\Microsoft\Microsoft SDKs\NETFXSDK\4.6.1\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
32+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
33+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
34+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
35+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
36+
if"%WINSDKNETFXTOOLS%"==""FOR /F"tokens=2* delims="%%AIN ('%REGEXE32BIT%QUERY"HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx40Tools" /v InstallationFolder 2^>NUL')DOSETWINSDKNETFXTOOLS=%%B
3637

3738
setSN32="%WINSDKNETFXTOOLS%sn.exe"
3839
setSN64="%WINSDKNETFXTOOLS%x64\sn.exe"

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp