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 + + + +