|
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