|
35 | 35 |
|
36 | 36 | <Property Id="INSTALLDIR">
|
37 | 37 | <RegistrySearch Id="InstallPathRegistry"
|
| 38 | + Type="raw" |
| 39 | + Root="HKLM" |
| 40 | + Key="$(var.RegistryKeyPath)" |
| 41 | + Name="InstallPath"/> |
| 42 | + <!-- Also need to search under HKCU to support upgrading from old |
| 43 | + versions. If we wanted to disable backward compatibility, this |
| 44 | + second search could be deleted. --> |
| 45 | + <RegistrySearch Id="InstallPathRegistryCU" |
38 | 46 | Type="raw"
|
39 | 47 | Root="HKCU"
|
40 | 48 | Key="$(var.RegistryKeyPath)"
|
|
47 | 55 | Description="!(loc.NodeRuntime_Description)"
|
48 | 56 | Absent="disallow">
|
49 | 57 | <ComponentRef Id="NodeExecutable"/>
|
| 58 | + <ComponentRef Id="NodeRegistryEntries"/> |
50 | 59 | <ComponentRef Id="NodeVarsScript"/>
|
51 |
| - <ComponentRef Id="NodeStartMenuAndRegistryEntries"/> |
| 60 | + <ComponentRef Id="NodeStartMenu"/> |
52 | 61 | <ComponentRef Id="AppData" />
|
53 | 62 | <ComponentGroupRef Id="Product.Generated"/>
|
54 | 63 |
|
|
133 | 142 | <RemoveFile Id="node.exe" Name="node.exe" On="both" />
|
134 | 143 | </Component>
|
135 | 144 |
|
| 145 | + <Component Id="NodeRegistryEntries"> |
| 146 | + <RegistryValue Root="HKLM" |
| 147 | + Key="$(var.RegistryKeyPath)" |
| 148 | + Name="InstallPath" |
| 149 | + Type="string" |
| 150 | + Value="[INSTALLDIR]" |
| 151 | + KeyPath="yes"/> |
| 152 | + <RegistryValue Root="HKLM" |
| 153 | + Key="$(var.RegistryKeyPath)" |
| 154 | + Name="Version" |
| 155 | + Type="string" |
| 156 | + Value="$(var.ProductVersion)"/> |
| 157 | + </Component> |
| 158 | + |
136 | 159 | <Component Id="NodeVarsScript">
|
137 | 160 | <File Id="nodevars.bat" KeyPath="yes" Source="$(var.RepoDir)\tools\msvs\nodevars.bat"/>
|
138 | 161 | </Component>
|
|
155 | 178 | </DirectoryRef>
|
156 | 179 |
|
157 | 180 | <DirectoryRef Id="ApplicationProgramsFolder">
|
158 |
| - <Component Id="NodeStartMenuAndRegistryEntries"> |
| 181 | + <Component Id="NodeStartMenu"> |
| 182 | + <!-- RegistryValue needed because every Component must have a KeyPath. |
| 183 | + Because of ICE43, the Root must be HKCU. --> |
159 | 184 | <RegistryValue Root="HKCU"
|
160 |
| - Key="$(var.RegistryKeyPath)" |
161 |
| - Name="InstallPath" |
162 |
| - Type="string" |
163 |
| - Value="[INSTALLDIR]" |
| 185 | + Key="$(var.RegistryKeyPath)\Components" |
| 186 | + Name="NodeStartMenuShortcuts" |
| 187 | + Type="integer" |
| 188 | + Value="1" |
164 | 189 | KeyPath="yes"/>
|
165 |
| - <RegistryValue Root="HKCU" |
166 |
| - Key="$(var.RegistryKeyPath)" |
167 |
| - Name="Version" |
168 |
| - Type="string" |
169 |
| - Value="$(var.ProductVersion)"/> |
170 | 190 | <Shortcut Id="NodeVarsScriptShortcut"
|
171 | 191 | Name="io.js command prompt"
|
172 | 192 | Target="[%ComSpec]"
|
|
292 | 312 | </InstallUISequence>
|
293 | 313 |
|
294 | 314 | <InstallExecuteSequence>
|
| 315 | + <Custom Action='SetInstallScope' Before='FindRelatedProducts'/> |
295 | 316 | <Custom Action="LinkNodeExeToIojsExe" After="InstallFiles">
|
296 | 317 | $NodeAlias = 3
|
297 | 318 | </Custom>
|
298 |
| - <Custom Action='SetInstallScope' Before='FindRelatedProducts'/> |
299 | 319 | <Custom Action='BroadcastEnvironmentUpdate' After='InstallFinalize'/>
|
300 | 320 | </InstallExecuteSequence>
|
301 | 321 |
|
|
0 commit comments