mirror of
https://github.com/nodejs/node.git
synced 2025-12-28 07:50:41 +00:00
msi: migrate to WiX4
To be able to build x86, x64, and ARM64 MSI installers with the same WiX version, migration to WiX4 is required. PR-URL: https://github.com/nodejs/node/pull/45943 Refs: https://github.com/nodejs/build/issues/2540 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
This commit is contained in:
parent
f2651a0812
commit
0b66df61ef
10
.gitignore
vendored
10
.gitignore
vendored
@ -65,12 +65,12 @@ _UpgradeReport_Files/
|
||||
/tools/msvs/genfiles/
|
||||
/npm.wxs
|
||||
/corepack.wxs
|
||||
/tools/msvs/msi/Release/
|
||||
/tools/msvs/msi/obj/
|
||||
/tools/msvs/msi/x64/
|
||||
/tools/msvs/msi/**/Release/
|
||||
/tools/msvs/msi/**/obj/
|
||||
/tools/msvs/msi/**/x64/
|
||||
# Exclude MSVS files used for .msi file generation
|
||||
!tools/msvs/msi/custom_actions.vcxproj
|
||||
!tools/msvs/msi/nodemsi.sln
|
||||
!tools/msvs/msi/**/custom_actions.vcxproj
|
||||
!tools/msvs/msi/**/nodemsi.sln
|
||||
|
||||
# === Rules for GYP artifacts ===
|
||||
*-nodegyp*
|
||||
|
||||
@ -586,10 +586,7 @@ to run it again before invoking `make -j4`.
|
||||
|
||||
Optional requirements to build the MSI installer package:
|
||||
|
||||
* The [WiX Toolset v3.11](https://wixtoolset.org/releases/) and the
|
||||
[Wix Toolset Visual Studio 2019 Extension](https://marketplace.visualstudio.com/items?itemName=WixToolset.WixToolsetVisualStudio2019Extension)
|
||||
* The [WiX Toolset v3.14](https://wixtoolset.org/releases/) if
|
||||
building for Windows 10 on ARM (ARM64)
|
||||
* The .NET SDK component from [Visual Studio 2019](https://visualstudio.microsoft.com/vs/older-downloads/#visual-studio-2019-and-other-products)
|
||||
|
||||
Optional requirements for compiling for Windows 10 on ARM (ARM64):
|
||||
|
||||
|
||||
6
tools/msvs/msi/NuGet.Config
Normal file
6
tools/msvs/msi/NuGet.Config
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
@ -77,27 +77,6 @@ LExit:
|
||||
return WcaFinalize(ERROR_SUCCESS);
|
||||
}
|
||||
|
||||
|
||||
extern "C" UINT WINAPI BroadcastEnvironmentUpdate(MSIHANDLE hInstall) {
|
||||
HRESULT hr = S_OK;
|
||||
UINT er = ERROR_SUCCESS;
|
||||
|
||||
hr = WcaInitialize(hInstall, "BroadcastEnvironmentUpdate");
|
||||
ExitOnFailure(hr, "Failed to initialize");
|
||||
|
||||
SendMessageTimeoutW(HWND_BROADCAST,
|
||||
WM_SETTINGCHANGE,
|
||||
0,
|
||||
(LPARAM) L"Environment",
|
||||
SMTO_ABORTIFHUNG,
|
||||
5000,
|
||||
NULL);
|
||||
|
||||
LExit:
|
||||
er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE;
|
||||
return WcaFinalize(er);
|
||||
}
|
||||
|
||||
#define AUTHENTICATED_USERS_SID L"S-1-5-11"
|
||||
|
||||
extern "C" UINT WINAPI GetLocalizedUserNames(MSIHANDLE hInstall) {
|
||||
@ -2,5 +2,4 @@ LIBRARY "custom_actions"
|
||||
|
||||
EXPORTS
|
||||
SetInstallScope
|
||||
BroadcastEnvironmentUpdate
|
||||
GetLocalizedUserNames
|
||||
@ -112,7 +112,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
@ -122,7 +122,7 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x86;$(PkgWixToolset_DUtil)\build\native\v14\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -131,7 +131,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
@ -141,7 +141,7 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\ARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\ARM64;$(PkgWixToolset_DUtil)\build\native\v14\ARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -150,7 +150,7 @@
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
@ -160,7 +160,7 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x64;$(PkgWixToolset_DUtil)\build\native\v14\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -170,7 +170,7 @@
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
@ -184,7 +184,7 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x86;$(PkgWixToolset_DUtil)\build\native\v14\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -196,7 +196,7 @@
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
@ -210,7 +210,7 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\ARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\ARM64;$(PkgWixToolset_DUtil)\build\native\v14\ARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -222,7 +222,7 @@
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
@ -236,7 +236,7 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x64;$(PkgWixToolset_DUtil)\build\native\v14\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
@ -254,4 +254,12 @@
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="WixToolset.WcaUtil" Version="4.0.0-rc.1" GeneratePathProperty="true" />
|
||||
<PackageReference Include="WixToolset.DUtil" Version="4.0.0-rc.1" GeneratePathProperty="true" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<_NuGetTargetFallbackMoniker>$(_NuGetTargetFallbackMoniker);native,Version=v0.0</_NuGetTargetFallbackMoniker>
|
||||
<RuntimeIdentifiers>$(RuntimeIdentifiers);win-arm64</RuntimeIdentifiers>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@ -1,43 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||
<!-- See https://msdn.microsoft.com/en-us/goglobal/bb964664.aspx -->
|
||||
<String Id="LocaleId">1033</String>
|
||||
|
||||
<String Id="WelcomeDlgDescription">The Setup Wizard will install [ProductName] on your computer.</String>
|
||||
<String Id="InstallDirDlgDescription">Choose a custom location or click Next to install.</String>
|
||||
|
||||
<String Id="MajorUpgrade_DowngradeErrorMessage">A later version of [ProductName] is already installed. Setup will now exit.</String>
|
||||
|
||||
<String Id="NativeToolsDlg_Title">[ProductName] Setup</String>
|
||||
<String Id="NativeToolsDlgTitle">{\WixUI_Font_Title}Tools for Native Modules</String>
|
||||
<String Id="NativeToolsDlgDescription">Optionally install the tools necessary to compile native modules.</String>
|
||||
<String Id="NativeToolsDlgBannerBitmap">WixUI_Bmp_Banner</String>
|
||||
<String Id="NativeToolsDlgIntro">Some npm modules need to be compiled from C/C++ when installing. If you want to be able to install such modules, some tools (Python and Visual Studio Build Tools) need to be installed.</String>
|
||||
<String Id="NativeToolsDlgInstallCheckbox">Automatically install the necessary tools. Note that this will also install Chocolatey. The script will pop-up in a new window after the installation completes.</String>
|
||||
<String Id="NativeToolsDlgManualDetails">Alternatively, follow the instructions at <![CDATA[<a href="https://github.com/nodejs/node-gyp#on-windows">https://github.com/nodejs/node-gyp#on-windows</a>]]> to install the dependencies yourself.</String>
|
||||
|
||||
<!-- References like [ProductName] or $(var.ProductName) don't seem to work in Title attributes -->
|
||||
<String Id="NodeRuntime_Title">Node.js runtime</String>
|
||||
<String Id="NodeRuntime_Description">Install the core [ProductName] runtime (node.exe).</String>
|
||||
|
||||
<String Id="npm_Title">npm package manager</String>
|
||||
<String Id="npm_Description">Install npm, the recommended package manager for [ProductName].</String>
|
||||
|
||||
<String Id="corepack_Title">corepack manager</String>
|
||||
<String Id="corepack_Description">Install corepack, the universal package manager for [ProductName].</String>
|
||||
|
||||
<String Id="DocumentationShortcuts_Title">Online documentation shortcuts</String>
|
||||
<String Id="DocumentationShortcuts_Description">Add start menu entries that link the online documentation for [ProductName] [FullVersion] and the [ProductName] website.</String>
|
||||
|
||||
<String Id="EnvironmentPath_Title">Add to PATH</String>
|
||||
<String Id="EnvironmentPath_Description">Add [ProductName], npm, and modules that were globally installed by npm to the PATH environment variable.</String>
|
||||
|
||||
<String Id="EnvironmentPathNode_Title">Node.js and npm</String>
|
||||
<String Id="EnvironmentPathNode_Description">Add [ProductName] and npm (if installed) to the PATH environment variable.</String>
|
||||
|
||||
<String Id="EnvironmentPathNpmModules_Title">npm modules</String>
|
||||
<String Id="EnvironmentPathNpmModules_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.</String>
|
||||
|
||||
<!-- References like [ProductName] are not resolved for Property tags -->
|
||||
<String Id="WIXUI_EXITDIALOGOPTIONALTEXT">Node.js has been successfully installed.</String>
|
||||
</WixLocalization>
|
||||
@ -1,9 +1,13 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "nodemsi", "nodemsi.wixproj", "{1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}"
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.33027.164
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "nodemsi", "nodemsi\nodemsi.wixproj", "{1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B70585F8-DAB7-40FA-9904-13CF53A73A06} = {B70585F8-DAB7-40FA-9904-13CF53A73A06}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "custom_actions", "custom_actions.vcxproj", "{B70585F8-DAB7-40FA-9904-13CF53A73A06}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "custom_actions", "custom_actions\custom_actions.vcxproj", "{B70585F8-DAB7-40FA-9904-13CF53A73A06}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@ -43,4 +47,7 @@ Global
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {FB650322-7A09-471D-A635-F2DBDCEECDB8}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
@ -1,93 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>3.5</ProductVersion>
|
||||
<ProjectGuid>{1d808ff0-b5a9-4be9-859d-b334b6f48be2}</ProjectGuid>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<OutputName>node-v$(FullVersion)-$(Platform)</OutputName>
|
||||
<OutputType>Package</OutputType>
|
||||
<EnableProjectHarvesting>True</EnableProjectHarvesting>
|
||||
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
|
||||
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
|
||||
<NodeVersion Condition=" '$(NodeVersion)' == '' ">0.0.0.0</NodeVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<OutputPath>..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<OutputPath>..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
|
||||
<OutputPath>..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
||||
<Cultures>en-US</Cultures>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
|
||||
<OutputPath>..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|arm64' ">
|
||||
<OutputPath>..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|arm64' ">
|
||||
<OutputPath>..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<EnableProjectHarvesting>True</EnableProjectHarvesting>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="product.wxs" />
|
||||
<Compile Include="..\..\..\npm.wxs">
|
||||
<Link>npm.wxs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\..\..\corepack.wxs">
|
||||
<Link>corepack.wxs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WixExtension Include="WixUIExtension">
|
||||
<HintPath>$(WixExtDir)\WixUIExtension.dll</HintPath>
|
||||
<Name>WixUIExtension</Name>
|
||||
</WixExtension>
|
||||
<WixExtension Include="WiXUtilExtension">
|
||||
<HintPath>$(WixExtDir)\WiXUtilExtension.dll</HintPath>
|
||||
<Name>WiXUtilExtension</Name>
|
||||
</WixExtension>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="i18n\en-us.wxl" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="custom_actions.vcxproj">
|
||||
<Name>custom_actions</Name>
|
||||
<Project>{b70585f8-dab7-40fa-9904-13cf53a73a06}</Project>
|
||||
<Private>True</Private>
|
||||
<DoNotHarvest>True</DoNotHarvest>
|
||||
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
|
||||
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(WixTargetsPath)" />
|
||||
<Target Name="BeforeBuild">
|
||||
<HeatDirectory ToolPath="$(WixToolPath)" Directory="..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm" PreprocessorVariable="var.NpmSourceDir" DirectoryRefId="NodeModulesFolder" ComponentGroupName="NpmSourceFiles" GenerateGuidsNow="true" SuppressFragments="false" OutputFile="..\..\..\npm.wxs" RunAsSeparateProcess="true">
|
||||
</HeatDirectory>
|
||||
<HeatDirectory ToolPath="$(WixToolPath)" Directory="..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack" PreprocessorVariable="var.CorepackSourceDir" DirectoryRefId="NodeModulesFolder" ComponentGroupName="CorepackSourceFiles" GenerateGuidsNow="true" SuppressFragments="false" OutputFile="..\..\..\corepack.wxs" RunAsSeparateProcess="true">
|
||||
</HeatDirectory>
|
||||
</Target>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>move "!(TargetPath)" "$(TargetDir)\$(TargetFileName)"
|
||||
move "!(TargetPdbPath)" "$(TargetDir)\$(TargetPdbName)"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
42
tools/msvs/msi/nodemsi/i18n/en-us.wxl
Normal file
42
tools/msvs/msi/nodemsi/i18n/en-us.wxl
Normal file
@ -0,0 +1,42 @@
|
||||
<WixLocalization Culture="en-us" xmlns="http://wixtoolset.org/schemas/v4/wxl">
|
||||
<!-- See https://msdn.microsoft.com/en-us/goglobal/bb964664.aspx -->
|
||||
<String Id="LocaleId" Value="1033"/>
|
||||
|
||||
<String Id="WelcomeDlgDescription" Value="The Setup Wizard will install [ProductName] on your computer."/>
|
||||
<String Id="InstallDirDlgDescription" Value="Choose a custom location or click Next to install."/>
|
||||
|
||||
<String Id="MajorUpgrade_DowngradeErrorMessage" Value="A later version of [ProductName] is already installed. Setup will now exit."/>
|
||||
|
||||
<String Id="NativeToolsDlg_Title" Value="[ProductName] Setup"/>
|
||||
<String Id="NativeToolsDlgTitle" Value="{\WixUI_Font_Title}Tools for Native Modules"/>
|
||||
<String Id="NativeToolsDlgDescription" Value="Optionally install the tools necessary to compile native modules."/>
|
||||
<String Id="NativeToolsDlgBannerBitmap" Value="WixUI_Bmp_Banner"/>
|
||||
<String Id="NativeToolsDlgIntro" Value="Some npm modules need to be compiled from C/C++ when installing. If you want to be able to install such modules, some tools (Python and Visual Studio Build Tools) need to be installed."/>
|
||||
<String Id="NativeToolsDlgInstallCheckbox" Value="Automatically install the necessary tools. Note that this will also install Chocolatey. The script will pop-up in a new window after the installation completes."/>
|
||||
<String Id="NativeToolsDlgManualDetails" Value="Alternatively, follow the instructions at <a href="https://github.com/nodejs/node-gyp#on-windows">https://github.com/nodejs/node-gyp#on-windows</a> to install the dependencies yourself."/>
|
||||
|
||||
<!-- References like [ProductName] or $(var.ProductName) don't seem to work in Title attributes -->
|
||||
<String Id="NodeRuntime_Title" Value="Node.js runtime"/>
|
||||
<String Id="NodeRuntime_Description" Value="Install the core [ProductName] runtime (node.exe)."/>
|
||||
|
||||
<String Id="npm_Title" Value="npm package manager"/>
|
||||
<String Id="npm_Description" Value="Install npm, the recommended package manager for [ProductName]."/>
|
||||
|
||||
<String Id="corepack_Title" Value="corepack manager"/>
|
||||
<String Id="corepack_Description" Value="Install corepack, the universal package manager for [ProductName]."/>
|
||||
|
||||
<String Id="DocumentationShortcuts_Title" Value="Online documentation shortcuts"/>
|
||||
<String Id="DocumentationShortcuts_Description" Value="Add start menu entries that link the online documentation for [ProductName] [FullVersion] and the [ProductName] website."/>
|
||||
|
||||
<String Id="EnvironmentPath_Title" Value="Add to PATH"/>
|
||||
<String Id="EnvironmentPath_Description" Value="Add [ProductName], npm, and modules that were globally installed by npm to the PATH environment variable."/>
|
||||
|
||||
<String Id="EnvironmentPathNode_Title" Value="Node.js and npm"/>
|
||||
<String Id="EnvironmentPathNode_Description" Value="Add [ProductName] and npm (if installed) to the PATH environment variable."/>
|
||||
|
||||
<String Id="EnvironmentPathNpmModules_Title" Value="npm modules"/>
|
||||
<String Id="EnvironmentPathNpmModules_Description" Value="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."/>
|
||||
|
||||
<!-- References like [ProductName] are not resolved for Property tags -->
|
||||
<String Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="Node.js has been successfully installed."/>
|
||||
</WixLocalization>
|
||||
70
tools/msvs/msi/nodemsi/nodemsi.wixproj
Normal file
70
tools/msvs/msi/nodemsi/nodemsi.wixproj
Normal file
@ -0,0 +1,70 @@
|
||||
<Project Sdk="WixToolset.Sdk/4.0.0-rc.1">
|
||||
<Import Project="Sdk.props" Sdk="WixToolset.Sdk" Version="4.0.0-rc.1" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>3.5</ProductVersion>
|
||||
<ProjectGuid>{1d808ff0-b5a9-4be9-859d-b334b6f48be2}</ProjectGuid>
|
||||
<OutputName>node-v$(FullVersion)-$(Platform)</OutputName>
|
||||
<OutputType>Package</OutputType>
|
||||
<NodeVersion Condition=" '$(NodeVersion)' == '' ">0.0.0.0</NodeVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<OutputPath>..\..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<OutputPath>..\..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFilesFolder</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
|
||||
<OutputPath>..\..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
||||
<Cultures>en-US</Cultures>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
|
||||
<OutputPath>..\..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|arm64' ">
|
||||
<OutputPath>..\..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|arm64' ">
|
||||
<OutputPath>..\..\..\..\</OutputPath>
|
||||
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
|
||||
<DefineConstants>Debug;ProductVersion=$(NodeVersion);FullVersion=$(FullVersion);DistTypeDir=$(DistTypeDir);NpmSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm\;CorepackSourceDir=..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack\;ProgramFilesFolderId=ProgramFiles64Folder</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\..\..\npm.wxs">
|
||||
<Link>npm.wxs</Link>
|
||||
</Compile>
|
||||
<Compile Include="..\..\..\..\corepack.wxs">
|
||||
<Link>corepack.wxs</Link>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="WixToolset.UI.wixext" Version="4.0.0-rc.1" />
|
||||
<PackageReference Include="WixToolset.Util.wixext" Version="4.0.0-rc.1" />
|
||||
<PackageReference Include="WixToolset.Heat" Version="4.0.0-rc.1" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="../custom_actions/custom_actions.vcxproj" />
|
||||
</ItemGroup>
|
||||
<Import Project="Sdk.targets" Sdk="WixToolset.Sdk" Version="4.0.0-rc.1" />
|
||||
<Target Name="BeforeBuild">
|
||||
<HeatDirectory ToolPath="$(WixToolPath)" Directory="..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\npm" PreprocessorVariable="var.NpmSourceDir" DirectoryRefId="NodeModulesFolder" ComponentGroupName="NpmSourceFiles" GenerateGuidsNow="true" SuppressFragments="false" OutputFile="..\..\..\..\npm.wxs">
|
||||
</HeatDirectory>
|
||||
<HeatDirectory ToolPath="$(WixToolPath)" Directory="..\..\..\..\Release\node-v$(FullVersion)-win-$(Platform)\node_modules\corepack" PreprocessorVariable="var.CorepackSourceDir" DirectoryRefId="NodeModulesFolder" ComponentGroupName="CorepackSourceFiles" GenerateGuidsNow="true" SuppressFragments="false" OutputFile="..\..\..\..\corepack.wxs">
|
||||
</HeatDirectory>
|
||||
</Target>
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>move "$(TargetDir)en-us\$(TargetFileName)" "$(TargetPath)"
|
||||
move "$(TargetDir)en-us\$(TargetPdbFileName)" "$(TargetPdbPath)"</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
150
tools/msvs/msi/product.wxs → tools/msvs/msi/nodemsi/product.wxs
Executable file → Normal file
150
tools/msvs/msi/product.wxs → tools/msvs/msi/nodemsi/product.wxs
Executable file → Normal file
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
||||
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
|
||||
xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"
|
||||
xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui">
|
||||
|
||||
<?define ProductName = "Node.js" ?>
|
||||
<?define ProductDescription = "Node.js" ?>
|
||||
@ -8,24 +8,18 @@
|
||||
|
||||
<?define RegistryKeyPath = "SOFTWARE\Node.js" ?>
|
||||
|
||||
<?define RepoDir="$(var.ProjectDir)..\..\..\" ?>
|
||||
<?define RepoDir="$(var.ProjectDir)..\..\..\..\" ?>
|
||||
<?define SourceDir="$(var.RepoDir)\$(var.Configuration)\" ?>
|
||||
|
||||
<Product Id="*"
|
||||
Name="$(var.ProductName)"
|
||||
<Package Name="$(var.ProductName)"
|
||||
Language="!(loc.LocaleId)"
|
||||
Version="$(var.ProductVersion)"
|
||||
Manufacturer="$(var.ProductAuthor)"
|
||||
UpgradeCode="47c07a3a-42ef-4213-a85d-8f5a59077c28">
|
||||
UpgradeCode="47c07a3a-42ef-4213-a85d-8f5a59077c28"
|
||||
InstallerVersion="200"
|
||||
Compressed="yes">
|
||||
|
||||
<Package Languages="!(loc.LocaleId)"
|
||||
InstallerVersion="200"
|
||||
Compressed="yes"
|
||||
InstallScope="perMachine"/>
|
||||
|
||||
<Condition Message="This application is only supported on Windows 8.1, Windows Server 2012 R2, or higher.">
|
||||
<![CDATA[Installed OR (VersionNT >= 603) OR (VersionNT >= 602 AND MsiNTProductType <> 1)]]>
|
||||
</Condition>
|
||||
<Launch Condition="Installed OR (VersionNT >= 603) OR (VersionNT >= 602 AND MsiNTProductType <> 1)" Message="This application is only supported on Windows 8.1, Windows Server 2012 R2, or higher." />
|
||||
|
||||
<Media Id="1" Cabinet="media1.cab" EmbedCab="yes"/>
|
||||
|
||||
@ -46,10 +40,9 @@
|
||||
<Property Id="ApplicationFolderName" Value="nodejs"/>
|
||||
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"/>
|
||||
|
||||
<!-- PropertyRef of the account users for setting InstallDir permission explicitly -->
|
||||
<PropertyRef Id="WIX_ACCOUNT_LOCALSYSTEM" />
|
||||
<PropertyRef Id="WIX_ACCOUNT_USERS" />
|
||||
<PropertyRef Id="WIX_ACCOUNT_ADMINISTRATORS" />
|
||||
<!-- WiX 4 QueryWindowsWellKnownSIDs element replaces previously used PropertyRef. -->
|
||||
<!-- It sets all properties with the WIX_ACCOUNT_ prefix eg. WIX_ACCOUNT_USERS, etc. -->
|
||||
<util:QueryWindowsWellKnownSIDs/>
|
||||
|
||||
<Property Id="INSTALLDIR" Secure="yes">
|
||||
<RegistrySearch Id="InstallPathRegistry"
|
||||
@ -71,7 +64,7 @@
|
||||
Level="1"
|
||||
Title="!(loc.NodeRuntime_Title)"
|
||||
Description="!(loc.NodeRuntime_Description)"
|
||||
Absent="disallow">
|
||||
AllowAbsent="no">
|
||||
<ComponentRef Id="NodeExecutable"/>
|
||||
<ComponentRef Id="NodeRegistryEntries"/>
|
||||
<ComponentRef Id="NodeVarsScript"/>
|
||||
@ -79,7 +72,6 @@
|
||||
<ComponentRef Id="AppData" />
|
||||
<ComponentRef Id="InstallToolsBat" />
|
||||
<ComponentRef Id="SetInstallDirPermission" />
|
||||
<ComponentGroupRef Id="Product.Generated"/>
|
||||
</Feature>
|
||||
|
||||
<Feature Id="corepack"
|
||||
@ -131,16 +123,14 @@
|
||||
</Feature>
|
||||
</Feature>
|
||||
|
||||
<Directory Id="TARGETDIR" Name="SourceDir">
|
||||
<Directory Id="ProgramMenuFolder">
|
||||
<Directory Id="ApplicationProgramsFolder" Name="Node.js"/>
|
||||
</Directory>
|
||||
<StandardDirectory Id="ProgramMenuFolder">
|
||||
<Directory Id="ApplicationProgramsFolder" Name="Node.js"/>
|
||||
</StandardDirectory>
|
||||
|
||||
<Directory Id="$(var.ProgramFilesFolderId)">
|
||||
<Directory Id="INSTALLDIR" Name="nodejs">
|
||||
</Directory>
|
||||
<StandardDirectory Id="$(var.ProgramFilesFolderId)">
|
||||
<Directory Id="INSTALLDIR" Name="nodejs">
|
||||
</Directory>
|
||||
</Directory>
|
||||
</StandardDirectory>
|
||||
|
||||
<DirectoryRef Id="INSTALLDIR">
|
||||
<Component Id="NodeExecutable">
|
||||
@ -197,13 +187,13 @@
|
||||
<Shortcut Id="NodeVarsScriptShortcut"
|
||||
Name="Node.js command prompt"
|
||||
Target="[%ComSpec]"
|
||||
Arguments='/k "[INSTALLDIR]nodevars.bat"'
|
||||
Arguments="/k "[INSTALLDIR]nodevars.bat""
|
||||
Show="normal"
|
||||
WorkingDirectory="INSTALLDIR"/>
|
||||
<Shortcut Id="InstallToolsShortcut"
|
||||
Name="Install Additional Tools for Node.js"
|
||||
Target="[%ComSpec]"
|
||||
Arguments='/d /c "[INSTALLDIR]install_tools.bat"'
|
||||
Arguments="/d /c "[INSTALLDIR]install_tools.bat""
|
||||
Show="normal"
|
||||
WorkingDirectory="INSTALLDIR"/>
|
||||
<Shortcut Id="NodeExecutableShortcut"
|
||||
@ -251,18 +241,18 @@
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
|
||||
<Directory Id="AppDataFolder">
|
||||
<Directory Id="AppDataDir" Name="npm">
|
||||
<Component Id="AppData" Guid="D3B35D0E-D0F9-4D11-A773-D4608E90E1D1">
|
||||
<CreateFolder />
|
||||
<RemoveFolder Id="AppDataDir" On="uninstall" />
|
||||
<RegistryValue Root="HKCU" Key="$(var.RegistryKeyPath)\Components" Type="string" Value="" />
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</DirectoryRef>
|
||||
|
||||
<StandardDirectory Id="AppDataFolder">
|
||||
<Directory Id="AppDataDir" Name="npm">
|
||||
<Component Id="AppData" Guid="D3B35D0E-D0F9-4D11-A773-D4608E90E1D1">
|
||||
<CreateFolder />
|
||||
<RemoveFolder Id="AppDataDir" On="uninstall" />
|
||||
<RegistryValue Root="HKCU" Key="$(var.RegistryKeyPath)\Components" Type="string" Value="" />
|
||||
</Component>
|
||||
</Directory>
|
||||
</StandardDirectory>
|
||||
|
||||
<DirectoryRef Id="ApplicationProgramsFolder">
|
||||
<Component Id="DocumentationShortcuts">
|
||||
<RegistryValue Root="HKCU"
|
||||
@ -314,38 +304,39 @@
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
|
||||
<Binary Id='CustomActionsDLL'
|
||||
SourceFile='$(var.custom_actions.TargetDir)$(var.custom_actions.TargetName).dll' />
|
||||
<Binary Id="CustomActionsDLL"
|
||||
SourceFile="$(var.custom_actions.TargetDir)$(var.custom_actions.TargetName).dll" />
|
||||
|
||||
<CustomAction Id="SetInstallScope"
|
||||
BinaryKey="CustomActionsDLL"
|
||||
BinaryRef="CustomActionsDLL"
|
||||
DllEntry="SetInstallScope"
|
||||
Execute="immediate"
|
||||
Return="check" />
|
||||
|
||||
<CustomAction Id="BroadcastEnvironmentUpdate"
|
||||
BinaryKey="CustomActionsDLL"
|
||||
DllEntry="BroadcastEnvironmentUpdate"
|
||||
<CustomAction Id="WixBroadcastEnvironmentChange"
|
||||
BinaryRef="Wix4UtilCA_X86"
|
||||
DllEntry="WixBroadcastEnvironmentChange"
|
||||
Execute="immediate"
|
||||
Return="check" />
|
||||
|
||||
<CustomAction Id="GetLocalizedUserNames"
|
||||
BinaryKey="CustomActionsDLL"
|
||||
BinaryRef="CustomActionsDLL"
|
||||
DllEntry="GetLocalizedUserNames"
|
||||
Execute="immediate"
|
||||
Return="check" />
|
||||
|
||||
<Property Id="WixShellExecTarget" Value="[#InstallToolsBat]" />
|
||||
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" />
|
||||
<CustomAction Id="LaunchApplication" BinaryRef="Wix4UtilCA_X86" DllEntry="WixShellExec" />
|
||||
<CustomAction Id="PrintEula" BinaryRef="WixUiCa_X86" DllEntry="PrintEula" />
|
||||
|
||||
<InstallUISequence>
|
||||
<Custom Action='SetInstallScope' Before='FindRelatedProducts'/>
|
||||
<Custom Action="SetInstallScope" Before="FindRelatedProducts"/>
|
||||
</InstallUISequence>
|
||||
|
||||
<InstallExecuteSequence>
|
||||
<Custom Action='SetInstallScope' Before='FindRelatedProducts'/>
|
||||
<Custom Action='GetLocalizedUserNames' After='SetInstallScope'/>
|
||||
<Custom Action='BroadcastEnvironmentUpdate' After='InstallFinalize'/>
|
||||
<Custom Action="SetInstallScope" Before="FindRelatedProducts"/>
|
||||
<Custom Action="GetLocalizedUserNames" After="SetInstallScope"/>
|
||||
<Custom Action="WixBroadcastEnvironmentChange" After="InstallFinalize"/>
|
||||
</InstallExecuteSequence>
|
||||
|
||||
<UI Id="NodeInstallUI">
|
||||
@ -383,34 +374,35 @@
|
||||
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.WixUINext)" />
|
||||
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)" />
|
||||
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)">
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
||||
<Publish Event="SpawnDialog" Value="CancelDlg" />
|
||||
</Control>
|
||||
</Dialog>
|
||||
|
||||
<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="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="NativeToolsDlg">1</Publish>
|
||||
<Publish Dialog="NativeToolsDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg">1</Publish>
|
||||
<Publish Dialog="NativeToolsDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
|
||||
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication">NATIVETOOLSCHECKBOX = 1</Publish>
|
||||
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
|
||||
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="LicenseAgreementDlg" Condition="NOT Installed" />
|
||||
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Condition="Installed AND PATCH" />
|
||||
<Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" />
|
||||
<Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg" Condition="LicenseAccepted = "1"" />
|
||||
<Publish Dialog="LicenseAgreementDlg" Control="Print" Event="DoAction" Value="PrintEula" />
|
||||
<Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg" />
|
||||
<Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="CustomizeDlg" Order="20" />
|
||||
<Publish Dialog="InstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="10" />
|
||||
<Publish Dialog="InstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="10" />
|
||||
<Publish Dialog="InstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="20" />
|
||||
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" Order="1" Condition="NOT Installed OR WixUI_InstallMode = "Change"" />
|
||||
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2" Condition="Installed AND NOT PATCH" />
|
||||
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3" Condition="Installed AND PATCH" />
|
||||
<Publish Dialog="MaintenanceTypeDlg" Control="ChangeButton" Event="NewDialog" Value="CustomizeDlg" />
|
||||
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg" />
|
||||
<Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg" />
|
||||
<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg" />
|
||||
<Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg" />
|
||||
<Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="1" Condition="Installed" />
|
||||
<Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg" Order="2" Condition="NOT Installed" />
|
||||
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="NativeToolsDlg" />
|
||||
<Publish Dialog="NativeToolsDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg" />
|
||||
<Publish Dialog="NativeToolsDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" />
|
||||
<Publish Dialog="ExitDialog" Control="Finish" Event="DoAction" Value="LaunchApplication" Condition="NATIVETOOLSCHECKBOX = 1" />
|
||||
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999" />
|
||||
|
||||
<Property Id="WIXUI_EXITDIALOGOPTIONALTEXT" Value="!(loc.WIXUI_EXITDIALOGOPTIONALTEXT)"/>
|
||||
</UI>
|
||||
@ -420,6 +412,6 @@
|
||||
<WixVariable Id="WixUIBannerBmp" Value="$(var.RepoDir)\doc\thin-white-stripe.jpg"/>
|
||||
<WixVariable Id="WixUIDialogBmp" Value="$(var.RepoDir)\doc\full-white-stripe.jpg"/>
|
||||
<WixVariable Id="WixUILicenseRtf" Value="$(var.SourceDir)\LICENSE.rtf"/>
|
||||
</Product>
|
||||
</Package>
|
||||
|
||||
</Wix>
|
||||
28
vcbuild.bat
28
vcbuild.bat
@ -259,19 +259,6 @@ echo Looking for Visual Studio 2022
|
||||
if not defined target_env set "VCINSTALLDIR="
|
||||
call tools\msvs\vswhere_usability_wrapper.cmd "[17.0,18.0)" %target_arch% "prerelease"
|
||||
if "_%VCINSTALLDIR%_" == "__" goto vs-set-2019
|
||||
set "WIXSDKDIR=%WIX%\SDK\VS2017"
|
||||
if defined msi (
|
||||
echo Looking for WiX installation for Visual Studio 2022...
|
||||
if not exist "%WIXSDKDIR%" (
|
||||
echo Failed to find WiX install for Visual Studio 2022
|
||||
echo VS2022 support for WiX is only present starting at version 3.XX
|
||||
goto vs-set-2019
|
||||
)
|
||||
if not exist "%VCINSTALLDIR%\..\MSBuild\Microsoft\WiX" (
|
||||
echo Failed to find the WiX Toolset Visual Studio 2022 Extension
|
||||
goto vs-set-2019
|
||||
)
|
||||
)
|
||||
@rem check if VS2022 is already setup, and for the requested arch
|
||||
if "_%VisualStudioVersion%_" == "_17.0_" if "_%VSCMD_ARG_TGT_ARCH%_"=="_%target_arch%_" goto found_vs2022
|
||||
@rem need to clear VSINSTALLDIR for vcvarsall to work as expected
|
||||
@ -299,19 +286,6 @@ echo Looking for Visual Studio 2019
|
||||
if not defined target_env set "VCINSTALLDIR="
|
||||
call tools\msvs\vswhere_usability_wrapper.cmd "[16.0,17.0)" %target_arch% "prerelease"
|
||||
if "_%VCINSTALLDIR%_" == "__" goto msbuild-not-found
|
||||
set "WIXSDKDIR=%WIX%\SDK\VS2017"
|
||||
if defined msi (
|
||||
echo Looking for WiX installation for Visual Studio 2019...
|
||||
if not exist "%WIXSDKDIR%" (
|
||||
echo Failed to find WiX install for Visual Studio 2019
|
||||
echo VS2019 support for WiX is only present starting at version 3.11
|
||||
goto msbuild-not-found
|
||||
)
|
||||
if not exist "%VCINSTALLDIR%\..\MSBuild\Microsoft\WiX" (
|
||||
echo Failed to find the WiX Toolset Visual Studio 2019 Extension
|
||||
goto msbuild-not-found
|
||||
)
|
||||
)
|
||||
@rem check if VS2019 is already setup, and for the requested arch
|
||||
if "_%VisualStudioVersion%_" == "_16.0_" if "_%VSCMD_ARG_TGT_ARCH%_"=="_%target_arch%_" goto found_vs2019
|
||||
@rem need to clear VSINSTALLDIR for vcvarsall to work as expected
|
||||
@ -532,7 +506,7 @@ if not defined msi goto install-doctools
|
||||
echo Building node-v%FULLVERSION%-%target_arch%.msi
|
||||
set "msbsdk="
|
||||
if defined WindowsSDKVersion set "msbsdk=/p:WindowsTargetPlatformVersion=%WindowsSDKVersion:~0,-1%"
|
||||
msbuild "%~dp0tools\msvs\msi\nodemsi.sln" /m /t:Clean,Build %msbsdk% /p:PlatformToolset=%PLATFORM_TOOLSET% /p:WixSdkDir="%WIXSDKDIR%" /p:Configuration=%config% /p:Platform=%target_arch% /p:NodeVersion=%NODE_VERSION% /p:FullVersion=%FULLVERSION% /p:DistTypeDir=%DISTTYPEDIR% /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
|
||||
msbuild "%~dp0tools\msvs\msi\nodemsi.sln" /m /t:Restore,Clean,Build %msbsdk% /p:PlatformToolset=%PLATFORM_TOOLSET% /p:Configuration=%config% /p:Platform=%target_arch% /p:NodeVersion=%NODE_VERSION% /p:FullVersion=%FULLVERSION% /p:DistTypeDir=%DISTTYPEDIR% /clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
|
||||
if errorlevel 1 goto exit
|
||||
|
||||
if not defined sign goto upload
|
||||
|
||||
Loading…
Reference in New Issue
Block a user