diff --git a/.github/instructions/e2e-test-setup-parameters.instructions.md b/.github/instructions/e2e-test-setup-parameters.instructions.md
new file mode 100644
index 0000000000..d15bb4f060
--- /dev/null
+++ b/.github/instructions/e2e-test-setup-parameters.instructions.md
@@ -0,0 +1,10 @@
+---
+applyTo: "src/AppInstallerCLIE2ETests/Helpers/TestSetup.cs"
+---
+
+# E2E test setup parameter documentation
+
+When adding a new test parameter in `src/AppInstallerCLIE2ETests/Helpers/TestSetup.cs`, also update:
+
+- `src/AppInstallerCLIE2ETests/README.md` to document that parameter.
+- `src/AppInstallerCLIE2ETests/Test.runsettings` to keep default run parameters and parameter names in sync.
diff --git a/.gitignore b/.gitignore
index de37448c2f..888f81ee06 100644
--- a/.gitignore
+++ b/.gitignore
@@ -288,6 +288,10 @@ node_modules/
**/*.Server/ModelManifest.xml
_Pvt_Extensions
+# Local E2E test settings (developer-specific), keep the example one tracked
+*.runsettings
+!src/AppInstallerCLIE2ETests/Test.runsettings
+
# Paket dependency manager
.paket/paket.exe
paket-files/
diff --git a/src/AppInstallerCLIE2ETests/README.md b/src/AppInstallerCLIE2ETests/README.md
index a4d5467440..7ad7946f41 100644
--- a/src/AppInstallerCLIE2ETests/README.md
+++ b/src/AppInstallerCLIE2ETests/README.md
@@ -20,9 +20,14 @@ If your tests uses the test source see the [LocalhostWebServer](#LocalhostWebSer
| MsixTestInstallerPath | The MSIX (or APPX) Installer executable under test. |
| ExeTestInstallerPath |The Exe Installer executable under test. |
| MsiTestInstallerPath | The MSI Installer executable under test. |
+| MsiTestInstallerV2Path | The v2 MSI Installer executable under test. |
+| FontTestPath | The test font file used by font package scenarios. |
| PackageCertificatePath | Signing Certificate Path used to certify test index source package |
| PowerShellModulePath | Path to the PowerShell module manifest file under test |
-| PowerShellModulePath | The local server cert file |
+| LocalServerCertPath | The local server cert file. |
+| InprocTestbedPath | Path to the ComInprocTestbed executable used by in-proc COM tests. |
+| InprocTestbedUseTestPackage | Bool to indicate whether in-proc COM tests should target the test package. |
+| ForcedExperimentalFeatures | Pipe-separated list of experimental features to force-enable during test setup. |
| SkipTestSource | I solemnly swear the test won't use the local test source or the source is already set up. |
#### Example of Test.runsettings with completed parameters:
@@ -38,8 +43,15 @@ Assuming you clone winget-cli in c:\dev, the localhost web server is running in
+
+
+
+
+
+
+
diff --git a/src/AppInstallerCLIE2ETests/Test.runsettings b/src/AppInstallerCLIE2ETests/Test.runsettings
index bbdc7f7163..445abf9128 100644
--- a/src/AppInstallerCLIE2ETests/Test.runsettings
+++ b/src/AppInstallerCLIE2ETests/Test.runsettings
@@ -20,7 +20,11 @@
ExeTestInstallerPath: The Exe Installer executable under test.
PackageCertificatePath: Signing Certificate Path used to certify Index Source Package.
PowerShellModulePath: Path to the PowerShell module manifest file under test.
- LocalServerCertPathParameter: The cert used for the local server.
+ LocalServerCertPath: The cert used for the local server.
+ MsiTestInstallerV2Path: The v2 MSI Installer executable under test.
+ InprocTestbedPath: Path to the ComInprocTestbed executable used by in-proc COM tests.
+ InprocTestbedUseTestPackage: Bool to indicate whether in-proc COM tests should target the test package.
+ ForcedExperimentalFeatures: Pipe-separated list of experimental features to force-enable during test setup.
SkipTestSource: I solemnly swear the test won't use the local test source or the source is already set up.
-->
@@ -35,9 +39,13 @@
+
-
+
+
+
+