|
25 | 25 |
|
26 | 26 | <Icon Id="node.exe" SourceFile="$(var.RepoDir)\src\res\node.ico"/>
|
27 | 27 | <Property Id="ARPPRODUCTICON" Value="node.exe" />
|
| 28 | + <Property Id="ApplicationFolderName" Value="nodejs" /> |
| 29 | + <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" /> |
| 30 | + |
| 31 | + <Property Id="INSTALLDIR"> |
| 32 | + <RegistrySearch Id='InstallPathRegistry' Type='raw' |
| 33 | + Root='HKCU' Key='SOFTWARE\Joyent\Node.js\Installer' Name='PreviousPath' /> |
| 34 | + </Property> |
28 | 35 |
|
29 | 36 | <Directory Id="TARGETDIR" Name="SourceDir">
|
30 | 37 |
|
|
33 | 40 | </Directory>
|
34 | 41 |
|
35 | 42 | <Directory Id="$(var.ProgramFilesFolderId)">
|
36 |
| - <Directory Id="APPLICATIONROOTDIRECTORY" Name="nodejs"> |
| 43 | + <Directory Id="INSTALLDIR" Name="nodejs"> |
37 | 44 | <Directory Id="NodeModulesFolder" Name="node_modules">
|
38 | 45 | <Directory Id="NPMFolder" Name="npm">
|
39 | 46 | <Component Id="npmrc" Guid="55B2B03F-8F32-4D62-A54A-FA428615591D">
|
|
45 | 52 | <File Id="filenodeexe" KeyPath="yes" Source="$(var.SourceDir)\node.exe" />
|
46 | 53 | <?if $(var.NoETW) != 1 ?>
|
47 | 54 | <File Id="node_etw_provider_man" Name="node_etw_provider.man" Source="$(var.RepoDir)\src\res\node_etw_provider.man" >
|
48 |
| - <util:EventManifest MessageFile="[APPLICATIONROOTDIRECTORY]node.exe" ResourceFile="[APPLICATIONROOTDIRECTORY]node.exe"/> |
| 55 | + <util:EventManifest MessageFile="[INSTALLDIR]node.exe" ResourceFile="[INSTALLDIR]node.exe"/> |
49 | 56 | </File>
|
50 | 57 | <?endif?>
|
51 | 58 | <?if $(var.NoPerfCtr) != 1 ?>
|
52 | 59 | <File Id="node_perfctr_provider_man" Name="node_perfctr_provider.man" Source="$(var.RepoDir)\src\res\node_perfctr_provider.man" >
|
53 |
| - <util:PerfCounterManifest ResourceFileDirectory="[APPLICATIONROOTDIRECTORY]"/> |
| 60 | + <util:PerfCounterManifest ResourceFileDirectory="[INSTALLDIR]"/> |
54 | 61 | </File>
|
55 | 62 | <?endif?>
|
56 | 63 | <Environment Id="npm_env"
|
|
64 | 71 | Name="PATH"
|
65 | 72 | Part="last"
|
66 | 73 | System="yes"
|
67 |
| - Value="[APPLICATIONROOTDIRECTORY]" /> |
| 74 | + Value="[INSTALLDIR]" /> |
68 | 75 | </Component>
|
69 | 76 | <Component Id="npmcmd" Guid="31e9986d-74cd-44e1-878c-194d3e997d32">
|
70 | 77 | <File Id="filenpmcmd" KeyPath="yes" Source="$(var.NPMSourceDir)\bin\npm.cmd" />
|
|
80 | 87 | <Component Id="nodejsvars" Guid="*">
|
81 | 88 | <File Id="filenodejsvars" KeyPath="yes" Source="$(var.RepoDir)\tools\msvs\nodejsvars.bat" />
|
82 | 89 | </Component>
|
| 90 | + <Component Id="noderegistry" Guid="*" > |
| 91 | + <RegistryKey Root="HKCU" Key="Software"> |
| 92 | + <RegistryKey Key="Joyent"> |
| 93 | + <RegistryKey Key="Node.js"> |
| 94 | + <RegistryKey Key="Installer"> |
| 95 | + <RegistryValue Name="PreviousPath" Type="string" Value="[INSTALLDIR]" KeyPath="yes" /> |
| 96 | + </RegistryKey> |
| 97 | + </RegistryKey> |
| 98 | + </RegistryKey> |
| 99 | + </RegistryKey> |
| 100 | + </Component> |
83 | 101 | </Directory>
|
84 | 102 | </Directory>
|
85 | 103 |
|
86 | 104 | <Directory Id="AppDataFolder">
|
87 | 105 | <Directory Id="NPMAppData" Name="npm">
|
88 | 106 | <Component Id="npmappdata_folder" Guid="994B1F7F-60CD-4792-A96D-63BC7FFF29BF" Permanent="yes">
|
89 |
| - <RegistryKey Action="none" Key="dummy" Root="HKCU" > |
| 107 | + <RegistryKey Key="dummy" Root="HKCU" > |
90 | 108 | <RegistryValue Type="integer" Value="1" KeyPath="yes" />
|
91 | 109 | </RegistryKey >
|
92 | 110 | <CreateFolder/>
|
|
99 | 117 | <DirectoryRef Id="ApplicationProgramsFolder">
|
100 | 118 | <Component Id="ApplicationShortcut" Guid="9b1ab94a-8f54-4f19-a5c4-b890de474162">
|
101 | 119 | <Shortcut Id="ApplicationStartMenuShortcut" Name="Node.js"
|
102 |
| - Description="$(var.ProductDescription)" Target="[APPLICATIONROOTDIRECTORY]node.exe" |
103 |
| - WorkingDirectory="APPLICATIONROOTDIRECTORY"/> |
| 120 | + Description="$(var.ProductDescription)" Target="[INSTALLDIR]node.exe" |
| 121 | + WorkingDirectory="INSTALLDIR"/> |
104 | 122 | <Shortcut Id="NodePromptStartMenuShortcut" Name="Node.js command prompt"
|
105 | 123 | Description="Node.js Command Prompt" Target="[%ComSpec]"
|
106 |
| - Arguments='/k "[APPLICATIONROOTDIRECTORY]nodejsvars.bat"' |
| 124 | + Arguments='/k "[INSTALLDIR]nodejsvars.bat"' |
107 | 125 | Show="normal"
|
108 |
| - WorkingDirectory="APPLICATIONROOTDIRECTORY"/> |
| 126 | + WorkingDirectory="INSTALLDIR"/> |
109 | 127 | <Shortcut Id="UninstallProduct"
|
110 | 128 | Name="Uninstall Node.js"
|
111 | 129 | Target="[SystemFolder]msiexec.exe"
|
|
114 | 132 | <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
|
115 | 133 | <RegistryValue Root="HKCU" Key="Software\Joyent\$(var.ProductName)" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
|
116 | 134 | </Component>
|
117 |
| - <Component Id="InternetShortcuts" Guid="3351B877-49BA-4BC0-BF5E-21BA623FD07C"> |
| 135 | + <Component Id="InternetShortcuts" Guid="3351B877-49BA-4BC0-BF5E-21BA623FD07C"> |
118 | 136 | <util:InternetShortcut Id="OnlineWebsiteShortcut"
|
119 | 137 | Name="Node.js website"
|
120 | 138 | Target="http://nodejs.org"
|
|
127 | 145 | </Component>
|
128 | 146 | </DirectoryRef>
|
129 | 147 |
|
130 |
| - |
131 | 148 | <ComponentGroup Id="allfiles">
|
132 | 149 | <ComponentRef Id="nodeexe"/>
|
133 | 150 | <ComponentRef Id="npmcmd"/>
|
|
139 | 156 | <ComponentRef Id="nodepdb"/>
|
140 | 157 | <?endif?>
|
141 | 158 | <ComponentRef Id="nodejsvars" />
|
| 159 | + <ComponentRef Id="noderegistry" /> |
142 | 160 | </ComponentGroup>
|
143 | 161 |
|
144 | 162 | <ComponentGroup Id="application.shortcuts">
|
|
154 | 172 | <ComponentGroupRef Id="Product.Generated" />
|
155 | 173 | </Feature>
|
156 | 174 |
|
157 |
| - <Feature Id="nodejs.shortcuts" Title="node.js shortcuts" Description="$(var.ProductDescription) Shortcuts"> |
158 |
| - <Feature Id="feature.application.shortcuts" Title="Application Shortcuts" Level="1" Description="$(var.ProductDescription) standard application shortcuts"> |
| 175 | + <Feature Id="nodejs.shortcuts" Title="node.js shortcuts" Level="1" Description="$(var.ProductDescription) Shortcuts"> |
| 176 | + <Feature Id="nodejs.shortcuts.application" Title="Application Shortcuts" Level="1" Description="$(var.ProductDescription) standard application shortcuts"> |
159 | 177 | <ComponentGroupRef Id="application.shortcuts"/>
|
160 | 178 | </Feature>
|
161 |
| - <Feature Id="feature.internet.shortcuts" Title="Internet Shortcuts" Level="1" Description="$(var.ProductDescription) internet shortcuts to the project's website and online documentation for this version"> |
| 179 | + <Feature Id="nodejs.shortcuts.internet" Title="Internet Shortcuts" Level="1" Description="$(var.ProductDescription) internet shortcuts to the project's website and online documentation for this version"> |
162 | 180 | <ComponentGroupRef Id="internet.shortcuts"/>
|
163 | 181 | </Feature>
|
164 | 182 | </Feature>
|
|
181 | 199 | <DialogRef Id="UserExit" />
|
182 | 200 | <DialogRef Id="WelcomeDlg" />
|
183 | 201 | <DialogRef Id="LicenseAgreementDlg"/>
|
| 202 | + <DialogRef Id="InstallDirDlg"/> |
| 203 | + <DialogRef Id="BrowseDlg"/> |
| 204 | + <DialogRef Id="InvalidDirDlg"/> |
184 | 205 |
|
185 | 206 | <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg">NOT Installed</Publish>
|
186 | 207 | <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish>
|
187 | 208 | <Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
|
188 |
| - <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="CustomizeDlg">LicenseAccepted = "1"</Publish> |
| 209 | + <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">LicenseAccepted = "1"</Publish> |
| 210 | + <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg">1</Publish> |
| 211 | + <Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="CustomizeDlg" Order="20">1</Publish> |
| 212 | + <Publish Dialog="InstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="10">1</Publish> |
| 213 | + <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="10">1</Publish> |
| 214 | + <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="20">1</Publish> |
189 | 215 | <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
|
190 | 216 | <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1">NOT Installed OR WixUI_InstallMode = "Change"</Publish>
|
191 | 217 | <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT PATCH</Publish>
|
|
196 | 222 | <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
|
197 | 223 | <Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
|
198 | 224 | <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="1">Installed</Publish>
|
199 |
| - <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg" Order="2">NOT Installed</Publish> |
| 225 | + <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg" Order="2">NOT Installed</Publish> |
200 | 226 | <Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
|
201 | 227 |
|
202 | 228 | <Property Id="ARPNOMODIFY" Value="1" />
|
203 | 229 | <Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="Node.js has been succesfully installed. To run Node.js open command prompt (cmd.exe), and run 'node'." />
|
204 |
| - |
205 | 230 | </UI>
|
206 | 231 |
|
207 | 232 | <UIRef Id="WixUI_Common" />
|
|
0 commit comments