diff --git a/tools/msvs/msi/nodemsi.sln b/tools/msvs/msi/nodemsi.sln
index 1392bb285a..f95b00f879 100644
--- a/tools/msvs/msi/nodemsi.sln
+++ b/tools/msvs/msi/nodemsi.sln
@@ -5,12 +5,18 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "nodemsi", "nodemsi.wixproj"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
+ Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}.Debug|x64.ActiveCfg = Debug|x64
+ {1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}.Debug|x64.Build.0 = Debug|x64
{1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}.Debug|x86.ActiveCfg = Debug|x86
{1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}.Debug|x86.Build.0 = Debug|x86
+ {1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}.Release|x64.ActiveCfg = Release|x64
+ {1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}.Release|x64.Build.0 = Release|x64
{1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}.Release|x86.ActiveCfg = Release|x86
{1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}.Release|x86.Build.0 = Release|x86
EndGlobalSection
diff --git a/tools/msvs/msi/nodemsi.wixproj b/tools/msvs/msi/nodemsi.wixproj
index d7a3b62dd5..50411aaa06 100644
--- a/tools/msvs/msi/nodemsi.wixproj
+++ b/tools/msvs/msi/nodemsi.wixproj
@@ -16,12 +16,22 @@
..\..\..\$(Configuration)\
obj\$(Configuration)\
- Debug;ProductVersion=$(NodeVersion);NPMSourceDir=..\..\..\deps\npm\
+ Debug;ProductVersion=$(NodeVersion);NPMSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder
..\..\..\$(Configuration)\
obj\$(Configuration)\
- Debug;ProductVersion=$(NodeVersion);NPMSourceDir=..\..\..\deps\npm\
+ Debug;ProductVersion=$(NodeVersion);NPMSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFilesFolder
+
+
+ ..\..\..\$(Configuration)\
+ obj\$(Configuration)\
+ Debug;ProductVersion=$(NodeVersion);NPMSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder
+
+
+ ..\..\..\$(Configuration)\
+ obj\$(Configuration)\
+ Debug;ProductVersion=$(NodeVersion);NPMSourceDir=..\..\..\deps\npm\;ProgramFilesFolderId=ProgramFiles64Folder
diff --git a/tools/msvs/msi/product.wxs b/tools/msvs/msi/product.wxs
index 1448c928f4..d21ca46440 100755
--- a/tools/msvs/msi/product.wxs
+++ b/tools/msvs/msi/product.wxs
@@ -11,7 +11,7 @@
Manufacturer="Joyent, Inc"
UpgradeCode="1d60944c-b9ce-4a71-a7c0-0384eb884baa">
-
+
@@ -19,7 +19,7 @@
DowngradeErrorMessage="A later version of node.js is already installed. Setup will now exit." />
-
+
diff --git a/vcbuild.bat b/vcbuild.bat
index 92eef6feb6..b417f680f1 100644
--- a/vcbuild.bat
+++ b/vcbuild.bat
@@ -13,6 +13,7 @@ if /i "%1"=="/?" goto help
@rem Process arguments.
set config=Release
+set msiplatform=x86
set target=Build
set target_arch=ia32
set debug_arg=
@@ -62,6 +63,7 @@ if defined upload goto upload
if defined jslint goto jslint
if "%config%"=="Debug" set debug_arg=--debug
+if "%target_arch%"=="x64" set msiplatform=x64
if defined nosnapshot set nosnapshot_arg=--without-snapshot
:project-gen
@@ -115,7 +117,7 @@ python "%~dp0tools\getnodeversion.py" > "%temp%\node_version.txt"
if not errorlevel 0 echo Cannot determine current version of node.js & goto exit
for /F "tokens=*" %%i in (%temp%\node_version.txt) do set NODE_VERSION=%%i
heat dir deps\npm -var var.NPMSourceDir -dr NodeModulesFolder -cg NPMFiles -gg -template fragment -nologo -out npm.wxs
-msbuild "%~dp0tools\msvs\msi\nodemsi.sln" /m /t:Clean,Build /p:Configuration=%config% /p:NodeVersion=%NODE_VERSION% /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
+msbuild "%~dp0tools\msvs\msi\nodemsi.sln" /m /t:Clean,Build /p:Configuration=%config% /p:Platform=%msiplatform% /p:NodeVersion=%NODE_VERSION% /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
if errorlevel 1 goto exit
if defined nosign goto run
@@ -166,7 +168,7 @@ python tools/closure_linter/closure_linter/gjslint.py --unix_mode --strict --noj
goto exit
:help
-echo vcbuild.bat [debug/release] [msi] [test-all/test-uv/test-internet/test-pummel/test-simple/test-message] [clean] [noprojgen] [nobuild] [nosign]
+echo vcbuild.bat [debug/release] [msi] [test-all/test-uv/test-internet/test-pummel/test-simple/test-message] [clean] [noprojgen] [nobuild] [nosign] [x86/x64]
echo Examples:
echo vcbuild.bat : builds release build
echo vcbuild.bat debug : builds debug build