From 0dc76cce4f1019be8a4fd281855863993417d148 Mon Sep 17 00:00:00 2001 From: Hasso <4933670+papeh@users.noreply.github.com> Date: Wed, 23 Sep 2026 15:27:52 -0500 Subject: [PATCH 1/4] Update WiX 3 instructions in ReadMe * Correct version to 3.11 (matches CD) * Correct location to %WIX%\bin (as expected by PatchableInstaller\BaseInstallerBuild\setVars.bat) * List only one tool, heat (the list was missing pyro and needn't be exhaustive) --- ReadMe.md | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/ReadMe.md b/ReadMe.md index f6346635d0..ee999c8b8c 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -43,19 +43,12 @@ You can tag lock ownership for diagnostics with `FW_BUILD_STARTED_BY=user|agent` ## Building Installers (WiX 3 default, WiX 6 opt-in) -Installer builds default to **WiX 3** (legacy batch pipeline) using inputs in `FLExInstaller/` and `PatchableInstaller/`. The **Visual Studio WiX Toolset v3 extension** is required so `Wix.CA.targets` is available under the MSBuild extensions path. Use `-InstallerToolset Wix6` to opt into the WiX 6 SDK-style path (restored via NuGet). +Installer builds default to **WiX 3** (legacy batch pipeline) using inputs in `FLExInstaller/` and `PatchableInstaller/`. Use `-InstallerToolset Wix6` to opt into the WiX 6 SDK-style path (restored via NuGet; no setup required). -### WiX 3.14 setup (required for WiX 3 installer builds) +### WiX 3.11 setup (required for WiX 3 installer builds) -We expect the WiX 3.14 toolset to be installed under: - -- `%LOCALAPPDATA%\FieldWorksTools\Wix314` - -Required: - -- Ensure `candle.exe`, `light.exe`, `heat.exe`, and `insignia.exe` are available. The WiX 3.14 tools are in the **root** of that folder (not a `bin` subfolder). -- Set the `WIX` environment variable to the toolset root (e.g., `%LOCALAPPDATA%\FieldWorksTools\Wix314`). -- Add the toolset root to `PATH` (or rerun `Setup-Developer-Machine.ps1` to do it for you). +WiX 3.11 may be installable with Chocolatey. +- Ensure tools (`heat.exe` etc.) are available in `%WIX%\bin` or on the PATH. - Install the **Visual Studio WiX Toolset v3 extension** so `Wix.CA.targets` is available to MSBuild. ### Running installer builds From 8237c900ed933ece27d017ff06f4dc3601359c7b Mon Sep 17 00:00:00 2001 From: Hasso <4933670+papeh@users.noreply.github.com> Date: Wed, 23 Sep 2026 15:52:30 -0500 Subject: [PATCH 2/4] Clarify installation responsibility in Setup-Developer-Machine.ps1 --- Docs/installer-build-guide.md | 2 +- ReadMe.md | 5 ++++- Setup-Developer-Machine.ps1 | 5 ++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Docs/installer-build-guide.md b/Docs/installer-build-guide.md index 33d7a1f127..1c3ac39c94 100644 --- a/Docs/installer-build-guide.md +++ b/Docs/installer-build-guide.md @@ -21,7 +21,7 @@ Use the installer setup script to validate your environment: ### Required Software 1. **Visual Studio 2026 or 2022** with Desktop workloads (C++ and .NET). Official installers are produced from Visual Studio 2022 (v143) builds; a v145 build gets a warning because the bundled VC++ redistributables predate that toolset. -2. **WiX Toolset v3.14** for the legacy WiX 3 build (default), plus the **Visual Studio WiX Toolset v3 extension** so `Wix.CA.targets` is available under MSBuild +2. **WiX Toolset v3.11** for the legacy WiX 3 build (default), plus the **Visual Studio WiX Toolset v3 extension** so `Wix.CA.targets` is available under MSBuild 3. **WiX Toolset v6** via `WixToolset.Sdk` for the opt-in WiX 6 build (restored via NuGet as part of the build) 4. **MSBuild** (included with Visual Studio) 5. **.NET Framework 4.8 SDK** (included with Visual Studio) diff --git a/ReadMe.md b/ReadMe.md index ee999c8b8c..4f21908826 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -47,7 +47,10 @@ Installer builds default to **WiX 3** (legacy batch pipeline) using inputs in `F ### WiX 3.11 setup (required for WiX 3 installer builds) -WiX 3.11 may be installable with Chocolatey. +WiX 3.11 can be installed with Chocolatey: +``` +choco install wixtoolset --version 3.11.2 +``` - Ensure tools (`heat.exe` etc.) are available in `%WIX%\bin` or on the PATH. - Install the **Visual Studio WiX Toolset v3 extension** so `Wix.CA.targets` is available to MSBuild. diff --git a/Setup-Developer-Machine.ps1 b/Setup-Developer-Machine.ps1 index 42872f1500..061b125dd9 100644 --- a/Setup-Developer-Machine.ps1 +++ b/Setup-Developer-Machine.ps1 @@ -92,9 +92,8 @@ if (-not (Test-Path $toolsBase)) { # Check what's already installed # WiX Toolset -# This worktree builds installers with WiX v6 via NuGet PackageReference (restored during build). -# No separate WiX 3.x installation (candle/light) is required. -Write-Host "[INFO] WiX Toolset v6 is restored via NuGet during build (no WiX 3 install needed)" -ForegroundColor Gray +Write-Host "[INFO] WiX Toolset v6 is restored via NuGet during build." -ForegroundColor Gray +Write-Host "[INFO] WiX Toolset v3 installation is your responsilbility." -ForegroundColor Yellow # Note: Serena MCP language servers auto-download on first use: # - C# (csharp): Microsoft.CodeAnalysis.LanguageServer (Roslyn) from Azure NuGet From 8a0a3a049de346775379efd72b60169836ce9964 Mon Sep 17 00:00:00 2001 From: Hasso <4933670+papeh@users.noreply.github.com> Date: Wed, 23 Sep 2026 16:21:03 -0500 Subject: [PATCH 3/4] In installer-build-guide, clarify what Setup-Developer-Machine does --- Docs/installer-build-guide.md | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/Docs/installer-build-guide.md b/Docs/installer-build-guide.md index 1c3ac39c94..e6f4702803 100644 --- a/Docs/installer-build-guide.md +++ b/Docs/installer-build-guide.md @@ -21,26 +21,20 @@ Use the installer setup script to validate your environment: ### Required Software 1. **Visual Studio 2026 or 2022** with Desktop workloads (C++ and .NET). Official installers are produced from Visual Studio 2022 (v143) builds; a v145 build gets a warning because the bundled VC++ redistributables predate that toolset. -2. **WiX Toolset v3.11** for the legacy WiX 3 build (default), plus the **Visual Studio WiX Toolset v3 extension** so `Wix.CA.targets` is available under MSBuild +2. **WiX Toolset v3.11** for the legacy WiX 3 build (default), plus the **Visual Studio WiX Toolset v3 extension** so `Wix.CA.targets` is available under MSBuild (see [ReadMe](../ReadMe.md) for instructions) 3. **WiX Toolset v6** via `WixToolset.Sdk` for the opt-in WiX 6 build (restored via NuGet as part of the build) 4. **MSBuild** (included with Visual Studio) 5. **.NET Framework 4.8 SDK** (included with Visual Studio) ### One-Time Setup -Run the developer machine setup script to install WiX and configure your environment: +Run the developer machine setup script to clone additional repositories: ```powershell -# Install WiX and configure PATH/environment variables (including WiX 3 VS extension) -.\Setup-Developer-Machine.ps1 - -# Also clone installer helper repositories .\Setup-Developer-Machine.ps1 -InstallerDeps ``` -### Repository Setup - -If not using `Setup-Developer-Machine.ps1 -InstallerDeps`, clone manually: +Alternatively, clone manually: ```powershell # Clone main repository @@ -50,6 +44,7 @@ cd fieldworks # Clone required helper repositories git clone https://github.com/sillsdev/FwHelps.git DistFiles/Helps git clone https://github.com/sillsdev/FwLocalizations.git Localizations +git clone https://github.com/sillsdev/genericinstaller.git PatchableInstaller git clone https://github.com/sillsdev/liblcm.git Localizations/LCMRepo ``` From 4958bdd9846c543c9b11bec29280ac94984df3d5 Mon Sep 17 00:00:00 2001 From: Hasso <4933670+papeh@users.noreply.github.com> Date: Wed, 23 Sep 2026 16:21:54 -0500 Subject: [PATCH 4/4] Remove the do-nothing Tool Installation region from Setup-Dev-Machine --- Setup-Developer-Machine.ps1 | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/Setup-Developer-Machine.ps1 b/Setup-Developer-Machine.ps1 index 061b125dd9..dddccce4e3 100644 --- a/Setup-Developer-Machine.ps1 +++ b/Setup-Developer-Machine.ps1 @@ -79,36 +79,15 @@ if (-not $SkipVSCheck) { #endregion -#region Tool Installation - -Write-Host "`n--- Installing Development Tools ---" -ForegroundColor Yellow - -# Determine install locations (use standard paths, not C:\ root for dev machines) -$toolsBase = "$env:LOCALAPPDATA\FieldWorksTools" -if (-not (Test-Path $toolsBase)) { - New-Item -ItemType Directory -Path $toolsBase -Force | Out-Null -} - -# Check what's already installed - -# WiX Toolset -Write-Host "[INFO] WiX Toolset v6 is restored via NuGet during build." -ForegroundColor Gray -Write-Host "[INFO] WiX Toolset v3 installation is your responsilbility." -ForegroundColor Yellow - -# Note: Serena MCP language servers auto-download on first use: -# - C# (csharp): Microsoft.CodeAnalysis.LanguageServer (Roslyn) from Azure NuGet -# - C++ (cpp): clangd from GitHub releases -# No manual installation needed! -Write-Host "" -Write-Host "[INFO] Serena language servers (C# Roslyn, clangd) auto-download on first use" -ForegroundColor Gray - -#endregion - #region Installer Dependencies (Optional) if ($InstallerDeps) { Write-Host "`n--- Setting Up Installer Dependencies ---" -ForegroundColor Yellow + # WiX Toolset + Write-Host "[INFO] WiX Toolset v6 is restored via NuGet during build." -ForegroundColor Gray + Write-Host "[INFO] WiX Toolset v3 installation is your responsibility." -ForegroundColor Yellow + # Detect if we're in a git worktree $gitDir = git rev-parse --git-dir 2>$null $isWorktree = $gitDir -and (Test-Path "$gitDir/commondir")