@@ -125,19 +125,19 @@ function build (gyp, argv, callback) {
125
125
126
126
function findMsbuild ( ) {
127
127
log . verbose ( 'could not find "msbuild.exe" in PATH - finding location in registry' )
128
- var notfoundErr = new Error ( 'Can\'t find "msbuild.exe". Do you have Microsoft Visual Studio C++ 2008+ installed?' )
128
+ var notfoundErr = 'Can\'t find "msbuild.exe". Do you have Microsoft Visual Studio C++ 2008+ installed?'
129
129
var cmd = 'reg query "HKLM\\Software\\Microsoft\\MSBuild\\ToolsVersions" /s'
130
130
if ( process . arch !== 'ia32' )
131
131
cmd += ' /reg:32'
132
132
exec ( cmd , function ( err , stdout , stderr ) {
133
+ if ( err ) {
134
+ return callback ( new Error ( err . message + '\n' + notfoundErr ) )
135
+ }
133
136
var reVers = / T o o l s V e r s i o n s \\ ( [ ^ \\ ] + ) $ / i
134
137
, rePath = / \r \n [ \t ] + M S B u i l d T o o l s P a t h [ \t ] + R E G _ S Z [ \t ] + ( [ ^ \r ] + ) / i
135
138
, msbuilds = [ ]
136
139
, r
137
140
, msbuildPath
138
- if ( err ) {
139
- return callback ( notfoundErr )
140
- }
141
141
stdout . split ( '\r\n\r\n' ) . forEach ( function ( l ) {
142
142
if ( ! l ) return
143
143
l = l . trim ( )
@@ -157,15 +157,15 @@ function build (gyp, argv, callback) {
157
157
return ( x . version < y . version ? - 1 : 1 )
158
158
} )
159
159
; ( function verifyMsbuild ( ) {
160
- if ( ! msbuilds . length ) return callback ( notfoundErr )
160
+ if ( ! msbuilds . length ) return callback ( new Error ( notfoundErr ) )
161
161
msbuildPath = path . resolve ( msbuilds . pop ( ) . path , 'msbuild.exe' )
162
162
fs . stat ( msbuildPath , function ( err , stat ) {
163
163
if ( err ) {
164
164
if ( err . code == 'ENOENT' ) {
165
165
if ( msbuilds . length ) {
166
166
return verifyMsbuild ( )
167
167
} else {
168
- callback ( notfoundErr )
168
+ callback ( new Error ( notfoundErr ) )
169
169
}
170
170
} else {
171
171
callback ( err )
0 commit comments