299 строки
21 KiB
XML
299 строки
21 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
Copyright (c) eBPF for Windows contributors
|
|
SPDX-License-Identifier: MIT
|
|
-->
|
|
<?define ProductVersion="022C44B5-8969-4B75-8DB0-73F98B1BD7DC"?>
|
|
<?define UpgradeCode="B6BCACB1-C872-4159-ABCB-43A50668056C"?>
|
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:ui="http://schemas.microsoft.com/wix/UIExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
|
<Product Id="$(var.ProductVersion)" Name="eBPF for Windows" Language="1033" Version="$(var.EbpfVersion)" Manufacturer="Microsoft" UpgradeCode="$(var.UpgradeCode)">
|
|
<Package Description="eBPF for Windows" InstallerVersion="301" Compressed="yes" InstallScope="perMachine" Manufacturer="Microsoft" Platform="x64" />
|
|
<MajorUpgrade AllowSameVersionUpgrades="yes"
|
|
Disallow="yes" DisallowUpgradeErrorMessage="An older version of [ProductName] is already installed. Please remove it first."
|
|
AllowDowngrades="no" DowngradeErrorMessage="A newer version of [ProductName] is already installed. Please remove it first." Schedule="afterInstallFinalize" />
|
|
<MediaTemplate EmbedCab="yes" />
|
|
|
|
<!-- Define global properties -->
|
|
<PropertyRef Id="WIX_ACCOUNT_LOCALSERVICE" />
|
|
<Property Id="ARPCONTACT" Value="opencode@microsoft.com" />
|
|
<Property Id="INSTALLFOLDER" Secure="yes">
|
|
<RegistrySearch Id="FindInstallLocation" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\[WIX_UPGRADE_DETECTED]" Name="InstallLocation" Type="raw" Win64="yes" />
|
|
</Property>
|
|
|
|
<!-- Define the Product features and installation steps -->
|
|
<Feature Id="ProductFeature" Title="eBPF for Windows Installer" ConfigurableDirectory="INSTALLFOLDER" Display="expand" Level="1" Absent="disallow" AllowAdvertise="no" InstallDefault="local" TypicalDefault="install" >
|
|
<Feature Id="eBPF_Runtime_Components" Level="1" Title="Runtime Components" Absent="disallow" Display="expand" AllowAdvertise="no" >
|
|
<ComponentGroupRef Id="eBPF_Runtime_Components" />
|
|
<ComponentGroupRef Id="eBPFCore_Driver" />
|
|
<ComponentGroupRef Id="NetEbpfExt_Driver" />
|
|
<?if $(var.IncludeJIT) = True ?>
|
|
<?if $(var.Configuration) = Debug ?>
|
|
<Feature Id="eBPF_Runtime_Components_JIT" Level="11" Title="JIT" Absent="allow" AllowAdvertise="no" >
|
|
<ComponentGroupRef Id="eBPF_Service" />
|
|
</Feature>
|
|
<?endif?>
|
|
<?if $(var.Configuration) = Release ?>
|
|
<Feature Id="eBPF_Runtime_Components_JIT" Level="11" Title="JIT" Absent="allow" AllowAdvertise="no" >
|
|
<ComponentGroupRef Id="eBPF_Service" />
|
|
</Feature>
|
|
<?endif?>
|
|
<?endif?>
|
|
<?if $(var.IncludeVCRedist) = True ?>
|
|
<Feature Id="VCRedist" Title="VC++ Redistributable" Level="11" Absent="disallow" AllowAdvertise="no" >
|
|
<ComponentGroupRef Id="VCRedist" />
|
|
</Feature>
|
|
<?endif?>
|
|
</Feature>
|
|
</Feature>
|
|
|
|
<InstallExecuteSequence>
|
|
<!--Rollback sequence-->
|
|
<Custom Action="eBPF_netsh_helper_uninstall_rollback" Before="eBPF_netsh_helper_install">NOT Installed</Custom>
|
|
|
|
<Custom Action="eBPFCore_Driver_stop_rollback" Before="eBPFCore_Driver_install">NOT Installed</Custom>
|
|
<Custom Action="eBPFCore_Driver_uninstall_rollback" Before="eBPFCore_Driver_install">NOT Installed</Custom>
|
|
|
|
<Custom Action="NetEbpfExt_Driver_stop_rollback" Before="NetEbpfExt_Driver_install">NOT Installed</Custom>
|
|
<Custom Action="NetEbpfExt_Driver_uninstall_rollback" Before="NetEbpfExt_Driver_install">NOT Installed</Custom>
|
|
|
|
<!--Install sequence-->
|
|
<Custom Action="Clear_eBPF_store_HKLM" After="InstallFiles">NOT Installed</Custom>
|
|
<Custom Action="Setup_eBPF_store_HKLM" After="Clear_eBPF_store_HKLM">NOT Installed</Custom>
|
|
<Custom Action="Clear_eBPF_store_HKCU" After="Setup_eBPF_store_HKLM">NOT Installed</Custom>
|
|
<Custom Action="Setup_eBPF_store_HKCU" After="Clear_eBPF_store_HKCU">NOT Installed</Custom>
|
|
|
|
<Custom Action="eBPF_netsh_helper_install" After="Setup_eBPF_store_HKCU">NOT Installed</Custom>
|
|
|
|
<Custom Action="eBPFCore_Driver_install" After="Setup_eBPF_store_HKCU">NOT Installed</Custom>
|
|
<Custom Action="eBPFCore_Driver_start" After="eBPFCore_Driver_install">NOT Installed</Custom>
|
|
|
|
<Custom Action="NetEbpfExt_Driver_install" After="Setup_eBPF_store_HKCU">NOT Installed</Custom>
|
|
<Custom Action="NetEbpfExt_Driver_start" After="NetEbpfExt_Driver_install">NOT Installed</Custom>
|
|
|
|
<!--Uninstall sequence-->
|
|
<Custom Action="eBPF_netsh_helper_uninstall" After="InstallInitialize">REMOVE="ALL"</Custom>
|
|
|
|
<Custom Action="eBPFCore_Driver_stop" After="InstallInitialize">REMOVE="ALL"</Custom>
|
|
<Custom Action="eBPFCore_Driver_uninstall" After="eBPFCore_Driver_stop">REMOVE="ALL"</Custom>
|
|
|
|
<Custom Action="NetEbpfExt_Driver_stop" After="InstallInitialize">REMOVE="ALL"</Custom>
|
|
<Custom Action="NetEbpfExt_Driver_uninstall" After="NetEbpfExt_Driver_stop">REMOVE="ALL"</Custom>
|
|
|
|
<Custom Action="Clear_eBPF_store_uninstall_HKLM" After="NetEbpfExt_Driver_uninstall">REMOVE="ALL"</Custom>
|
|
<Custom Action="Clear_eBPF_store_uninstall_HKCU" After="Clear_eBPF_store_uninstall_HKLM">REMOVE="ALL"</Custom>
|
|
<Custom Action="eBPFCore_Driver_uninstall_flush" After="InstallFinalize">REMOVE="ALL"</Custom>
|
|
</InstallExecuteSequence>
|
|
|
|
<!-- Define the UI style & behavior -->
|
|
<UIRef Id="WixUI_FeatureTree" />
|
|
<WixVariable Id="WixUILicenseRtf" Value="$(var.SolutionDir)installer\LICENSE.rtf" />
|
|
<WixVariable Id="WixUIBannerBmp" Value="res\eBPFBanner_493x58.bmp"/>
|
|
<WixVariable Id="WixUIDialogBmp" Value="res\eBPFDialog_493x312.bmp"/>
|
|
<CustomAction Id="SetWixInstallLocation" Property="ARPINSTALLLOCATION" Value="[INSTALLFOLDER]" />
|
|
<InstallUISequence>
|
|
<Custom Action="SetWixInstallLocation" After="CostFinalize" />
|
|
</InstallUISequence>
|
|
<UI />
|
|
</Product>
|
|
|
|
<!-- Define installation directories -->
|
|
<Fragment>
|
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
|
<Directory Id="ProgramFiles64Folder">
|
|
<Directory Id="INSTALLFOLDER" Name="ebpf-for-windows">
|
|
<?if $(var.IncludeJIT) = True ?>
|
|
<?if $(var.Configuration) = Debug OR $(var.Configuration) = Release?>
|
|
<Directory Id="dir_JIT" Name="JIT" />
|
|
<?endif?>
|
|
<?endif?>
|
|
<Directory Id="dir_drivers" Name="drivers"/>
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
</Fragment>
|
|
|
|
<!-- Define the product's <Runtime> components -->
|
|
<Fragment>
|
|
<?if $(var.IncludeVCRedist) = True ?>
|
|
<ComponentGroup Id="VCRedist" Directory="INSTALLFOLDER">
|
|
<Component Id="concrt140" Guid="{BA96F793-1D16-4277-B12B-7588BC2E647A}">
|
|
<File Id="concrt140.dll" Name="concrt140.dll" DiskId="1" KeyPath="yes" Source="$(var.SolutionDir)x64\$(var.Configuration)\concrt140.dll" />
|
|
</Component>
|
|
<Component Id="msvcp140" Guid="{225C690D-C9B9-4F6C-B422-6579380E3A41}">
|
|
<File Id="msvcp140.dll" Name="msvcp140.dll" DiskId="1" KeyPath="yes" Source="$(var.SolutionDir)x64\$(var.Configuration)\msvcp140.dll" />
|
|
</Component>
|
|
<Component Id="msvcp140_1" Guid="{32C5D7C0-43CA-469E-A712-5A7ED0C18F68}">
|
|
<File Id="msvcp140_1.dll" Name="msvcp140_1.dll" DiskId="1" KeyPath="yes" Source="$(var.SolutionDir)x64\$(var.Configuration)\msvcp140_1.dll" />
|
|
</Component>
|
|
<Component Id="msvcp140_2" Guid="{CD0CB411-69A8-427F-B775-B1C0BB269D2A}">
|
|
<File Id="msvcp140_2.dll" Name="msvcp140_2.dll" DiskId="1" KeyPath="yes" Source="$(var.SolutionDir)x64\$(var.Configuration)\msvcp140_2.dll" />
|
|
</Component>
|
|
<Component Id="msvcp140_atomic_wait" Guid="{EDD2FCE1-0A0C-4DF0-A935-6A917BEC8FD2}">
|
|
<File Id="msvcp140_atomic_wait.dll" Name="msvcp140_atomic_wait.dll" DiskId="1" KeyPath="yes" Source="$(var.SolutionDir)x64\$(var.Configuration)\msvcp140_atomic_wait.dll" />
|
|
</Component>
|
|
<Component Id="msvcp140_codecvt_ids" Guid="{ED0E8435-4D52-4801-81A5-E4EF0DFA9CA7}">
|
|
<File Id="msvcp140_codecvt_ids.dll" Name="msvcp140_codecvt_ids.dll" DiskId="1" KeyPath="yes" Source="$(var.SolutionDir)x64\$(var.Configuration)\msvcp140_codecvt_ids.dll" />
|
|
</Component>
|
|
<Component Id="vccorlib140" Guid="{D1B5ADB1-10BB-491C-B10E-8B5445D71484}">
|
|
<File Id="vccorlib140.dll" Name="vccorlib140.dll" DiskId="1" KeyPath="yes" Source="$(var.SolutionDir)x64\$(var.Configuration)\vccorlib140.dll" />
|
|
</Component>
|
|
<Component Id="vcruntime140" Guid="{96C01CAE-A895-463D-B090-7E15DD03724E}">
|
|
<File Id="vcruntime140.dll" Name="vcruntime140.dll" DiskId="1" KeyPath="yes" Source="$(var.SolutionDir)x64\$(var.Configuration)\vcruntime140.dll" />
|
|
</Component>
|
|
<Component Id="vcruntime140_1" Guid="{2EC40012-1B68-4DAB-91B9-6B4190B4EB6D}">
|
|
<File Id="vcruntime140_1.dll" Name="vcruntime140_1.dll" DiskId="1" KeyPath="yes" Source="$(var.SolutionDir)x64\$(var.Configuration)\vcruntime140_1.dll" />
|
|
</Component>
|
|
</ComponentGroup>
|
|
<?endif?>
|
|
|
|
<ComponentGroup Id="eBPF_Runtime_Components" Directory="INSTALLFOLDER">
|
|
<Component Id ="eBpfPATH" Guid="{C062B980-4B93-4FC7-A4F9-A751C2B419FD}" KeyPath="yes">
|
|
<Environment Id="eBpfPATH" Name="PATH" Value="[INSTALLFOLDER]" Permanent="no" Part="last" Action="set" System="yes" Separator=";" />
|
|
</Component>
|
|
<Component Id="LICENSE" Guid="{AF22EAE5-7D8D-4F22-BB64-6B6A079A2947}">
|
|
<File Id="LICENSE.txt" Name="LICENSE.txt" DiskId="1" KeyPath="yes" Source="$(var.SolutionDir)LICENSE.txt" />
|
|
</Component>
|
|
<Component Id="BPF2C.EXE" DiskId="1" Guid="{BD23322B-91C3-4848-96E0-04E3745411E1}">
|
|
<File Id="BPF2C.EXE" Name="bpf2c.exe" KeyPath="yes" Source="$(var.bpf2c.TargetDir)bpf2c.exe" />
|
|
</Component>
|
|
<Component Id="BPF2C.PDB" DiskId="1" Guid="{6DEC471C-F27D-431C-A0E0-6F46CA472BAC}">
|
|
<File Id="BPF2C.PDB" Name="bpf2c.pdb" KeyPath="yes" Source="$(var.bpf2c.TargetDir)bpf2c.pdb" />
|
|
</Component>
|
|
<Component Id="EBPF_ALL.GUID" DiskId="1" Guid="{F3C808AC-A63B-4A29-B110-00B5A903F3C9}">
|
|
<File Id="EBPF_ALL.GUID" Name="ebpf-all.guid" KeyPath="yes" Source="$(var.SolutionDir)\scripts\ebpf-all.guid" />
|
|
</Component>
|
|
<Component Id="BPFTOOL.EXE" DiskId="1" Guid="{E168EB1A-35F6-47E3-B977-B16DF7DFBDB0}">
|
|
<File Id="BPFTOOL.EXE" Name="bpftool.exe" KeyPath="yes" Source="$(var.bpftool.TargetDir)bpftool.exe" />
|
|
</Component>
|
|
<Component Id="BPFTOOL.PDB" DiskId="1" Guid="{D2A6D747-A52C-43B9-A684-FF05A0DCE166}">
|
|
<File Id="BPFTOOL.PDB" Name="bpftool.pdb" KeyPath="yes" Source="$(var.bpftool.TargetDir)bpftool.pdb" />
|
|
</Component>
|
|
<Component Id="EBPFAPI.DLL" DiskId="1" Guid="{C44E4B08-901E-4B71-8FD1-F0B3D11D063F}">
|
|
<File Id="EBPFAPI.DLL" Name="EbpfApi.dll" KeyPath="yes" Source="$(var.EbpfApi.TargetDir)EbpfApi.dll" />
|
|
</Component>
|
|
<Component Id="EBPFAPI.PDB" DiskId="1" Guid="{6912E957-E682-41CB-9C53-1D0B886528F7}">
|
|
<File Id="EBPFAPI.PDB" Name="EbpfApi.pdb" KeyPath="yes" Source="$(var.EbpfApi.TargetDir)EbpfApi.pdb" />
|
|
</Component>
|
|
<Component Id="EBPF_PRINTK.GUID" DiskId="1" Guid="{77EB156D-046E-4BD6-8F57-CCA1DB031B0B}">
|
|
<File Id="EBPF_PRINTK.GUID" Name="ebpf-printk.guid" KeyPath="yes" Source="$(var.SolutionDir)\scripts\ebpf-printk.guid" />
|
|
</Component>
|
|
<Component Id="EBPFFORWINDOWS.WPRP" DiskId="1" Guid="{4E4838D3-0C49-4FA2-B8EE-E484CC0E7FA9}">
|
|
<File Id="EBPFFORWINDOWS.WPRP" Name="ebpfforwindows.wprp" KeyPath="yes" Source="$(var.SolutionDir)\scripts\ebpfforwindows.wprp" />
|
|
</Component>
|
|
<Component Id="EBPFNETSH.DLL" DiskId="1" Guid="{95928460-8560-448F-83C3-E9040BECCF5D}">
|
|
<File Id="EBPFNETSH.DLL" Name="ebpfnetsh.dll" KeyPath="yes" Source="$(var.ebpfnetsh.TargetDir)ebpfnetsh.dll" />
|
|
</Component>
|
|
<Component Id="EBPFNETSH.PDB" DiskId="1" Guid="{D0FB50BF-8822-4197-B3CF-0476C357DBDD}">
|
|
<File Id="EBPFNETSH.PDB" Name="ebpfnetsh.pdb" KeyPath="yes" Source="$(var.ebpfnetsh.TargetDir)ebpfnetsh.pdb" />
|
|
</Component>
|
|
<Component Id="EXPORT_PROGRAM_INFO.EXE" DiskId="1" Guid="{7AF9A30B-D7BF-4FD2-88C0-C2947ED55DCD}">
|
|
<File Id="EXPORT_PROGRAM_INFO.EXE" Name="export_program_info.exe" KeyPath="yes" Source="$(var.export_program_info.TargetDir)export_program_info.exe" />
|
|
</Component>
|
|
<Component Id="EXPORT_PROGRAM_INFO.PDB" DiskId="1" Guid="{88356FE4-6247-4876-BA14-42EDA88CC5C7}">
|
|
<File Id="EXPORT_PROGRAM_INFO.PDB" Name="export_program_info.pdb" KeyPath="yes" Source="$(var.export_program_info.TargetDir)export_program_info.pdb" />
|
|
</Component>
|
|
</ComponentGroup>
|
|
|
|
<!--Clear/Setup the eBPF store-->
|
|
<CustomAction Id="Clear_eBPF_store_HKLM" ExeCommand='"[#EXPORT_PROGRAM_INFO.EXE]" --clear' Directory="INSTALLFOLDER" Execute="deferred" Return="check" Impersonate="no"/>
|
|
<CustomAction Id="Clear_eBPF_store_HKCU" ExeCommand='"[#EXPORT_PROGRAM_INFO.EXE]" --clear' Directory="INSTALLFOLDER" Execute="deferred" Return="check" Impersonate="yes"/>
|
|
<CustomAction Id="Clear_eBPF_store_uninstall_HKLM" ExeCommand='"[#EXPORT_PROGRAM_INFO.EXE]" --clear' Directory="INSTALLFOLDER" Execute="deferred" Return="ignore" Impersonate="no"/>
|
|
<CustomAction Id="Clear_eBPF_store_uninstall_HKCU" ExeCommand='"[#EXPORT_PROGRAM_INFO.EXE]" --clear' Directory="INSTALLFOLDER" Execute="deferred" Return="ignore" Impersonate="yes"/>
|
|
<SetProperty Id="Setup_eBPF_store_HKLM" Value='"[#EXPORT_PROGRAM_INFO.EXE]"' Before="Setup_eBPF_store_HKLM" Sequence="execute"/>
|
|
<CustomAction Id="Setup_eBPF_store_HKLM" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="check" Impersonate="no"/>
|
|
<SetProperty Id="Setup_eBPF_store_HKCU" Value='"[#EXPORT_PROGRAM_INFO.EXE]"' Before="Setup_eBPF_store_HKCU" Sequence="execute"/>
|
|
<CustomAction Id="Setup_eBPF_store_HKCU" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="check" Impersonate="yes"/>
|
|
|
|
<!--Install/Uninstall the netsh helper-->
|
|
<!--qtexec does not currently support a working directory (ref. https://github.com/wixtoolset/issues/issues/1265)-->
|
|
<!--This workaround uses PowerShell to batch two commands, one to change the working directory, the other to execute the actual command from that directory.-->
|
|
<SetProperty Id="eBPF_netsh_helper_install" Value=""[WindowsFolder]System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass "cd '[INSTALLFOLDER]';netsh add helper ebpfnetsh.dll"" Before="eBPF_netsh_helper_install" Sequence="execute"/>
|
|
<CustomAction Id="eBPF_netsh_helper_install" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="check" Impersonate="no"/>
|
|
<SetProperty Id="eBPF_netsh_helper_uninstall" Value=""[WindowsFolder]System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass "cd '[INSTALLFOLDER]';netsh delete helper ebpfnetsh.dll"" Before="eBPF_netsh_helper_uninstall" Sequence="execute"/>
|
|
<CustomAction Id="eBPF_netsh_helper_uninstall" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="ignore" Impersonate="no"/>
|
|
<SetProperty Id="eBPF_netsh_helper_uninstall_rollback" Value=""[WindowsFolder]System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Bypass "cd '[INSTALLFOLDER]';netsh delete helper ebpfnetsh.dll"" Before="eBPF_netsh_helper_uninstall_rollback" Sequence="execute"/>
|
|
<CustomAction Id="eBPF_netsh_helper_uninstall_rollback" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="ignore" Impersonate="no"/>
|
|
|
|
<!--Install/Uninstall the eBPF Service -->
|
|
<?if $(var.IncludeJIT) = True ?>
|
|
<ComponentGroup Id="eBPF_Service" Directory="dir_JIT">
|
|
<Component Id="EBPFSVC.PDB" DiskId="1" Guid="{D1935DF0-2FC7-42F5-81E5-19AF88D6244B}">
|
|
<File Id="EBPFSVC.PDB" Name="EbpfSvc.pdb" Source="$(var.ebpfsvc.TargetDir)ebpfsvc.pdb" />
|
|
</Component>
|
|
<Component Id="eBPF_Service" Guid="{25F4F9A3-78EB-4598-9982-98FB65377A51}">
|
|
<File Source="$(var.ebpfsvc.TargetPath)" KeyPath="yes" />
|
|
<ServiceInstall Id="eBPFSvcInstaller" Name="eBPFSvc" DisplayName="eBPF Service" Description="eBPF Service"
|
|
Start="auto"
|
|
Type="ownProcess"
|
|
ErrorControl="normal"
|
|
Account="[WIX_ACCOUNT_LOCALSERVICE]"
|
|
Vital="yes"
|
|
Interactive="no">
|
|
<ServiceConfig ServiceSid="restricted" OnInstall="yes" OnReinstall="yes" />
|
|
</ServiceInstall>
|
|
<ServiceControl Id="eBPFSvc_Start" Name="eBPFSvc"
|
|
Start="install"
|
|
Wait="no" />
|
|
<ServiceControl Id="eBPFSvc_Stop" Name="eBPFSvc"
|
|
Remove="uninstall"
|
|
Stop="both"
|
|
Wait="yes" />
|
|
</Component>
|
|
</ComponentGroup>
|
|
<?endif?>
|
|
|
|
<!--Install/Uninstall the eBPFCore Driver-->
|
|
<!--A kernel driver service is not currently supported by the Windows Installer (Wix v3 - https://wixtoolset.org/docs/v3/xsd/wix/serviceinstall/).-->
|
|
<ComponentGroup Id="eBPFCore_Driver" Directory="dir_drivers">
|
|
<Component Id="eBPFCore.inf" Guid="{3D31A9C8-8BB0-48A2-94BD-CBA734438E0C}">
|
|
<File Id="eBPFCore.inf" Name="eBPFCore.inf" Source="$(var.EbpfCore.TargetDir)eBPFCore.inf" KeyPath="yes"/>
|
|
</Component>
|
|
<Component Id="eBPFCore.sys" Guid="{5A6F4BA2-7FCB-48F7-BC6A-52C204E4A91A}">
|
|
<File Id="eBPFCore.sys" Name="eBPFCore.sys" Source="$(var.EbpfCore.TargetPath)" KeyPath="yes" />
|
|
</Component>
|
|
<Component Id="eBPFCore.pdb" Guid="{DDE1BBD0-F440-4D54-97D0-D10DB511BACB}">
|
|
<File Id="eBPFCore.pdb" Name="eBPFCore.pdb" Source="$(var.EbpfCore.TargetDir)eBPFCore.pdb" KeyPath="yes" />
|
|
</Component>
|
|
</ComponentGroup>
|
|
<SetProperty Id="eBPFCore_Driver_install" Value='"sc.exe" create eBPFCore type=kernel start=auto binpath="[#eBPFCore.sys]"' Before="eBPFCore_Driver_install" Sequence="execute"/>
|
|
<CustomAction Id="eBPFCore_Driver_install" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="check" Impersonate="no"/>
|
|
<Property Id="eBPFCore_Driver_start" Value='"net.exe" start eBPFCore' />
|
|
<CustomAction Id="eBPFCore_Driver_start" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="check" Impersonate="no"/>
|
|
<Property Id="eBPFCore_Driver_stop" Value='"net.exe" stop eBPFCore' />
|
|
<CustomAction Id="eBPFCore_Driver_stop" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="ignore" Impersonate="no"/>
|
|
<Property Id="eBPFCore_Driver_uninstall" Value='"sc.exe" delete eBPFCore' />
|
|
<CustomAction Id="eBPFCore_Driver_uninstall" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="ignore" Impersonate="no"/>
|
|
<CustomAction Id="eBPFCore_Driver_uninstall_flush" Directory="ProgramFiles64Folder" ExeCommand ='"sc.exe" query eBPFCore' Execute ="immediate" Return ="asyncNoWait"/>
|
|
<Property Id="eBPFCore_Driver_stop_rollback" Value='"net.exe" stop eBPFCore' />
|
|
<CustomAction Id="eBPFCore_Driver_stop_rollback" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="rollback" Return="ignore" Impersonate="no"/>
|
|
<Property Id="eBPFCore_Driver_uninstall_rollback" Value='"sc.exe" delete eBPFCore' />
|
|
<CustomAction Id="eBPFCore_Driver_uninstall_rollback" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="rollback" Return="ignore" Impersonate="no"/>
|
|
|
|
<!--Install/Uninstall the NetEbpfExt Driver-->
|
|
<!--A kernel driver service is not currently supported by the Windows Installer (Wix v3 - https://wixtoolset.org/docs/v3/xsd/wix/serviceinstall/).-->
|
|
<ComponentGroup Id="NetEbpfExt_Driver" Directory="dir_drivers">
|
|
<Component Id="NetEbpfExt.inf" Guid="{F1E813EE-665E-488C-84AA-0F47011C12F0}">
|
|
<File Id="NetEbpfExt.inf" Name="NetEbpfExt.inf" Source="$(var.netebpfext.TargetDir)NetEbpfExt.inf" KeyPath="yes" />
|
|
</Component>
|
|
<Component Id="NetEbpfExt.sys" Guid="{3ADAA711-7F62-472A-A60D-589D543ED507}">
|
|
<File Id="NetEbpfExt.sys" Name="NetEbpfExt.sys" Source="$(var.netebpfext.TargetPath)" KeyPath="yes" />
|
|
</Component>
|
|
<Component Id="NetEbpfExt.pdb" Guid="{3B35751C-693A-47C0-A258-97741D8B72CC}">
|
|
<File Id="NetEbpfExt.pdb" Name="NetEbpfExt.pdb" Source="$(var.netebpfext.TargetDir)NetEbpfExt.pdb" KeyPath="yes" />
|
|
</Component>
|
|
</ComponentGroup>
|
|
<SetProperty Id="NetEbpfExt_Driver_install" Value='"sc.exe" create NetEbpfExt type=kernel start=auto binpath="[#NetEbpfExt.sys]"' Before="NetEbpfExt_Driver_install" Sequence="execute"/>
|
|
<CustomAction Id="NetEbpfExt_Driver_install" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="check" Impersonate="no"/>
|
|
<Property Id="NetEbpfExt_Driver_start" Value='"net.exe" start NetEbpfExt' />
|
|
<CustomAction Id="NetEbpfExt_Driver_start" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="check" Impersonate="no"/>
|
|
<Property Id="NetEbpfExt_Driver_stop" Value='"net.exe" stop NetEbpfExt' />
|
|
<CustomAction Id="NetEbpfExt_Driver_stop" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="ignore" Impersonate="no"/>
|
|
<Property Id="NetEbpfExt_Driver_uninstall" Value='"sc.exe" delete NetEbpfExt' />
|
|
<CustomAction Id="NetEbpfExt_Driver_uninstall" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="deferred" Return="ignore" Impersonate="no"/>
|
|
<Property Id="NetEbpfExt_Driver_stop_rollback" Value='"net.exe" stop NetEbpfExt' />
|
|
<CustomAction Id="NetEbpfExt_Driver_stop_rollback" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="rollback" Return="ignore" Impersonate="no"/>
|
|
<Property Id="NetEbpfExt_Driver_uninstall_rollback" Value='"sc.exe" delete NetEbpfExt' />
|
|
<CustomAction Id="NetEbpfExt_Driver_uninstall_rollback" BinaryKey="WixCA" DllEntry="WixQuietExec64" Execute="rollback" Return="ignore" Impersonate="no"/>
|
|
</Fragment>
|
|
</Wix>
|