%PDF- %PDF-
Direktori : /proc/self/root/usr/src/node-v0.10.4/tools/msvs/msi/ |
Current File : //proc/self/root/usr/src/node-v0.10.4/tools/msvs/msi/product.wxs |
<?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> <?define ProductName = "Node.js" ?> <?define ProductDescription = "Node.js" ?> <?define ProductAuthor = "Joyent, Inc. and other Node contributors" ?> <?define RegistryKeyPath = "SOFTWARE\Node.js" ?> <?define RepoDir="$(var.ProjectDir)..\..\..\" ?> <?define SourceDir="$(var.RepoDir)\$(var.Configuration)\" ?> <Product Id="*" Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.ProductAuthor)" UpgradeCode="1d60944c-b9ce-4a71-a7c0-0384eb884baa"> <Package InstallerVersion="200" Compressed="yes"/> <Media Id="1" Cabinet="media1.cab" EmbedCab="yes"/> <MajorUpgrade AllowSameVersionUpgrades="yes" DowngradeErrorMessage="A later version of node.js is already installed. Setup will now exit."/> <Icon Id="NodeIcon" SourceFile="$(var.RepoDir)\src\res\node.ico"/> <Property Id="ARPPRODUCTICON" Value="NodeIcon"/> <Property Id="ApplicationFolderName" Value="nodejs"/> <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"/> <Property Id="INSTALLDIR"> <RegistrySearch Id="InstallPathRegistry" Type="raw" Root="HKCU" Key="$(var.RegistryKeyPath)" Name="InstallPath"/> </Property> <Feature Id="NodeRuntime" Level="1" Title="Node.js runtime" Description="Install the core Node.js runtime (node.exe)." Absent="disallow"> <ComponentRef Id="NodeExecutable"/> <ComponentRef Id="NodeVarsScript"/> <ComponentRef Id="NodeStartMenuAndRegistryEntries"/> <ComponentGroupRef Id="Product.Generated"/> <Feature Id="NodePerfCtrSupport" Level="1" Title="Performance counters" Description="Installs support for Node.js-specific performance counters."> <ComponentRef Id="NodePerfCtrSupport"/> </Feature> <Feature Id="NodeEtwSupport" Level="1" Title="Event tracing (ETW)" Description="Installs support for event tracing (ETW) events generated by Node.js."> <ComponentRef Id="NodeEtwSupport"/> </Feature> </Feature> <Feature Id="npm" Level="1" Title="npm package manager" Description="Install npm, the recommended package manager for Node.js."> <ComponentRef Id="NpmCmdScript"/> <ComponentRef Id="NpmBashScript"/> <ComponentRef Id="NpmConfigurationFile"/> <ComponentGroupRef Id="NpmSourceFiles"/> </Feature> <Feature Level="1" Id="DocumentationShortcuts" Title="Online documentation shortcuts" Description="Add start menu entries that link the the online documentation for Node.js $(var.ProductVersion) and the Node.js website."> <ComponentRef Id="DocumentationShortcuts"/> </Feature> <Feature Id="EnvironmentPath" Level="1" Title="Add to PATH" Description="Add Node, npm, and modules that were globally installed by npm to the PATH environment variable."> <Feature Id="EnvironmentPathNode" Level="1" Title="Node and npm" Description="Add Node and npm (if installed) to the PATH environment variable."> <ComponentRef Id="EnvironmentPathNode"/> </Feature> <Feature Id="EnvironmentPathNpmModules" Level="1" Title="npm modules" Description="Add modules that are installed globally by npm to the PATH environment variable. This option works for the current user only; other users need to update their PATH manually."> <ComponentRef Id="EnvironmentPathNpmModules"/> </Feature> </Feature> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramMenuFolder"> <Directory Id="ApplicationProgramsFolder" Name="Node.js"/> </Directory> <Directory Id="$(var.ProgramFilesFolderId)"> <Directory Id="INSTALLDIR" Name="nodejs"> </Directory> </Directory> </Directory> <DirectoryRef Id="INSTALLDIR"> <Component Id="NodeExecutable"> <File Id="node.exe" KeyPath="yes" Source="$(var.SourceDir)\node.exe"/> </Component> <Component Id="NodeVarsScript"> <File Id="nodevars.bat" KeyPath="yes" Source="$(var.RepoDir)\tools\msvs\nodevars.bat"/> </Component> <?if $(var.NoPerfCtr) != 1 ?> <Component Id="NodePerfCtrSupport"> <File Id="node_perfctr_provider_man" Name="node_perfctr_provider.man" Source="$(var.RepoDir)\src\res\node_perfctr_provider.man"> <util:PerfCounterManifest ResourceFileDirectory="[INSTALLDIR]"/> </File> </Component> <?endif?> <?if $(var.NoETW) != 1 ?> <Component Id="NodeEtwSupport"> <File Id="node_etw_provider.man" Source="$(var.RepoDir)\src\res\node_etw_provider.man"> <util:EventManifest MessageFile="[INSTALLDIR]node.exe" ResourceFile="[INSTALLDIR]node.exe"/> </File> </Component> <?endif?> </DirectoryRef> <DirectoryRef Id="ApplicationProgramsFolder"> <Component Id="NodeStartMenuAndRegistryEntries"> <RegistryValue Root="HKCU" Key="$(var.RegistryKeyPath)" Name="InstallPath" Type="string" Value="[INSTALLDIR]" KeyPath="yes"/> <RegistryValue Root="HKCU" Key="$(var.RegistryKeyPath)" Name="Version" Type="string" Value="$(var.ProductVersion)"/> <Shortcut Id="NodeVarsScriptShortcut" Name="Node.js command prompt" Target="[%ComSpec]" Arguments='/k "[INSTALLDIR]nodevars.bat"' Show="normal" WorkingDirectory="INSTALLDIR"/> <Shortcut Id="NodeExecutableShortcut" Name="Node.js" Target="[INSTALLDIR]node.exe" WorkingDirectory="INSTALLDIR"/> <Shortcut Id="UninstallProduct" Name="Uninstall Node.js" Target="[SystemFolder]msiexec.exe" Arguments="/x [ProductCode]"/> <RemoveFolder Id="RemoveApplicationProgramsFolder" On="uninstall"/> </Component> </DirectoryRef> <DirectoryRef Id="INSTALLDIR"> <Component Id="NpmCmdScript"> <File Id="npm.cmd" KeyPath="yes" Source="$(var.NpmSourceDir)\bin\npm.cmd"/> </Component> <Component Id="NpmBashScript"> <File Id="npm.sh" KeyPath="yes" Source="$(var.NpmSourceDir)\bin\npm"/> </Component> <Directory Id="NodeModulesFolder" Name="node_modules"> <Directory Id="NpmFolder" Name="npm"> <Component Id="NpmConfigurationFile"> <File Id="npm.rc" KeyPath="yes" Source="$(var.RepoDir)\tools\msvs\npm\npmrc"/> </Component> </Directory> </Directory> </DirectoryRef> <DirectoryRef Id="ApplicationProgramsFolder"> <Component Id="DocumentationShortcuts"> <RegistryValue Root="HKCU" Key="$(var.RegistryKeyPath)\Components" Name="DocumentationShortcuts" Type="integer" Value="1" KeyPath="yes"/> <util:InternetShortcut Id="WebsiteShortcut" Name="Node.js website" Target="http://nodejs.org" Type="url"/> <util:InternetShortcut Id="DocsShortcut" Name="Node.js documentation" Target="http://nodejs.org/dist/v$(var.ProductVersion)/docs/api/" Type="url"/> </Component> </DirectoryRef> <DirectoryRef Id="INSTALLDIR"> <Component Id="EnvironmentPathNode"> <RegistryValue Root="HKLM" Key="$(var.RegistryKeyPath)\Components" Name="EnvironmentPathNode" Type="integer" Value="1" KeyPath="yes"/> <Environment Id="EnvironmentPathNode" Action="set" Name="PATH" Part="last" System="yes" Value="[INSTALLDIR]"/> </Component> <Component Id="EnvironmentPathNpmModules"> <RegistryValue Root="HKCU" Key="$(var.RegistryKeyPath)\Components" Name="EnvironmentPathNpmModules" Type="integer" Value="1" KeyPath="yes"/> <Environment Id="EnvironmentPathNpmModules" Action="set" Name="PATH" Part="last" System="no" Value="[AppDataFolder]npm"/> </Component> </DirectoryRef> <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="FeatureTree"/> <DialogRef Id="ErrorDlg"/> <DialogRef Id="FatalError"/> <DialogRef Id="FilesInUse"/> <DialogRef Id="MsiRMFilesInUse"/> <DialogRef Id="PrepareDlg"/> <DialogRef Id="ProgressDlg"/> <DialogRef Id="ResumeDlg"/> <DialogRef Id="UserExit"/> <DialogRef Id="WelcomeDlg"/> <DialogRef Id="LicenseAgreementDlg"/> <DialogRef Id="InstallDirDlg"/> <DialogRef Id="BrowseDlg"/> <DialogRef Id="InvalidDirDlg"/> <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg">NOT Installed</Publish> <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">Installed AND PATCH</Publish> <Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish> <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">LicenseAccepted = "1"</Publish> <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg">1</Publish> <Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="CustomizeDlg" Order="20">1</Publish> <Publish Dialog="InstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="10">1</Publish> <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="10">1</Publish> <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="20">1</Publish> <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish> <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1">NOT Installed OR WixUI_InstallMode = "Change"</Publish> <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed AND NOT PATCH</Publish> <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3">Installed AND PATCH</Publish> <Publish Dialog="MaintenanceTypeDlg" Control="ChangeButton" Event="NewDialog" Value="CustomizeDlg">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> <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="1">Installed</Publish> <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg" Order="2">NOT Installed</Publish> <Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> <Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="Node.js has been succesfully installed."/> </UI> <UIRef Id="WixUI_Common"/> <WixVariable Id="WixUIBannerBmp" Value="..\..\..\doc\thin-white-stripe.jpg"/> <WixVariable Id="WixUIDialogBmp" Value="..\..\..\doc\full-white-stripe.jpg"/> <WixVariable Id="WixUILicenseRtf" Value="$(var.SourceDir)\LICENSE.rtf"/> </Product> </Wix>