@joebigelow / wix-1 / commits / bb7b3dc1

WIXFEAT:6164 Update to latest balutil.

Sean Hall committed May 16, 2020 at 21:52 UTC bb7b3dc1bc20629e04014b3f049cc30625a1a06c
21 files changed +178 -177
src/Samples/bafunctions/bafunctions.vcxproj
+6 -6
@@ -2,9 +2,9 @@
2 <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4 <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 - <Import Project="..\..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props" Condition="Exists('..\..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props')" />
6 - <Import Project="..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props')" />
7 - <Import Project="..\..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" />
5 + <Import Project="..\..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props" Condition="Exists('..\..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props')" />
6 + <Import Project="..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" />
7 + <Import Project="..\..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" />
8
9 <ItemGroup Label="ProjectConfigurations">
10 <ProjectConfiguration Include="Debug|Win32">
@@ -57,9 +57,9 @@
57 <PropertyGroup>
58 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
59 </PropertyGroup>
60 - <Error Condition="!Exists('..\..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props'))" />
61 - <Error Condition="!Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props'))" />
62 - <Error Condition="!Exists('..\..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props'))" />
60 + <Error Condition="!Exists('..\..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props'))" />
61 + <Error Condition="!Exists('..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props'))" />
62 + <Error Condition="!Exists('..\..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props'))" />
63 <Error Condition="!Exists('..\..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" />
64 </Target>
65 </Project>
src/Samples/bafunctions/packages.config
+3 -3
@@ -1,7 +1,7 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <packages>
3 <package id="Nerdbank.GitVersioning" version="2.1.65" targetFramework="native" developmentDependency="true" />
4 - <package id="WixToolset.BootstrapperCore.Native" version="4.0.15" targetFramework="native" />
5 - <package id="WixToolset.BalUtil" version="4.0.19" targetFramework="native" />
6 - <package id="WixToolset.DUtil" version="4.0.18" targetFramework="native" />
4 + <package id="WixToolset.BootstrapperCore.Native" version="4.0.16" targetFramework="native" />
5 + <package id="WixToolset.BalUtil" version="4.0.22" targetFramework="native" />
6 + <package id="WixToolset.DUtil" version="4.0.23" targetFramework="native" />
7 </packages>
\ No newline at end of file
src/WixToolset.Mba.Host/WixToolset.Mba.Host.csproj
+1 -1
@@ -44,7 +44,7 @@
44 <Reference Include="System.Data" />
45 <Reference Include="System.Xml" />
46 <Reference Include="WixToolset.Mba.Core">
47 - <HintPath>..\..\packages\WixToolset.Mba.Core.4.0.19\lib\net20\WixToolset.Mba.Core.dll</HintPath>
47 + <HintPath>..\..\packages\WixToolset.Mba.Core.4.0.22\lib\net20\WixToolset.Mba.Core.dll</HintPath>
48 </Reference>
49 </ItemGroup>
50 <ItemGroup>
src/WixToolset.Mba.Host/packages.config
+1 -1
@@ -1,5 +1,5 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <packages>
3 <package id="Nerdbank.GitVersioning" version="2.1.65" targetFramework="net20" developmentDependency="true" />
4 - <package id="WixToolset.Mba.Core" version="4.0.19" targetFramework="net20" />
4 + <package id="WixToolset.Mba.Core" version="4.0.22" targetFramework="net20" />
5 </packages>
\ No newline at end of file
src/dnchost/dnchost.vcxproj
+6 -6
@@ -1,9 +1,9 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4 - <Import Project="..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props" Condition="Exists('..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props')" />
5 - <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props')" />
6 - <Import Project="..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" />
4 + <Import Project="..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props" Condition="Exists('..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props')" />
5 + <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" />
6 + <Import Project="..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" />
7 <ItemGroup Label="ProjectConfigurations">
8 <ProjectConfiguration Include="Debug|Win32">
9 <Configuration>Debug</Configuration>
@@ -69,9 +69,9 @@
69 <PropertyGroup>
70 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
71 </PropertyGroup>
72 - <Error Condition="!Exists('..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props'))" />
73 - <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props'))" />
74 - <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props'))" />
72 + <Error Condition="!Exists('..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props'))" />
73 + <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props'))" />
74 + <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props'))" />
75 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" />
76 </Target>
77 </Project>
\ No newline at end of file
src/dnchost/packages.config
+3 -3
@@ -2,7 +2,7 @@
2 <packages>
3 <package id="runtime.win-x86.Microsoft.NETCore.DotNetAppHost" version="3.1.3" targetFramework="native" />
4 <package id="Nerdbank.GitVersioning" version="2.1.65" targetFramework="native" developmentDependency="true" />
5 - <package id="WixToolset.BootstrapperCore.Native" version="4.0.15" targetFramework="native" />
6 - <package id="WixToolset.BalUtil" version="4.0.19" targetFramework="native" />
7 - <package id="WixToolset.DUtil" version="4.0.18" targetFramework="native" />
5 + <package id="WixToolset.BootstrapperCore.Native" version="4.0.16" targetFramework="native" />
6 + <package id="WixToolset.BalUtil" version="4.0.22" targetFramework="native" />
7 + <package id="WixToolset.DUtil" version="4.0.23" targetFramework="native" />
8 </packages>
\ No newline at end of file
src/mbahost/mbahost.vcxproj
+6 -6
@@ -2,9 +2,9 @@
2 <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4 <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 - <Import Project="..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props" Condition="Exists('..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props')" />
6 - <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props')" />
7 - <Import Project="..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" />
5 + <Import Project="..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props" Condition="Exists('..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props')" />
6 + <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" />
7 + <Import Project="..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" />
8
9 <ItemGroup Label="ProjectConfigurations">
10 <ProjectConfiguration Include="Debug|Win32">
@@ -68,9 +68,9 @@
68 <PropertyGroup>
69 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
70 </PropertyGroup>
71 - <Error Condition="!Exists('..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props'))" />
72 - <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props'))" />
73 - <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props'))" />
71 + <Error Condition="!Exists('..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props'))" />
72 + <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props'))" />
73 + <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props'))" />
74 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" />
75 </Target>
76 </Project>
\ No newline at end of file
src/mbahost/packages.config
+3 -3
@@ -1,7 +1,7 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <packages>
3 <package id="Nerdbank.GitVersioning" version="2.1.65" targetFramework="native" developmentDependency="true" />
4 - <package id="WixToolset.BootstrapperCore.Native" version="4.0.15" targetFramework="native" />
5 - <package id="WixToolset.BalUtil" version="4.0.19" targetFramework="native" />
6 - <package id="WixToolset.DUtil" version="4.0.18" targetFramework="native" />
4 + <package id="WixToolset.BootstrapperCore.Native" version="4.0.16" targetFramework="native" />
5 + <package id="WixToolset.BalUtil" version="4.0.22" targetFramework="native" />
6 + <package id="WixToolset.DUtil" version="4.0.23" targetFramework="native" />
7 </packages>
\ No newline at end of file
src/test/examples/EarliestCoreMBA/Example.EarliestCoreMBA.csproj
+1 -1
@@ -13,6 +13,6 @@
13
14 <ItemGroup>
15 <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="all" />
16 - <PackageReference Include="WixToolset.Mba.Core" Version="4.0.19" />
16 + <PackageReference Include="WixToolset.Mba.Core" Version="4.0.22" />
17 </ItemGroup>
18 </Project>
\ No newline at end of file
src/test/examples/FullFramework2MBA/Example.FullFramework2MBA.csproj
+3 -3
@@ -3,7 +3,7 @@
3
4
5 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 - <Import Project="..\..\..\..\packages\WixToolset.Mba.Core.4.0.19\build\net20\WixToolset.Mba.Core.props" Condition="Exists('..\..\..\..\packages\WixToolset.Mba.Core.4.0.19\build\net20\WixToolset.Mba.Core.props')" />
6 + <Import Project="..\..\..\..\packages\WixToolset.Mba.Core.4.0.22\build\net20\WixToolset.Mba.Core.props" Condition="Exists('..\..\..\..\packages\WixToolset.Mba.Core.4.0.22\build\net20\WixToolset.Mba.Core.props')" />
7 <PropertyGroup>
8 <ProjectGuid>{CC4236FC-226E-4232-AB50-24CBEC4D314D}</ProjectGuid>
9 <AssemblyName>Example.FullFramework2MBA</AssemblyName>
@@ -39,7 +39,7 @@
39 <Reference Include="System.Data" />
40 <Reference Include="System.Xml" />
41 <Reference Include="WixToolset.Mba.Core">
42 - <HintPath>..\..\..\..\packages\WixToolset.Mba.Core.4.0.19\lib\net20\WixToolset.Mba.Core.dll</HintPath>
42 + <HintPath>..\..\..\..\packages\WixToolset.Mba.Core.4.0.22\lib\net20\WixToolset.Mba.Core.dll</HintPath>
43 </Reference>
44 </ItemGroup>
45
@@ -50,7 +50,7 @@
50 <PropertyGroup>
51 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
52 </PropertyGroup>
53 - <Error Condition="!Exists('..\..\..\..\packages\WixToolset.Mba.Core.4.0.19\build\net20\WixToolset.Mba.Core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\WixToolset.Mba.Core.4.0.19\build\net20\WixToolset.Mba.Core.props'))" />
53 + <Error Condition="!Exists('..\..\..\..\packages\WixToolset.Mba.Core.4.0.22\build\net20\WixToolset.Mba.Core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\WixToolset.Mba.Core.4.0.22\build\net20\WixToolset.Mba.Core.props'))" />
54 <Error Condition="!Exists('..\..\..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" />
55 </Target>
56 </Project>
\ No newline at end of file
src/test/examples/FullFramework2MBA/packages.config
+1 -1
@@ -1,4 +1,4 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <packages>
3 - <package id="WixToolset.Mba.Core" version="4.0.19" targetFramework="net461" />
3 + <package id="WixToolset.Mba.Core" version="4.0.22" targetFramework="net461" />
4 </packages>
\ No newline at end of file
src/test/examples/FullFramework4MBA/Example.FullFramework4MBA.csproj
+1 -1
@@ -9,7 +9,7 @@
9
10 <ItemGroup>
11 <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="all" />
12 - <PackageReference Include="WixToolset.Mba.Core" Version="4.0.19" PrivateAssets="All" />
12 + <PackageReference Include="WixToolset.Mba.Core" Version="4.0.22" PrivateAssets="All" />
13 </ItemGroup>
14
15 <ItemGroup>
src/test/examples/LatestCoreMBA/Example.LatestCoreMBA.csproj
+1 -1
@@ -18,6 +18,6 @@
18
19 <ItemGroup>
20 <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="all" />
21 - <PackageReference Include="WixToolset.Mba.Core" Version="4.0.19" />
21 + <PackageReference Include="WixToolset.Mba.Core" Version="4.0.22" />
22 </ItemGroup>
23 </Project>
\ No newline at end of file
src/test/examples/TestEngine/Example.TestEngine.vcxproj
+6 -6
@@ -1,9 +1,9 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
4 - <Import Project="..\..\..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props" Condition="Exists('..\..\..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props')" />
5 - <Import Project="..\..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props')" />
6 - <Import Project="..\..\..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" />
4 + <Import Project="..\..\..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props" Condition="Exists('..\..\..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props')" />
5 + <Import Project="..\..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" />
6 + <Import Project="..\..\..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" />
7 <ItemGroup Label="ProjectConfigurations">
8 <ProjectConfiguration Include="Debug|Win32">
9 <Configuration>Debug</Configuration>
@@ -68,8 +68,8 @@
68 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
69 </PropertyGroup>
70 <Error Condition="!Exists('..\..\..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" />
71 - <Error Condition="!Exists('..\..\..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props'))" />
72 - <Error Condition="!Exists('..\..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props'))" />
73 - <Error Condition="!Exists('..\..\..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props'))" />
71 + <Error Condition="!Exists('..\..\..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props'))" />
72 + <Error Condition="!Exists('..\..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props'))" />
73 + <Error Condition="!Exists('..\..\..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props'))" />
74 </Target>
75 </Project>
\ No newline at end of file
src/test/examples/TestEngine/TestEngine.cpp
+2 -2
@@ -53,7 +53,7 @@ HRESULT TestEngine::LoadBA(
53 m_pCreateResults->cbSize = sizeof(BOOTSTRAPPER_CREATE_RESULTS);
54
55 m_hBAModule = ::LoadLibraryExW(wzBAFilePath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
56 - ExitOnNullWithLastError(m_hBAModule, hr, "Failed to load BA dll.");
56 + ConsoleExitOnNullWithLastError(m_hBAModule, hr, CONSOLE_COLOR_RED, "Failed to load BA dll.");
57
58 pfnCreate = (PFN_BOOTSTRAPPER_APPLICATION_CREATE)::GetProcAddress(m_hBAModule, "BootstrapperApplicationCreate");
59 ConsoleExitOnNull(pfnCreate, hr, E_OUTOFMEMORY, CONSOLE_COLOR_RED, "Failed to get address for BootstrapperApplicationCreate.");
@@ -181,7 +181,7 @@ HRESULT TestEngine::BAEngineQuit(
181
182 if (!::PostThreadMessageW(m_dwThreadId, WM_TESTENG_QUIT, static_cast<WPARAM>(pArgs->dwExitCode), 0))
183 {
184 - ExitWithLastError(hr, "Failed to post shutdown message.");
184 + ConsoleExitWithLastError(hr, CONSOLE_COLOR_RED, "Failed to post shutdown message.");
185 }
186
187 LExit:
src/test/examples/TestEngine/packages.config
+3 -3
@@ -1,7 +1,7 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <packages>
3 <package id="Nerdbank.GitVersioning" version="2.1.65" targetFramework="native" developmentDependency="true" />
4 - <package id="WixToolset.BootstrapperCore.Native" version="4.0.15" targetFramework="native" />
5 - <package id="WixToolset.BalUtil" version="4.0.19" targetFramework="native" />
6 - <package id="WixToolset.DUtil" version="4.0.18" targetFramework="native" />
4 + <package id="WixToolset.BootstrapperCore.Native" version="4.0.16" targetFramework="native" />
5 + <package id="WixToolset.BalUtil" version="4.0.22" targetFramework="native" />
6 + <package id="WixToolset.DUtil" version="4.0.23" targetFramework="native" />
7 </packages>
\ No newline at end of file
src/test/examples/WPFCoreMBA/Example.WPFCoreMBA.csproj
+2 -2
@@ -1,4 +1,4 @@
1 -<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
1 +<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
2
3 <PropertyGroup>
4 <TargetFramework>netcoreapp3.1</TargetFramework>
@@ -11,6 +11,6 @@
11
12 <ItemGroup>
13 <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="all" />
14 - <PackageReference Include="WixToolset.Mba.Core" Version="4.0.19" />
14 + <PackageReference Include="WixToolset.Mba.Core" Version="4.0.22" />
15 </ItemGroup>
16 </Project>
\ No newline at end of file
src/wixstdba/WixStandardBootstrapperApplication.cpp
+113 -119
@@ -146,13 +146,13 @@ static THEME_ASSIGN_CONTROL_ID vrgInitControls[] = {
146 { WIXSTDBA_CONTROL_FAILURE_RESTART_BUTTON, L"FailureRestartButton" },
147 };
148
149 -typedef struct _WIXSTDBA_PREREQ_PACKAGE
149 +typedef struct _WIXSTDBA_PACKAGE_INFO
150 {
151 LPWSTR sczPackageId;
152 BOOL fWasAlreadyInstalled;
153 BOOL fPlannedToBeInstalled;
154 BOOL fSuccessfullyInstalled;
155 -} WIXSTDBA_PREREQ_PACKAGE;
155 +} WIXSTDBA_PACKAGE_INFO;
156
157
158 static HRESULT DAPI EvaluateVariableConditionCallback(
@@ -268,7 +268,11 @@ public: // IBootstrapperApplication
268 __inout BOOL* pfCancel
269 )
270 {
271 - BalInfoAddRelatedBundleAsPackage(&m_Bundle.packages, wzBundleId, relationType, fPerMachine);
271 + BAL_INFO_PACKAGE* pPackage = NULL;
272 + if (SUCCEEDED(BalInfoAddRelatedBundleAsPackage(&m_Bundle.packages, wzBundleId, relationType, fPerMachine, &pPackage)))
273 + {
274 + InitializePackageInfoForPackage(pPackage);
275 + }
276
277 // If we're not doing a prerequisite install, remember when our bundle would cause a downgrade.
278 if (!m_fPrereq && BOOTSTRAPPER_RELATED_OPERATION_DOWNGRADE == operation)
@@ -286,13 +290,15 @@ public: // IBootstrapperApplication
290 __in BOOTSTRAPPER_PACKAGE_STATE state
291 )
292 {
289 - WIXSTDBA_PREREQ_PACKAGE* pPrereqPackage = NULL;
293 + WIXSTDBA_PACKAGE_INFO* pPackageInfo = NULL;
294 BAL_INFO_PACKAGE* pPackage = NULL;
291 - HRESULT hr = GetPrereqPackage(wzPackageId, &pPrereqPackage, &pPackage);
292 - if (SUCCEEDED(hr) && BOOTSTRAPPER_PACKAGE_STATE_PRESENT == state)
295 +
296 + if (BOOTSTRAPPER_PACKAGE_STATE_PRESENT == state &&
297 + SUCCEEDED(GetPackageInfo(wzPackageId, &pPackageInfo, &pPackage)) &&
298 + pPackageInfo)
299 {
294 - // If the prerequisite package is already installed, remember that.
295 - pPrereqPackage->fWasAlreadyInstalled = TRUE;
300 + // If the package is already installed, remember that.
301 + pPackageInfo->fWasAlreadyInstalled = TRUE;
302 }
303
304 return S_OK;
@@ -314,9 +320,11 @@ public: // IBootstrapperApplication
320 m_fPrereqAlreadyInstalled = TRUE;
321
322 // At this point we have to assume that all prerequisite packages need to be installed, so set to false if any of them aren't installed.
317 - for (DWORD i = 0; i < m_cPrereqPackages; ++i)
323 + for (DWORD i = 0; i < m_Bundle.packages.cPackages; ++i)
324 {
319 - if (m_rgPrereqPackages[i].sczPackageId && !m_rgPrereqPackages[i].fWasAlreadyInstalled)
325 + BAL_INFO_PACKAGE* pPackage = &m_Bundle.packages.rgPackages[i];
326 + WIXSTDBA_PACKAGE_INFO* pPackageInfo = reinterpret_cast<WIXSTDBA_PACKAGE_INFO*>(pPackage->pvCustomData);
327 + if (pPackage->fPrereqPackage && pPackageInfo && !pPackageInfo->fWasAlreadyInstalled)
328 {
329 m_fPrereqAlreadyInstalled = FALSE;
330 break;
@@ -384,17 +392,17 @@ public: // IBootstrapperApplication
392 )
393 {
394 HRESULT hr = S_OK;
387 - WIXSTDBA_PREREQ_PACKAGE* pPrereqPackage = NULL;
395 + WIXSTDBA_PACKAGE_INFO* pPackageInfo = NULL;
396 BAL_INFO_PACKAGE* pPackage = NULL;
397
398 // If we're planning to install a prerequisite, install it. The prerequisite needs to be installed
399 // in all cases (even uninstall!) so the BA can load next.
400 if (m_fPrereq)
401 {
394 - // Only install prerequisite packages, and check the InstallCondition on prerequisite support packages.
402 + // Only install prerequisite packages, and check the InstallCondition on them.
403 BOOL fInstall = FALSE;
396 - hr = GetPrereqPackage(wzPackageId, &pPrereqPackage, &pPackage);
397 - if (SUCCEEDED(hr) && pPackage)
404 + hr = GetPackageInfo(wzPackageId, &pPackageInfo, &pPackage);
405 + if (SUCCEEDED(hr) && pPackage->fPrereqPackage && pPackageInfo)
406 {
407 if (pPackage->sczInstallCondition && *pPackage->sczInstallCondition)
408 {
@@ -410,7 +418,7 @@ public: // IBootstrapperApplication
418 fInstall = TRUE;
419 }
420
413 - pPrereqPackage->fPlannedToBeInstalled = fInstall;
421 + pPackageInfo->fPlannedToBeInstalled = fInstall;
422 }
423
424 if (fInstall)
@@ -459,9 +467,11 @@ public: // IBootstrapperApplication
467 m_fPrereqAlreadyInstalled = TRUE;
468
469 // Now that we've planned the packages, we can focus on the prerequisite packages that are supposed to be installed.
462 - for (DWORD i = 0; i < m_cPrereqPackages; ++i)
470 + for (DWORD i = 0; i < m_Bundle.packages.cPackages; ++i)
471 {
464 - if (m_rgPrereqPackages[i].sczPackageId && !m_rgPrereqPackages[i].fWasAlreadyInstalled && m_rgPrereqPackages[i].fPlannedToBeInstalled)
472 + BAL_INFO_PACKAGE* pPackage = &m_Bundle.packages.rgPackages[i];
473 + WIXSTDBA_PACKAGE_INFO* pPackageInfo = reinterpret_cast<WIXSTDBA_PACKAGE_INFO*>(pPackage->pvCustomData);
474 + if (pPackage->fPrereqPackage && pPackageInfo && !pPackageInfo->fWasAlreadyInstalled && pPackageInfo->fPlannedToBeInstalled)
475 {
476 m_fPrereqAlreadyInstalled = FALSE;
477 break;
@@ -706,6 +716,8 @@ public: // IBootstrapperApplication
716 __in_z LPCWSTR wzPackageId,
717 __in BOOL fExecute,
718 __in BOOTSTRAPPER_ACTION_STATE action,
719 + __in INSTALLUILEVEL uiLevel,
720 + __in BOOL fDisableExternalUiHandler,
721 __inout BOOL* pfCancel
722 )
723 {
@@ -750,12 +762,7 @@ public: // IBootstrapperApplication
762 wz = sczFormattedString ? sczFormattedString : pPackage->sczDisplayName ? pPackage->sczDisplayName : wzPackageId;
763 }
764
753 - // Needs to match MsiEngineCalculateInstallUiLevel in msiengine.cpp in Burn.
754 - fShowingInternalUiThisPackage = pPackage && pPackage->fDisplayInternalUI &&
755 - BOOTSTRAPPER_ACTION_STATE_UNINSTALL != action &&
756 - BOOTSTRAPPER_ACTION_STATE_REPAIR != action &&
757 - (BOOTSTRAPPER_DISPLAY_FULL == m_command.display ||
758 - BOOTSTRAPPER_DISPLAY_PASSIVE == m_command.display);
765 + fShowingInternalUiThisPackage = INSTALLUILEVEL_NONE != (INSTALLUILEVEL_NONE & uiLevel);
766
767 ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_EXECUTE_PROGRESS_PACKAGE_TEXT, wz);
768 ThemeSetTextControl(m_pTheme, WIXSTDBA_CONTROL_OVERALL_PROGRESS_PACKAGE_TEXT, wz);
@@ -763,7 +770,7 @@ public: // IBootstrapperApplication
770
771 ::EnterCriticalSection(&m_csShowingInternalUiThisPackage);
772 m_fShowingInternalUiThisPackage = fShowingInternalUiThisPackage;
766 - hr = __super::OnExecutePackageBegin(wzPackageId, fExecute, action, pfCancel);
773 + hr = __super::OnExecutePackageBegin(wzPackageId, fExecute, action, uiLevel, fDisableExternalUiHandler, pfCancel);
774 ::LeaveCriticalSection(&m_csShowingInternalUiThisPackage);
775
776 ReleaseStr(sczFormattedString);
@@ -811,16 +818,16 @@ public: // IBootstrapperApplication
818
819 hr = __super::OnExecutePackageComplete(wzPackageId, hrStatus, restart, recommendation, pAction);
820
814 - WIXSTDBA_PREREQ_PACKAGE* pPrereqPackage = NULL;
821 + WIXSTDBA_PACKAGE_INFO* pPackageInfo = NULL;
822 BAL_INFO_PACKAGE* pPackage;
816 - HRESULT hrPrereq = GetPrereqPackage(wzPackageId, &pPrereqPackage, &pPackage);
817 - if (SUCCEEDED(hrPrereq))
823 + HRESULT hrPrereq = GetPackageInfo(wzPackageId, &pPackageInfo, &pPackage);
824 + if (SUCCEEDED(hrPrereq) && pPackageInfo)
825 {
819 - pPrereqPackage->fSuccessfullyInstalled = SUCCEEDED(hrStatus);
826 + pPackageInfo->fSuccessfullyInstalled = SUCCEEDED(hrStatus);
827
828 // If the prerequisite required a restart (any restart) then do an immediate
829 // restart to ensure that the bundle will get launched again post reboot.
823 - if (BOOTSTRAPPER_APPLY_RESTART_NONE != restart)
830 + if (m_fPrereq && pPackage->fPrereqPackage && BOOTSTRAPPER_APPLY_RESTART_NONE != restart)
831 {
832 *pAction = BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_RESTART;
833 }
@@ -931,11 +938,13 @@ public: // IBootstrapperApplication
938 m_fPrereqInstalled = TRUE;
939 BOOL fInstalledAPackage = FALSE;
940
934 - for (DWORD i = 0; i < m_cPrereqPackages; ++i)
941 + for (DWORD i = 0; i < m_Bundle.packages.cPackages; ++i)
942 {
936 - if (m_rgPrereqPackages[i].sczPackageId && m_rgPrereqPackages[i].fPlannedToBeInstalled && !m_rgPrereqPackages[i].fWasAlreadyInstalled)
943 + BAL_INFO_PACKAGE* pPackage = &m_Bundle.packages.rgPackages[i];
944 + WIXSTDBA_PACKAGE_INFO* pPackageInfo = reinterpret_cast<WIXSTDBA_PACKAGE_INFO*>(pPackage->pvCustomData);
945 + if (pPackage->fPrereqPackage && pPackageInfo && pPackageInfo->fPlannedToBeInstalled && !pPackageInfo->fWasAlreadyInstalled)
946 {
938 - if (m_rgPrereqPackages[i].fSuccessfullyInstalled)
947 + if (pPackageInfo->fSuccessfullyInstalled)
948 {
949 fInstalledAPackage = TRUE;
950 }
@@ -1164,6 +1173,9 @@ public: // IBootstrapperApplication
1173 case BOOTSTRAPPER_APPLICATION_MESSAGE_ONLAUNCHAPPROVEDEXECOMPLETE:
1174 OnLaunchApprovedExeCompleteFallback(reinterpret_cast<BA_ONLAUNCHAPPROVEDEXECOMPLETE_ARGS*>(pvArgs), reinterpret_cast<BA_ONLAUNCHAPPROVEDEXECOMPLETE_RESULTS*>(pvResults));
1175 break;
1176 + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIPACKAGE:
1177 + OnPlanMsiPackageFallback(reinterpret_cast<BA_ONPLANMSIPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANMSIPACKAGE_RESULTS*>(pvResults));
1178 + break;
1179 default:
1180 BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "WIXSTDBA: Forwarding unknown BA message: %d", message);
1181 m_pfnBAFunctionsProc((BA_FUNCTIONS_MESSAGE)message, pvArgs, pvResults, m_pvBAFunctionsProcContext);
@@ -1617,6 +1629,18 @@ private: // privates
1629 m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONLAUNCHAPPROVEDEXECOMPLETE, pArgs, pResults, m_pvBAFunctionsProcContext);
1630 }
1631
1632 + void OnPlanMsiPackageFallback(
1633 + __in BA_ONPLANMSIPACKAGE_ARGS* pArgs,
1634 + __inout BA_ONPLANMSIPACKAGE_RESULTS* pResults
1635 + )
1636 + {
1637 + BURN_MSI_PROPERTY actionMsiProperty = pResults->actionMsiProperty;
1638 + INSTALLUILEVEL uiLevel = pResults->uiLevel;
1639 + BOOL fDisableExternalUiHandler = pResults->fDisableExternalUiHandler;
1640 + m_pfnBAFunctionsProc(BA_FUNCTIONS_MESSAGE_ONPLANMSIPACKAGE, pArgs, pResults, m_pvBAFunctionsProcContext);
1641 + BalLogId(BOOTSTRAPPER_LOG_LEVEL_STANDARD, MSG_WIXSTDBA_PLANNED_MSI_PACKAGE, m_hModule, pArgs->wzPackageId, actionMsiProperty, uiLevel, fDisableExternalUiHandler ? "yes" : "no", pResults->actionMsiProperty, pResults->uiLevel, pResults->fDisableExternalUiHandler ? "yes" : "no");
1642 + }
1643 +
1644 //
1645 // UiThreadProc - entrypoint for UI thread.
1646 //
@@ -1752,10 +1776,13 @@ private: // privates
1776 GetBundleFileVersion();
1777 // don't fail if we couldn't get the version info; best-effort only
1778
1779 + hr = InitializePackageInfo();
1780 + BalExitOnFailure(hr, "Failed to initialize wixstdba package information.");
1781 +
1782 if (m_fPrereq)
1783 {
1757 - hr = ParsePrerequisiteInformationFromXml(pixdManifest);
1758 - BalExitOnFailure(hr, "Failed to read prerequisite information.");
1784 + hr = InitializePrerequisiteInformation();
1785 + BalExitOnFailure(hr, "Failed to initialize prerequisite information.");
1786 }
1787 else
1788 {
@@ -1982,100 +2009,77 @@ private: // privates
2009 }
2010
2011
1985 - HRESULT ParsePrerequisiteInformationFromXml(
1986 - __in IXMLDOMDocument* pixdManifest
1987 - )
2012 + HRESULT InitializePackageInfo()
2013 {
2014 HRESULT hr = S_OK;
1990 - IXMLDOMNode* pNode = NULL;
1991 - IXMLDOMNodeList* pNodes = NULL;
1992 - DWORD cNodes = 0;
1993 - LPWSTR scz = NULL;
1994 - WIXSTDBA_PREREQ_PACKAGE* pPrereqPackage = NULL;
2015 BAL_INFO_PACKAGE* pPackage = NULL;
2016
1997 - hr = XmlSelectNodes(pixdManifest, L"/BootstrapperApplicationData/WixMbaPrereqInformation", &pNodes);
1998 - if (S_FALSE == hr)
2017 + for (DWORD i = 0; i < m_Bundle.packages.cPackages; ++i)
2018 {
2000 - hr = E_INVALIDARG;
2001 - BalExitOnFailure(hr, "BootstrapperApplication.xml manifest is missing prerequisite information.");
2002 - }
2003 - BalExitOnFailure(hr, "Failed to select prerequisite information nodes.");
2019 + pPackage = &m_Bundle.packages.rgPackages[i];
2020
2005 - hr = pNodes->get_length((long*)&cNodes);
2006 - BalExitOnFailure(hr, "Failed to get prerequisite information node count.");
2021 + hr = InitializePackageInfoForPackage(pPackage);
2022 + BalExitOnFailure(hr, "Failed to initialize wixstdba package info for package: %ls.", pPackage->sczId);
2023 + }
2024
2008 - m_cPrereqPackages = cNodes;
2009 - m_rgPrereqPackages = static_cast<WIXSTDBA_PREREQ_PACKAGE*>(MemAlloc(sizeof(WIXSTDBA_PREREQ_PACKAGE) * m_cPrereqPackages, TRUE));
2025 + LExit:
2026 + return hr;
2027 + }
2028
2011 - hr = DictCreateWithEmbeddedKey(&m_shPrereqSupportPackages, m_cPrereqPackages, reinterpret_cast<void **>(&m_rgPrereqPackages), offsetof(WIXSTDBA_PREREQ_PACKAGE, sczPackageId), DICT_FLAG_NONE);
2012 - BalExitOnFailure(hr, "Failed to create the prerequisite package dictionary.");
2029
2014 - for (DWORD i = 0; i < cNodes; ++i)
2015 - {
2016 - hr = XmlNextElement(pNodes, &pNode, NULL);
2017 - BalExitOnFailure(hr, "Failed to get next node.");
2030 + HRESULT InitializePackageInfoForPackage(
2031 + __in BAL_INFO_PACKAGE* pPackage
2032 + )
2033 + {
2034 + HRESULT hr = S_OK;
2035
2019 - hr = XmlGetAttributeEx(pNode, L"PackageId", &scz);
2020 - BalExitOnFailure(hr, "Failed to get @PackageId.");
2036 + pPackage->pvCustomData = MemAlloc(sizeof(WIXSTDBA_PACKAGE_INFO), TRUE);
2037 + BalExitOnNull(pPackage->pvCustomData, hr, E_OUTOFMEMORY, "Failed to allocate memory for wixstdba package info.");
2038
2022 - hr = DictGetValue(m_shPrereqSupportPackages, scz, reinterpret_cast<void **>(&pPrereqPackage));
2023 - if (SUCCEEDED(hr))
2024 - {
2025 - hr = HRESULT_FROM_WIN32(ERROR_INVALID_DATA);
2026 - BalExitOnFailure(hr, "Duplicate prerequisite information: %ls", scz);
2027 - }
2028 - else if (E_NOTFOUND != hr)
2029 - {
2030 - BalExitOnFailure(hr, "Failed to check if \"%ls\" was in the prerequisite package dictionary.", scz);
2031 - }
2039 + LExit:
2040 + return hr;
2041 + }
2042
2033 - hr = BalInfoFindPackageById(&m_Bundle.packages, scz, &pPackage);
2034 - BalExitOnFailure(hr, "Failed to get info about \"%ls\" from BootstrapperApplicationData.", scz);
2043
2036 - pPrereqPackage = &m_rgPrereqPackages[i];
2037 - pPrereqPackage->sczPackageId = pPackage->sczId;
2038 - hr = DictAddValue(m_shPrereqSupportPackages, pPrereqPackage);
2039 - BalExitOnFailure(hr, "Failed to add \"%ls\" to the prerequisite package dictionary.", pPrereqPackage->sczPackageId);
2044 + HRESULT InitializePrerequisiteInformation()
2045 + {
2046 + HRESULT hr = S_OK;
2047 + BAL_INFO_PACKAGE* pPackage = NULL;
2048
2041 - hr = XmlGetAttributeEx(pNode, L"LicenseFile", &scz);
2042 - if (E_NOTFOUND != hr)
2049 + for (DWORD i = 0; i < m_Bundle.packages.cPackages; ++i)
2050 + {
2051 + pPackage = &m_Bundle.packages.rgPackages[i];
2052 + if (!pPackage->fPrereqPackage)
2053 {
2044 - BalExitOnFailure(hr, "Failed to get @LicenseFile.");
2054 + continue;
2055 + }
2056
2057 + if (pPackage->sczPrereqLicenseFile)
2058 + {
2059 if (m_sczLicenseFile)
2060 {
2061 hr = HRESULT_FROM_WIN32(ERROR_INVALID_DATA);
2062 BalExitOnFailure(hr, "More than one license file specified in prerequisite info.");
2063 }
2064
2052 - m_sczLicenseFile = scz;
2053 - scz = NULL;
2065 + hr = StrAllocString(&m_sczLicenseFile, pPackage->sczPrereqLicenseFile, 0);
2066 + BalExitOnFailure(hr, "Failed to copy license file location from prereq package.");
2067 }
2068
2056 - hr = XmlGetAttributeEx(pNode, L"LicenseUrl", &scz);
2057 - if (E_NOTFOUND != hr)
2069 + if (pPackage->sczPrereqLicenseUrl)
2070 {
2059 - BalExitOnFailure(hr, "Failed to get @LicenseUrl.");
2060 -
2071 if (m_sczLicenseUrl)
2072 {
2073 hr = HRESULT_FROM_WIN32(ERROR_INVALID_DATA);
2074 BalExitOnFailure(hr, "More than one license URL specified in prerequisite info.");
2075 }
2076
2067 - m_sczLicenseUrl = scz;
2068 - scz = NULL;
2077 + hr = StrAllocString(&m_sczLicenseUrl, pPackage->sczPrereqLicenseUrl, 0);
2078 + BalExitOnFailure(hr, "Failed to copy license URL from prereq package.");
2079 }
2070 -
2071 - // Prepare next iteration.
2072 - ReleaseNullObject(pNode);
2080 }
2081
2082 LExit:
2076 - ReleaseObject(pNode);
2077 - ReleaseObject(pNodes);
2078 - ReleaseStr(scz);
2083 return hr;
2084 }
2085
@@ -2182,37 +2186,31 @@ private: // privates
2186 return hr;
2187 }
2188
2185 - HRESULT GetPrereqPackage(
2189 + HRESULT GetPackageInfo(
2190 __in_z LPCWSTR wzPackageId,
2187 - __out WIXSTDBA_PREREQ_PACKAGE** ppPrereqPackage,
2191 + __out WIXSTDBA_PACKAGE_INFO** ppPackageInfo,
2192 __out BAL_INFO_PACKAGE** ppPackage
2193 )
2194 {
2195 HRESULT hr = E_NOTFOUND;
2192 - WIXSTDBA_PREREQ_PACKAGE* pPrereqPackage = NULL;
2196 + WIXSTDBA_PACKAGE_INFO* pPackageInfo = NULL;
2197 BAL_INFO_PACKAGE* pPackage = NULL;
2198
2199 Assert(wzPackageId && *wzPackageId);
2200 Assert(ppPackage);
2197 - Assert(ppPrereqPackage);
2201 + Assert(ppPackageInfo);
2202
2199 - if (m_shPrereqSupportPackages)
2203 + hr = BalInfoFindPackageById(&m_Bundle.packages, wzPackageId, &pPackage);
2204 + if (E_NOTFOUND != hr)
2205 {
2201 - hr = DictGetValue(m_shPrereqSupportPackages, wzPackageId, reinterpret_cast<void **>(&pPrereqPackage));
2202 - if (E_NOTFOUND != hr)
2203 - {
2204 - ExitOnFailure(hr, "Failed to check the dictionary of prerequisite packages.");
2206 + ExitOnFailure(hr, "Failed trying to find the requested package.");
2207
2206 - // Ignore error.
2207 - BalInfoFindPackageById(&m_Bundle.packages, wzPackageId, &pPackage);
2208 - }
2208 + pPackageInfo = reinterpret_cast<WIXSTDBA_PACKAGE_INFO*>(pPackage->pvCustomData);
2209 }
2210
2211 - if (pPrereqPackage)
2212 - {
2213 - *ppPrereqPackage = pPrereqPackage;
2214 - *ppPackage = pPackage;
2215 - }
2211 + *ppPackageInfo = pPackageInfo;
2212 + *ppPackage = pPackage;
2213 +
2214 LExit:
2215 return hr;
2216 }
@@ -3636,9 +3634,6 @@ public:
3634 m_fSupportCacheOnly = FALSE;
3635
3636 m_sdOverridableVariables = NULL;
3639 - m_shPrereqSupportPackages = NULL;
3640 - m_rgPrereqPackages = NULL;
3641 - m_cPrereqPackages = 0;
3637 m_pTaskbarList = NULL;
3638 m_uTaskbarButtonCreatedMessage = UINT_MAX;
3639 m_fTaskbarButtonOK = FALSE;
@@ -3667,11 +3662,14 @@ public:
3662 AssertSz(!::IsWindow(m_hWnd), "Window should have been destroyed before destructor.");
3663 AssertSz(!m_pTheme, "Theme should have been released before destructor.");
3664
3665 + for (DWORD i = 0; i < m_Bundle.packages.cPackages; ++i)
3666 + {
3667 + ReleaseMem(m_Bundle.packages.rgPackages[i].pvCustomData);
3668 + }
3669 +
3670 ::DeleteCriticalSection(&m_csShowingInternalUiThisPackage);
3671 ReleaseObject(m_pTaskbarList);
3672 ReleaseDict(m_sdOverridableVariables);
3673 - ReleaseDict(m_shPrereqSupportPackages);
3674 - ReleaseMem(m_rgPrereqPackages);
3673 ReleaseStr(m_sczFailedMessage);
3674 ReleaseStr(m_sczConfirmCloseMessage);
3675 BalConditionsUninitialize(&m_Conditions);
@@ -3739,10 +3737,6 @@ private:
3737
3738 STRINGDICT_HANDLE m_sdOverridableVariables;
3739
3742 - WIXSTDBA_PREREQ_PACKAGE* m_rgPrereqPackages;
3743 - DWORD m_cPrereqPackages;
3744 - STRINGDICT_HANDLE m_shPrereqSupportPackages;
3745 -
3740 BOOL m_fPrereq;
3741 BOOL m_fPrereqInstalled;
3742 BOOL m_fPrereqAlreadyInstalled;
src/wixstdba/packages.config
+3 -3
@@ -1,7 +1,7 @@
1 <?xml version="1.0" encoding="utf-8"?>
2 <packages>
3 <package id="Nerdbank.GitVersioning" version="2.1.65" targetFramework="native" developmentDependency="true" />
4 - <package id="WixToolset.BootstrapperCore.Native" version="4.0.15" targetFramework="native" />
5 - <package id="WixToolset.BalUtil" version="4.0.19" targetFramework="native" />
6 - <package id="WixToolset.DUtil" version="4.0.18" targetFramework="native" />
4 + <package id="WixToolset.BootstrapperCore.Native" version="4.0.16" targetFramework="native" />
5 + <package id="WixToolset.BalUtil" version="4.0.22" targetFramework="native" />
6 + <package id="WixToolset.DUtil" version="4.0.23" targetFramework="native" />
7 </packages>
\ No newline at end of file
src/wixstdba/wixstdba.mc
+7
@@ -71,3 +71,10 @@ Language=English
71 WIXSTDBA: Planned MSI feature: %2!ls! for %1!ls!, wixstdba requested: %3!hs!, bafunctions requested: %4!hs!
72 .
73
74 +MessageId=7
75 +Severity=Success
76 +SymbolicName=MSG_WIXSTDBA_PLANNED_MSI_PACKAGE
77 +Language=English
78 +WIXSTDBA: Planned MSI package: %1!ls!, wixstdba requested: actionMsiProperty=%2!d!;uiLevel=%3!d!;disableExternalUiHandler=%4!hs!, bafunctions requested: actionMsiProperty=%5!d!;uiLevel=%6!d!;disableExternalUiHandler=%7!hs!
79 +.
80 +
src/wixstdba/wixstdba.vcxproj
+6 -6
@@ -2,9 +2,9 @@
2 <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4 <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5 - <Import Project="..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props" Condition="Exists('..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props')" />
6 - <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props')" />
7 - <Import Project="..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" />
5 + <Import Project="..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props" Condition="Exists('..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props')" />
6 + <Import Project="..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props" Condition="Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" />
7 + <Import Project="..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" />
8
9 <ItemGroup Label="ProjectConfigurations">
10 <ProjectConfiguration Include="Debug|Win32">
@@ -107,9 +107,9 @@ rc.exe -fo "$(OutDir)wixstdba.res" "$(IntDir)wixstdba.messages.rc"</Command>
107 <PropertyGroup>
108 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
109 </PropertyGroup>
110 - <Error Condition="!Exists('..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BalUtil.4.0.19\build\WixToolset.BalUtil.props'))" />
111 - <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.15\build\WixToolset.BootstrapperCore.Native.props'))" />
112 - <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.18\build\WixToolset.DUtil.props'))" />
110 + <Error Condition="!Exists('..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BalUtil.4.0.22\build\WixToolset.BalUtil.props'))" />
111 + <Error Condition="!Exists('..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.BootstrapperCore.Native.4.0.16\build\WixToolset.BootstrapperCore.Native.props'))" />
112 + <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.23\build\WixToolset.DUtil.props'))" />
113 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" />
114 </Target>
115 </Project>