From c0f1ac8a17e6866a80fe5770da679bb952f0c890 Mon Sep 17 00:00:00 2001
From: Bob Arnson <bob@firegiant.com>
Date: Wed, 3 Apr 2024 18:07:08 -0400
Subject: [PATCH] NuGet package readmes (4/n)

See https://github.com/wixtoolset/issues/issues/7862.
---
 src/ext/Bal/wixext/README.md                         |  7 +++++++
 ...WixToolset.BootstrapperApplications.wixext.csproj |  5 +++++
 src/ext/Bal/wixstdfn/README.md                       | 11 +++++++++++
 src/ext/Bal/wixstdfn/wixstdfn.nuspec                 |  2 ++
 src/wix/WixToolset.Sdk/README.md                     | 12 ++++++++++++
 src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj         |  5 +++++
 src/wix/pack-wix/README.md                           |  7 +++++++
 src/wix/pack-wix/pack-wix.csproj                     |  5 +++++
 8 files changed, 54 insertions(+)
 create mode 100644 src/ext/Bal/wixext/README.md
 create mode 100644 src/ext/Bal/wixstdfn/README.md
 create mode 100644 src/wix/WixToolset.Sdk/README.md
 create mode 100644 src/wix/pack-wix/README.md

diff --git a/src/ext/Bal/wixext/README.md b/src/ext/Bal/wixext/README.md
new file mode 100644
index 000000000..a986cb0ee
--- /dev/null
+++ b/src/ext/Bal/wixext/README.md
@@ -0,0 +1,7 @@
+# WixToolset.BootstrapperApplications
+
+WixToolset.BootstrapperApplications is a WiX extension that provides the WiX bootstrapper applications:
+
+- WixStdBA ([WixStandardBootstrapperApplication](https://wixtoolset.org/docs/schema/bal/wixstandardbootstrapperapplication/)), a bootstrapper application with support for custom themes
+- WixIuiBA ([WixInternalUIBootstrapperApplication](https://wixtoolset.org/docs/schema/bal/wixinternaluibootstrapperapplication/)), a bootstrapper application for showing internal UI of Windows Installer packages
+- WixPreqBA ([WixPrerequisiteBootstrapperApplication](https://wixtoolset.org/docs/schema/bal/wixprerequisitebootstrapperapplication/)), a secondary bootstrapper application for bootstrapping the prerequisites needed for a primary bootstrapper application
diff --git a/src/ext/Bal/wixext/WixToolset.BootstrapperApplications.wixext.csproj b/src/ext/Bal/wixext/WixToolset.BootstrapperApplications.wixext.csproj
index 3dd8d306e..de32ff4d0 100644
--- a/src/ext/Bal/wixext/WixToolset.BootstrapperApplications.wixext.csproj
+++ b/src/ext/Bal/wixext/WixToolset.BootstrapperApplications.wixext.csproj
@@ -7,6 +7,7 @@
     <RootNamespace>WixToolset.BootstrapperApplications</RootNamespace>
     <Description>WiX Toolset BootstrapperApplications extension</Description>
     <Title>WiX Toolset BootstrapperApplications extension</Title>
+    <PackageReadmeFile>README.md</PackageReadmeFile>
     <DebugType>embedded</DebugType>
   </PropertyGroup>
 
@@ -16,6 +17,10 @@
     <EmbeddedResource Include="$(OutputPath)..\bas.wixlib" />
   </ItemGroup>
 
+  <ItemGroup>
+    <None Include="README.md" Pack="true" PackagePath="\" />
+  </ItemGroup>
+
   <ItemGroup Condition=" '$(NCrunch)'=='' ">
     <ProjectReference Include="..\wixlib\bas.wixproj" ReferenceOutputAssembly="false" SkipGetTargetFrameworkProperties="true" />
   </ItemGroup>
diff --git a/src/ext/Bal/wixstdfn/README.md b/src/ext/Bal/wixstdfn/README.md
new file mode 100644
index 000000000..0977ff428
--- /dev/null
+++ b/src/ext/Bal/wixstdfn/README.md
@@ -0,0 +1,11 @@
+# WixToolset.WixStandardBootstrapperApplicationFunctionApi
+
+WixToolset.WixStandardBootstrapperApplicationFunctionApi contains the SDK for building **BAFunctions** extensions for WixStdBA, the WiX Standard Bootstrapper Application for Burn bootstrapper bundles.
+
+BAFunctions are native-code DLLs (typically written in C++) that let you supplement the behavior of WixStdBA, rather than writing an entirely new BA to tweak existing BA behavior.
+
+## Sources
+https://github.com/wixtoolset/wix/tree/HEAD/src/ext/Bal/wixstdfn
+
+## Samples
+https://github.com/wixtoolset/wix/tree/HEAD/src/ext/Bal/Samples/bafunctions
diff --git a/src/ext/Bal/wixstdfn/wixstdfn.nuspec b/src/ext/Bal/wixstdfn/wixstdfn.nuspec
index 46a5de8c8..1924431ee 100644
--- a/src/ext/Bal/wixstdfn/wixstdfn.nuspec
+++ b/src/ext/Bal/wixstdfn/wixstdfn.nuspec
@@ -12,6 +12,7 @@
     <copyright>$copyright$</copyright>
     <projectUrl>$projectUrl$</projectUrl>
     <repository type="$repositorytype$" url="$repositoryurl$" commit="$repositorycommit$" />
+    <readme>README.md</readme>
     <dependencies>
       <group targetFramework="Native">
         <dependency id="WixToolset.BootstrapperApplicationApi" version="[$version$,6)" />
@@ -21,6 +22,7 @@
   </metadata>
 
   <files>
+    <file src="$projectFolder$\README.md" />
     <file src="$projectFolder$\build\$id$.props" target="build\" />
     <file src="$projectFolder$\..\..\..\internal\images\wix.png" />
     <file src="$projectFolder$\inc\*" target="lib\native\include" />
diff --git a/src/wix/WixToolset.Sdk/README.md b/src/wix/WixToolset.Sdk/README.md
new file mode 100644
index 000000000..6b139d9cb
--- /dev/null
+++ b/src/wix/WixToolset.Sdk/README.md
@@ -0,0 +1,12 @@
+# WixToolset.Sdk
+
+The `WixToolset.Sdk` package provides the WiX Toolset as an MSBuild SDK for both .NET (v6 or later) and .NET Framework (v4.7.2 or later). SDK-style projects have smart defaults that make for simple .wixproj project authoring. For example, here's a minimal .wixproj that builds an MSI from the .wxs source files in the project directory:
+
+```xml
+<Project Sdk="WixToolset.Sdk/5.0.0">
+</Project>
+```
+
+For more information about WiX as an MSBuild SDK, see https://wixtoolset.org/docs/intro/#msbuild.
+
+For more information about WiX targets, properties, and items, see https://wixtoolset.org/docs/tools/msbuild/.
diff --git a/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj b/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj
index 46ff4d808..2f9b33fda 100644
--- a/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj
+++ b/src/wix/WixToolset.Sdk/WixToolset.Sdk.csproj
@@ -5,11 +5,16 @@
   <PropertyGroup>
     <TargetFramework>net6.0</TargetFramework>
     <Description>WiX Toolset MSBuild integration</Description>
+    <PackageReadmeFile>README.md</PackageReadmeFile>
     <PublishDir>$(PublishRoot)WixToolset.Sdk\</PublishDir>
     <NuspecFile>$(MSBuildThisFileName).nuspec</NuspecFile>
     <NuspecBasePath>$(PublishDir)</NuspecBasePath>
   </PropertyGroup>
 
+  <ItemGroup>
+    <None Include="README.md" Pack="true" PackagePath="\" />
+  </ItemGroup>
+
   <ItemGroup>
     <Content Include="build\$(MSBuildThisFileName).targets" CopyToOutputDirectory="PreserveNewest" />
     <Content Include="tools\WixToolset.Signing.props" CopyToOutputDirectory="PreserveNewest" />
diff --git a/src/wix/pack-wix/README.md b/src/wix/pack-wix/README.md
new file mode 100644
index 000000000..95ac7c820
--- /dev/null
+++ b/src/wix/pack-wix/README.md
@@ -0,0 +1,7 @@
+# wix
+
+The `wix` package provides the WiX Toolset as a .NET Tool, perfect for your command-line packaging pleasure. Version 6 or later of the .NET SDK is required.
+
+To install WiX as a .NET tool or upgrade to a later version, see https://wixtoolset.org/docs/intro/#nettool.
+
+To read about available commands and switches, see https://wixtoolset.org/docs/tools/wixexe/.
diff --git a/src/wix/pack-wix/pack-wix.csproj b/src/wix/pack-wix/pack-wix.csproj
index 092145f60..0a8dc89ca 100644
--- a/src/wix/pack-wix/pack-wix.csproj
+++ b/src/wix/pack-wix/pack-wix.csproj
@@ -7,7 +7,12 @@
     <IncludeBuildOutput>false</IncludeBuildOutput>
     <Title>The WiX Toolset command-line interface.</Title>
     <Description>The WiX Toolset lets developers create installers for Windows. This package contains the WiX Toolset command-line interface.</Description>
+    <PackageReadmeFile>README.md</PackageReadmeFile>
     <PackageId>wix</PackageId>
     <NuspecBasePath>$(OutputPath)publish\wix\</NuspecBasePath>
   </PropertyGroup>
+
+  <ItemGroup>
+    <None Include="README.md" Pack="true" PackagePath="\" />
+  </ItemGroup>
 </Project>