Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit c03e79b

Browse filesBrowse files
StefanStojanovicRafaelGSS
authored andcommitted
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: #45943 Refs: nodejs/build#2540 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
1 parent ef62e5a commit c03e79b
Copy full SHA for c03e79b

File tree

Expand file treeCollapse file tree

13 files changed

+227
-289
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

13 files changed

+227
-289
lines changed
Open diff view settings
Collapse file

‎.gitignore‎

Copy file name to clipboardExpand all lines: .gitignore
+5-5Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,12 +65,12 @@ _UpgradeReport_Files/
6565
/tools/msvs/genfiles/
6666
/npm.wxs
6767
/corepack.wxs
68-
/tools/msvs/msi/Release/
69-
/tools/msvs/msi/obj/
70-
/tools/msvs/msi/x64/
68+
/tools/msvs/msi/**/Release/
69+
/tools/msvs/msi/**/obj/
70+
/tools/msvs/msi/**/x64/
7171
# Exclude MSVS files used for .msi file generation
72-
!tools/msvs/msi/custom_actions.vcxproj
73-
!tools/msvs/msi/nodemsi.sln
72+
!tools/msvs/msi/**/custom_actions.vcxproj
73+
!tools/msvs/msi/**/nodemsi.sln
7474

7575
# === Rules for GYP artifacts ===
7676
*-nodegyp*
Collapse file

‎BUILDING.md‎

Copy file name to clipboardExpand all lines: BUILDING.md
+1-4Lines changed: 1 addition & 4 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -586,10 +586,7 @@ to run it again before invoking `make -j4`.
586586

587587
Optional requirements to build the MSI installer package:
588588

589-
* The [WiX Toolset v3.11](https://wixtoolset.org/releases/) and the
590-
[Wix Toolset Visual Studio 2019 Extension](https://marketplace.visualstudio.com/items?itemName=WixToolset.WixToolsetVisualStudio2019Extension)
591-
* The [WiX Toolset v3.14](https://wixtoolset.org/releases/) if
592-
building for Windows 10 on ARM (ARM64)
589+
* The .NET SDK component from [Visual Studio 2019](https://visualstudio.microsoft.com/vs/older-downloads/#visual-studio-2019-and-other-products)
593590

594591
Optional requirements for compiling for Windows 10 on ARM (ARM64):
595592

Collapse file

‎tools/msvs/msi/NuGet.Config‎

Copy file name to clipboard
+6Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<configuration>
3+
<packageSources>
4+
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
5+
</packageSources>
6+
</configuration>
Collapse file

‎tools/msvs/msi/custom_actions.cc‎ ‎…svs/msi/custom_actions/custom_actions.cc‎tools/msvs/msi/custom_actions.cc renamed to tools/msvs/msi/custom_actions/custom_actions.cc tools/msvs/msi/custom_actions.cc renamed to tools/msvs/msi/custom_actions/custom_actions.cc

Copy file name to clipboardExpand all lines: tools/msvs/msi/custom_actions/custom_actions.cc
-21Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -77,27 +77,6 @@ extern "C" UINT WINAPI SetInstallScope(MSIHANDLE hInstall) {
7777
return WcaFinalize(ERROR_SUCCESS);
7878
}
7979

80-
81-
extern "C" UINT WINAPI BroadcastEnvironmentUpdate(MSIHANDLE hInstall) {
82-
HRESULT hr = S_OK;
83-
UINT er = ERROR_SUCCESS;
84-
85-
hr = WcaInitialize(hInstall, "BroadcastEnvironmentUpdate");
86-
ExitOnFailure(hr, "Failed to initialize");
87-
88-
SendMessageTimeoutW(HWND_BROADCAST,
89-
WM_SETTINGCHANGE,
90-
0,
91-
(LPARAM) L"Environment",
92-
SMTO_ABORTIFHUNG,
93-
5000,
94-
NULL);
95-
96-
LExit:
97-
er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE;
98-
return WcaFinalize(er);
99-
}
100-
10180
#define AUTHENTICATED_USERS_SID L"S-1-5-11"
10281

10382
extern "C" UINT WINAPI GetLocalizedUserNames(MSIHANDLE hInstall) {
Collapse file

‎tools/msvs/msi/custom_actions.def‎ ‎…vs/msi/custom_actions/custom_actions.def‎tools/msvs/msi/custom_actions.def renamed to tools/msvs/msi/custom_actions/custom_actions.def tools/msvs/msi/custom_actions.def renamed to tools/msvs/msi/custom_actions/custom_actions.def

Copy file name to clipboardExpand all lines: tools/msvs/msi/custom_actions/custom_actions.def
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@ LIBRARY "custom_actions"
22

33
EXPORTS
44
SetInstallScope
5-
BroadcastEnvironmentUpdate
65
GetLocalizedUserNames
Collapse file

‎tools/msvs/msi/custom_actions.vcxproj‎ ‎…si/custom_actions/custom_actions.vcxproj‎tools/msvs/msi/custom_actions.vcxproj renamed to tools/msvs/msi/custom_actions/custom_actions.vcxproj tools/msvs/msi/custom_actions.vcxproj renamed to tools/msvs/msi/custom_actions/custom_actions.vcxproj

Copy file name to clipboardExpand all lines: tools/msvs/msi/custom_actions/custom_actions.vcxproj
+20-12Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@
112112
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
113113
<ClCompile>
114114
<Optimization>Disabled</Optimization>
115-
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
115+
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
116116
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
117117
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
118118
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
@@ -122,7 +122,7 @@
122122
</ClCompile>
123123
<Link>
124124
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
125-
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
125+
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x86;$(PkgWixToolset_DUtil)\build\native\v14\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
126126
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
127127
<GenerateDebugInformation>true</GenerateDebugInformation>
128128
<SubSystem>Windows</SubSystem>
@@ -131,7 +131,7 @@
131131
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
132132
<ClCompile>
133133
<Optimization>Disabled</Optimization>
134-
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
134+
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
135135
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
136136
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
137137
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
@@ -141,7 +141,7 @@
141141
</ClCompile>
142142
<Link>
143143
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
144-
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\ARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
144+
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\ARM64;$(PkgWixToolset_DUtil)\build\native\v14\ARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
145145
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
146146
<GenerateDebugInformation>true</GenerateDebugInformation>
147147
<SubSystem>Windows</SubSystem>
@@ -150,7 +150,7 @@
150150
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
151151
<ClCompile>
152152
<Optimization>Disabled</Optimization>
153-
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
153+
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
154154
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
155155
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
156156
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
@@ -160,7 +160,7 @@
160160
</ClCompile>
161161
<Link>
162162
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
163-
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
163+
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x64;$(PkgWixToolset_DUtil)\build\native\v14\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
164164
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
165165
<GenerateDebugInformation>true</GenerateDebugInformation>
166166
<SubSystem>Windows</SubSystem>
@@ -170,7 +170,7 @@
170170
<ClCompile>
171171
<Optimization>MaxSpeed</Optimization>
172172
<IntrinsicFunctions>true</IntrinsicFunctions>
173-
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
173+
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
174174
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
175175
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
176176
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -184,7 +184,7 @@
184184
</ClCompile>
185185
<Link>
186186
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
187-
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
187+
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x86;$(PkgWixToolset_DUtil)\build\native\v14\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
188188
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
189189
<GenerateDebugInformation>true</GenerateDebugInformation>
190190
<SubSystem>Windows</SubSystem>
@@ -196,7 +196,7 @@
196196
<ClCompile>
197197
<Optimization>MaxSpeed</Optimization>
198198
<IntrinsicFunctions>true</IntrinsicFunctions>
199-
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
199+
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
200200
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
201201
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
202202
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -210,7 +210,7 @@
210210
</ClCompile>
211211
<Link>
212212
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
213-
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\ARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
213+
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\ARM64;$(PkgWixToolset_DUtil)\build\native\v14\ARM64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
214214
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
215215
<GenerateDebugInformation>true</GenerateDebugInformation>
216216
<SubSystem>Windows</SubSystem>
@@ -222,7 +222,7 @@
222222
<ClCompile>
223223
<Optimization>MaxSpeed</Optimization>
224224
<IntrinsicFunctions>true</IntrinsicFunctions>
225-
<AdditionalIncludeDirectories>$(WixSdkDir)\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
225+
<AdditionalIncludeDirectories>$(PkgWixToolset_WcaUtil)\build\native\include;$(PkgWixToolset_DUtil)\build\native\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
226226
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
227227
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
228228
<FunctionLevelLinking>true</FunctionLevelLinking>
@@ -236,7 +236,7 @@
236236
</ClCompile>
237237
<Link>
238238
<AdditionalDependencies>msi.lib;dutil.lib;wcautil.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
239-
<AdditionalLibraryDirectories>$(WixSdkDir)\lib\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
239+
<AdditionalLibraryDirectories>$(PkgWixToolset_WcaUtil)\build\native\v14\x64;$(PkgWixToolset_DUtil)\build\native\v14\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
240240
<ModuleDefinitionFile>custom_actions.def</ModuleDefinitionFile>
241241
<GenerateDebugInformation>true</GenerateDebugInformation>
242242
<SubSystem>Windows</SubSystem>
@@ -254,4 +254,12 @@
254254
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
255255
<ImportGroup Label="ExtensionTargets">
256256
</ImportGroup>
257+
<ItemGroup>
258+
<PackageReference Include="WixToolset.WcaUtil" Version="4.0.0-rc.1" GeneratePathProperty="true" />
259+
<PackageReference Include="WixToolset.DUtil" Version="4.0.0-rc.1" GeneratePathProperty="true" />
260+
</ItemGroup>
261+
<PropertyGroup>
262+
<_NuGetTargetFallbackMoniker>$(_NuGetTargetFallbackMoniker);native,Version=v0.0</_NuGetTargetFallbackMoniker>
263+
<RuntimeIdentifiers>$(RuntimeIdentifiers);win-arm64</RuntimeIdentifiers>
264+
</PropertyGroup>
257265
</Project>
Collapse file

‎tools/msvs/msi/i18n/en-us.wxl‎

Copy file name to clipboardExpand all lines: tools/msvs/msi/i18n/en-us.wxl
-43Lines changed: 0 additions & 43 deletions
This file was deleted.
Collapse file

‎tools/msvs/msi/nodemsi.sln‎

Copy file name to clipboardExpand all lines: tools/msvs/msi/nodemsi.sln
+12-5Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
1-
2-
Microsoft Visual Studio Solution File, Format Version 11.00
3-
# Visual Studio 2010
4-
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "nodemsi", "nodemsi.wixproj", "{1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}"
1+
Microsoft Visual Studio Solution File, Format Version 12.00
2+
# Visual Studio Version 16
3+
VisualStudioVersion = 16.0.33027.164
4+
MinimumVisualStudioVersion = 10.0.40219.1
5+
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "nodemsi", "nodemsi\nodemsi.wixproj", "{1D808FF0-B5A9-4BE9-859D-B334B6F48BE2}"
6+
ProjectSection(ProjectDependencies) = postProject
7+
{B70585F8-DAB7-40FA-9904-13CF53A73A06} = {B70585F8-DAB7-40FA-9904-13CF53A73A06}
8+
EndProjectSection
59
EndProject
6-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "custom_actions", "custom_actions.vcxproj", "{B70585F8-DAB7-40FA-9904-13CF53A73A06}"
10+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "custom_actions", "custom_actions\custom_actions.vcxproj", "{B70585F8-DAB7-40FA-9904-13CF53A73A06}"
711
EndProject
812
Global
913
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -43,4 +47,7 @@ Global
4347
GlobalSection(SolutionProperties) = preSolution
4448
HideSolutionNode = FALSE
4549
EndGlobalSection
50+
GlobalSection(ExtensibilityGlobals) = postSolution
51+
SolutionGuid = {FB650322-7A09-471D-A635-F2DBDCEECDB8}
52+
EndGlobalSection
4653
EndGlobal

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.