2011-09-15 05:51:49 +08:00
<?xml version="1.0" encoding="UTF-8"?>
2012-06-03 03:49:31 +08:00
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
2012-06-05 03:39:23 +08:00
<?define ProductName = "Node.js" ?>
<?define ProductDescription = "Node.js" ?>
2012-06-03 03:49:31 +08:00
<?define ProductAuthor = "Joyent, Inc. and other Node contributors" ?>
2011-09-15 05:51:49 +08:00
2012-06-05 03:39:23 +08:00
<?define RepoDir="$(var.ProjectDir)..\..\..\" ?>
<?define SourceDir="$(var.RepoDir)\$(var.Configuration)\" ?>
2011-09-15 05:51:49 +08:00
2012-06-03 00:36:20 +08:00
<Product Id="*"
2012-06-03 03:49:31 +08:00
Name="$(var.ProductName)"
2011-09-15 05:51:49 +08:00
Language="1033"
Version="$(var.ProductVersion)"
2012-06-03 03:49:31 +08:00
Manufacturer="$(var.ProductAuthor)"
2011-09-15 05:51:49 +08:00
UpgradeCode="1d60944c-b9ce-4a71-a7c0-0384eb884baa">
2012-06-01 10:44:10 +08:00
<Package InstallerVersion="200" Compressed="yes" />
2011-09-15 05:51:49 +08:00
<Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
2011-12-09 07:00:48 +08:00
2012-06-05 03:39:23 +08:00
<MajorUpgrade AllowSameVersionUpgrades="yes"
2011-12-09 07:00:48 +08:00
DowngradeErrorMessage="A later version of node.js is already installed. Setup will now exit." />
2012-06-05 03:39:23 +08:00
2012-06-26 00:40:12 +08:00
<Icon Id="node.exe" SourceFile="$(var.RepoDir)\src\res\node.ico"/>
2012-06-22 21:11:38 +08:00
<Property Id="ARPPRODUCTICON" Value="node.exe" />
2011-09-15 05:51:49 +08:00
<Directory Id="TARGETDIR" Name="SourceDir">
2012-06-03 03:49:31 +08:00
<Directory Id="ProgramMenuFolder">
2012-06-05 03:39:23 +08:00
<Directory Id="ApplicationProgramsFolder" Name="Node.js ($(var.Platform))"/>
2012-06-03 03:49:31 +08:00
</Directory>
2012-06-01 10:44:10 +08:00
<Directory Id="$(var.ProgramFilesFolderId)">
2012-06-03 03:49:31 +08:00
<Directory Id="APPLICATIONROOTDIRECTORY" Name="nodejs">
2011-12-01 15:53:35 +08:00
<Directory Id="NodeModulesFolder" Name="node_modules">
<Directory Id="NPMFolder" Name="npm">
<Component Id="npmrc" Guid="55B2B03F-8F32-4D62-A54A-FA428615591D">
2012-06-05 03:39:23 +08:00
<File Id="filenpmrc" KeyPath="yes" Source="$(var.RepoDir)\tools\msvs\npm\npmrc" />
2011-12-01 15:53:35 +08:00
</Component>
</Directory>
</Directory>
2011-09-15 05:51:49 +08:00
<Component Id="nodeexe" Guid="AEC0F08E-89B3-4C35-A286-8DB8598597F2">
2012-06-05 03:39:23 +08:00
<File Id="filenodeexe" KeyPath="yes" Source="$(var.SourceDir)\node.exe" />
2012-06-12 07:23:17 +08:00
<?if $(var.NoETW) != 1 ?>
<File Id="node_etw_provider_man" Name="node_etw_provider.man" Source="$(var.RepoDir)\src\res\node_etw_provider.man" >
<util:EventManifest MessageFile="[APPLICATIONROOTDIRECTORY]node.exe" ResourceFile="[APPLICATIONROOTDIRECTORY]node.exe"/>
</File>
<?endif?>
2011-12-01 15:53:35 +08:00
<Environment Id="npm_env"
2012-06-05 03:39:23 +08:00
Action="set"
Name="PATH"
Part="last"
2012-06-22 21:13:28 +08:00
System="no"
2012-03-08 02:37:09 +08:00
Value="[AppDataFolder]npm\" />
2011-12-01 15:53:35 +08:00
<Environment Id="node_env"
2012-06-05 03:39:23 +08:00
Action="set"
Name="PATH"
Part="last"
System="yes"
2012-06-03 17:03:49 +08:00
Value="[APPLICATIONROOTDIRECTORY]" />
2011-09-15 05:51:49 +08:00
</Component>
2011-11-23 08:10:32 +08:00
<Component Id="npmcmd" Guid="31e9986d-74cd-44e1-878c-194d3e997d32">
<File Id="filenpmcmd" KeyPath="yes" Source="$(var.NPMSourceDir)\bin\npm.cmd" />
</Component>
2012-02-03 06:57:12 +08:00
<Component Id="npmsh" Guid="57754e12-9269-4198-a38c-2c098bf5276e">
2012-02-03 08:56:23 +08:00
<File Id="filenpmsh" KeyPath="yes" Source="$(var.NPMSourceDir)\bin\npm" />
2012-02-03 06:57:12 +08:00
</Component>
2011-09-15 05:51:49 +08:00
<?if $(var.Configuration) = Debug ?>
<Component Id="nodepdb" Guid="BEC0F08E-89B3-4C35-A286-8DB8598597F2">
2012-06-05 03:39:23 +08:00
<File Id="filenodepdb" KeyPath="yes" Source="$(var.SourceDir)\node.pdb" />
2011-09-15 05:51:49 +08:00
</Component>
<?endif?>
2012-06-05 00:59:01 +08:00
<Component Id="nodejsvars" Guid="*">
2012-06-05 03:39:23 +08:00
<File Id="filenodejsvars" KeyPath="yes" Source="$(var.RepoDir)\tools\msvs\nodejsvars.bat" />
2012-06-05 00:59:01 +08:00
</Component>
2011-09-15 05:51:49 +08:00
</Directory>
</Directory>
2012-06-03 03:49:31 +08:00
2011-12-01 15:53:35 +08:00
<Directory Id="AppDataFolder">
<Directory Id="NPMAppData" Name="npm">
<Component Id="npmappdata_folder" Guid="994B1F7F-60CD-4792-A96D-63BC7FFF29BF" Permanent="yes">
<RegistryKey Action="none" Key="dummy" Root="HKCU" >
<RegistryValue Type="integer" Value="1" KeyPath="yes" />
</RegistryKey >
<CreateFolder/>
<RemoveFolder Id="RemoveAppData" On="uninstall" />
</Component>
</Directory>
</Directory>
2011-09-15 05:51:49 +08:00
</Directory>
2012-06-03 03:49:31 +08:00
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut" Guid="9b1ab94a-8f54-4f19-a5c4-b890de474162">
<Shortcut Id="ApplicationStartMenuShortcut" Name="Node.js"
Description="$(var.ProductDescription)" Target="[APPLICATIONROOTDIRECTORY]node.exe"
WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
2012-06-05 03:39:23 +08:00
<Shortcut Id="NodePromptStartMenuShortcut" Name="Node.js command prompt"
2012-06-05 00:59:01 +08:00
Description="Node.js Command Prompt" Target="[%ComSpec]"
2012-06-05 03:39:23 +08:00
Arguments='/k "[APPLICATIONROOTDIRECTORY]nodejsvars.bat"'
2012-06-05 00:59:01 +08:00
Show="normal"
WorkingDirectory="APPLICATIONROOTDIRECTORY"/>
2012-06-03 03:49:31 +08:00
<util:InternetShortcut Id="OnlineWebsiteShortcut"
Name="Node.js website"
2012-06-22 21:15:44 +08:00
Target="http://nodejs.org"
Type="url"/>
2012-06-03 03:49:31 +08:00
<util:InternetShortcut Id="OnlineDocumentationShortcut"
Name="Node.js documentation"
2012-06-22 21:15:44 +08:00
Target="http://nodejs.org/dist/v$(var.ProductVersion)/docs/api/"
Type="url"/>
2012-06-03 03:49:31 +08:00
<Shortcut Id="UninstallProduct"
Name="Uninstall Node.js"
Target="[SystemFolder]msiexec.exe"
Arguments="/x [ProductCode]"
Description="Uninstalls $(var.ProductName)" />
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
2012-06-05 03:39:23 +08:00
<RegistryValue Root="HKCU" Key="Software\Joyent\$(var.ProductName)" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
2012-06-03 03:49:31 +08:00
</Component>
</DirectoryRef>
2011-09-15 05:51:49 +08:00
<ComponentGroup Id="allfiles">
<ComponentRef Id="nodeexe"/>
2011-11-23 08:10:32 +08:00
<ComponentRef Id="npmcmd"/>
2012-02-03 08:56:23 +08:00
<ComponentRef Id="npmsh"/>
2011-12-01 15:53:35 +08:00
<ComponentRef Id="npmrc" />
<ComponentRef Id="npmappdata_folder" />
2011-11-23 08:10:32 +08:00
<ComponentGroupRef Id="NPMFiles" />
2011-09-15 05:51:49 +08:00
<?if $(var.Configuration) = Debug ?>
<ComponentRef Id="nodepdb"/>
<?endif?>
2012-06-03 03:49:31 +08:00
<ComponentRef Id="ApplicationShortcut" />
2012-06-05 00:59:01 +08:00
<ComponentRef Id="nodejsvars" />
2011-09-15 05:51:49 +08:00
</ComponentGroup>
2012-06-03 03:49:31 +08:00
<Feature Id="nodejs" Title="node.js engine" Level="1" Description="$(var.ProductDescription)">
2011-09-15 05:51:49 +08:00
<ComponentGroupRef Id="allfiles" />
<ComponentGroupRef Id="Product.Generated" />
</Feature>
2011-11-12 04:40:47 +08:00
<UI Id="NodeInstallUI">
<TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
<TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
<TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
<Property Id="WixUI_Mode" Value="Minimal" />
<DialogRef Id="ErrorDlg" />
<DialogRef Id="FatalError" />
<DialogRef Id="FilesInUse" />
<DialogRef Id="MsiRMFilesInUse" />
<DialogRef Id="PrepareDlg" />
<DialogRef Id="ProgressDlg" />
<DialogRef Id="ResumeDlg" />
<DialogRef Id="UserExit" />
2012-04-05 00:06:33 +08:00
<DialogRef Id="WelcomeDlg" />
<DialogRef Id="LicenseAgreementDlg"/>
2011-11-12 04:40:47 +08:00
2012-04-05 00:06:33 +08:00
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>
<Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
<Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="PrepareDlg">1</Publish>
2011-11-12 04:40:47 +08:00
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
<Property Id="ARPNOMODIFY" Value="1" />
2012-06-05 03:39:23 +08:00
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="Node.js has been succesfully installed. To run Node.js open command prompt (cmd.exe), and run 'node'." />
2011-11-23 11:23:41 +08:00
2011-11-12 04:40:47 +08:00
</UI>
2011-09-15 05:51:49 +08:00
2011-11-12 04:40:47 +08:00
<UIRef Id="WixUI_Common" />
2012-01-11 04:13:48 +08:00
<WixVariable Id="WixUIBannerBmp" Value="..\..\..\doc\thin-white-stripe.jpg" />
<WixVariable Id="WixUIDialogBmp" Value="..\..\..\doc\full-white-stripe.jpg" />
2012-06-05 03:39:23 +08:00
<WixVariable Id="WixUILicenseRtf" Value="$(var.SourceDir)\LICENSE.rtf" />
2011-09-15 05:51:49 +08:00
</Product>
</Wix>