diff --git a/docs/InstallEbpf.md b/docs/InstallEbpf.md
index fe3fd4f0e8..b23a91d8bb 100644
--- a/docs/InstallEbpf.md
+++ b/docs/InstallEbpf.md
@@ -37,6 +37,15 @@ An **command line install/uninstall** is also supported, through the direct use
ADDLOCAL=eBPF_Runtime_Components,eBPF_Runtime_Components_JIT
```
+* The installer stops if an `eBPFCore` service is already registered. To replace existing eBPF services, pass
+ `FORCE=1`. This stops `NetEbpfExt`, `eBPFSvc`, and `eBPFCore`, then points
+ the driver services at the drivers installed under `INSTALLFOLDER`. The installation fails if a service cannot
+ be stopped.
+
+ ```bash
+ C:\Windows\system32\msiexec.exe /i eBPF-for-Windows.x.x.x.msi FORCE=1
+ ```
+
Below are some examples of CLI installations/uninstallation, using "`C:\Program Files\ebpf-for-windows`" as the installation folder:
* Installation:
diff --git a/installer/Product.wxs b/installer/Product.wxs
index 9617b8f31a..d0382398ea 100644
--- a/installer/Product.wxs
+++ b/installer/Product.wxs
@@ -18,9 +18,25 @@ SPDX-License-Identifier: MIT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Installed OR NOT EXISTING_EBPFCORE OR FORCE = "1"
+
@@ -36,13 +52,19 @@ SPDX-License-Identifier: MIT
NOT Installed
- NOT Installed
- NOT Installed
+ NOT Installed AND EXISTING_EBPFCORE AND FORCE = "1"
+ NOT Installed AND NOT EXISTING_EBPFCORE
+ NOT Installed AND NOT EXISTING_EBPFCORE
- NOT Installed
- NOT Installed
+ NOT Installed AND EXISTING_NETEBPFEXT AND FORCE = "1"
+ NOT Installed AND NOT EXISTING_NETEBPFEXT
+ NOT Installed AND NOT EXISTING_NETEBPFEXT
+ NOT Installed AND EXISTING_EBPFCORE AND FORCE = "1"
+ NOT Installed AND EXISTING_EBPFCORE AND FORCE = "1"
+ NOT Installed AND EXISTING_EBPFCORE AND FORCE = "1"
+
NOT Installed
NOT Installed
NOT Installed
@@ -50,11 +72,13 @@ SPDX-License-Identifier: MIT
NOT Installed
- NOT Installed
- NOT Installed
+ NOT Installed AND NOT EXISTING_EBPFCORE
+ NOT Installed AND EXISTING_EBPFCORE AND FORCE = "1"
+ NOT Installed
- NOT Installed
- NOT Installed
+ NOT Installed AND NOT EXISTING_NETEBPFEXT
+ NOT Installed AND EXISTING_NETEBPFEXT AND FORCE = "1"
+ NOT Installed
REMOVE="ALL"
@@ -203,8 +227,18 @@ SPDX-License-Identifier: MIT
+
+
+
+
+
+
+
+
+
+
@@ -232,6 +266,10 @@ SPDX-License-Identifier: MIT
+
+
+
+