@ -32,6 +32,14 @@
<Property Id="INSTALLDIR">
<Property Id="INSTALLDIR">
<RegistrySearch Id="InstallPathRegistry"
<RegistrySearch Id="InstallPathRegistry"
Type="raw"
Root="HKLM"
Key="$(var.RegistryKeyPath)"
Name="InstallPath"/>
<!-- Also need to search under HKCU to support upgrading from old
versions. If we wanted to disable backward compatibility, this
second search could be deleted. -->
<RegistrySearch Id="InstallPathRegistryCU"
Type="raw"
Type="raw"
Root="HKCU"
Root="HKCU"
Key="$(var.RegistryKeyPath)"
Key="$(var.RegistryKeyPath)"
@ -44,8 +52,9 @@
Description="Install the core Node.js runtime (node.exe)."
Description="Install the core Node.js runtime (node.exe)."
Absent="disallow">
Absent="disallow">
<ComponentRef Id="NodeExecutable"/>
<ComponentRef Id="NodeExecutable"/>
<ComponentRef Id="NodeRegistryEntries"/>
<ComponentRef Id="NodeVarsScript"/>
<ComponentRef Id="NodeVarsScript"/>
<ComponentRef Id="NodeStartMenuAndRegistryEntries "/>
<ComponentRef Id="NodeStartMenu"/>
<ComponentRef Id="AppData" />
<ComponentRef Id="AppData" />
<ComponentGroupRef Id="Product.Generated"/>
<ComponentGroupRef Id="Product.Generated"/>
@ -117,6 +126,20 @@
<File Id="node.exe" KeyPath="yes" Source="$(var.SourceDir)\node.exe"/>
<File Id="node.exe" KeyPath="yes" Source="$(var.SourceDir)\node.exe"/>
</Component>
</Component>
<Component Id="NodeRegistryEntries">
<RegistryValue Root="HKLM"
Key="$(var.RegistryKeyPath)"
Name="InstallPath"
Type="string"
Value="[INSTALLDIR]"
KeyPath="yes"/>
<RegistryValue Root="HKLM"
Key="$(var.RegistryKeyPath)"
Name="Version"
Type="string"
Value="$(var.ProductVersion)"/>
</Component>
<Component Id="NodeVarsScript">
<Component Id="NodeVarsScript">
<File Id="nodevars.bat" KeyPath="yes" Source="$(var.RepoDir)\tools\msvs\nodevars.bat"/>
<File Id="nodevars.bat" KeyPath="yes" Source="$(var.RepoDir)\tools\msvs\nodevars.bat"/>
</Component>
</Component>
@ -139,18 +162,15 @@
</DirectoryRef>
</DirectoryRef>
<DirectoryRef Id="ApplicationProgramsFolder">
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="NodeStartMenuAndRegistryEntries">
<Component Id="NodeStartMenu">
<!-- RegistryValue needed because every Component must have a KeyPath.
Because of ICE43, the Root must be HKCU. -->
<RegistryValue Root="HKCU"
<RegistryValue Root="HKCU"
Key="$(var.RegistryKeyPath)"
Key="$(var.RegistryKeyPath)\Components "
Name="InstallPath "
Name="NodeStartMenuShortcuts "
Type="str ing"
Type="inte ger "
Value="[INSTALLDIR] "
Value="1 "
KeyPath="yes"/>
KeyPath="yes"/>
<RegistryValue Root="HKCU"
Key="$(var.RegistryKeyPath)"
Name="Version"
Type="string"
Value="$(var.ProductVersion)"/>
<Shortcut Id="NodeVarsScriptShortcut"
<Shortcut Id="NodeVarsScriptShortcut"
Name="Node.js command prompt"
Name="Node.js command prompt"
Target="[%ComSpec]"
Target="[%ComSpec]"