Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Commit

Permalink
Browse files Browse the repository at this point in the history
Fixes #2083. Support installing npm in the .msi
  • Loading branch information
ry committed Nov 23, 2011
1 parent 3ab15cd commit e5cf3f9
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 3 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -34,3 +34,5 @@ ipch/
*-nodegyp*
/gyp-mac-tool
/dist-osx
/npm.wxs
/tools/msvs/npm.wixobj
8 changes: 5 additions & 3 deletions tools/msvs/msi/nodemsi.wixproj
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
Expand All @@ -15,15 +16,16 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug;ProductVersion=$(NodeVersion)</DefineConstants>
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NPMSourceDir=..\..\..\deps\npm\</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>..\..\..\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug;ProductVersion=$(NodeVersion)</DefineConstants>
<DefineConstants>Debug;ProductVersion=$(NodeVersion);NPMSourceDir=..\..\..\deps\npm\</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="product.wxs" />
<Compile Include="..\..\..\npm.wxs" />
</ItemGroup>
<ItemGroup>
<WixExtension Include="WixUIExtension">
Expand All @@ -40,4 +42,4 @@
<Target Name="AfterBuild">
</Target>
-->
</Project>
</Project>
6 changes: 6 additions & 0 deletions tools/msvs/msi/product.wxs
Expand Up @@ -17,6 +17,7 @@
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="NodeRoot" Name="nodejs">
<Directory Id="NodeModulesFolder" Name="node_modules" />
<Component Id="nodeexe" Guid="AEC0F08E-89B3-4C35-A286-8DB8598597F2">
<File Id="filenodeexe" KeyPath="yes" Source="$(var.sourcedir)\node.exe" />
<Environment Id="Environment"
Expand All @@ -26,6 +27,9 @@
System="yes"
Value="[NodeRoot]" />
</Component>
<Component Id="npmcmd" Guid="31e9986d-74cd-44e1-878c-194d3e997d32">
<File Id="filenpmcmd" KeyPath="yes" Source="$(var.NPMSourceDir)\bin\npm.cmd" />
</Component>
<?if $(var.Configuration) = Debug ?>
<Component Id="nodepdb" Guid="BEC0F08E-89B3-4C35-A286-8DB8598597F2">
<File Id="filenodepdb" KeyPath="yes" Source="$(var.sourcedir)\node.pdb" />
Expand All @@ -37,6 +41,8 @@

<ComponentGroup Id="allfiles">
<ComponentRef Id="nodeexe"/>
<ComponentRef Id="npmcmd"/>
<ComponentGroupRef Id="NPMFiles" />
<?if $(var.Configuration) = Debug ?>
<ComponentRef Id="nodepdb"/>
<?endif?>
Expand Down
1 change: 1 addition & 0 deletions vcbuild.bat
Expand Up @@ -83,6 +83,7 @@ if not defined msi goto run
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" /t:Clean,Build /p:Configuration=%config% /p:NodeVersion=%NODE_VERSION% /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
if errorlevel 1 goto exit

Expand Down

0 comments on commit e5cf3f9

Please sign in to comment.