mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-25 18:02:24 -05:00
223 lines
9.5 KiB
XML
223 lines
9.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
|
<Product
|
|
Id="*"
|
|
Name="$(var.MyProductName)"
|
|
Manufacturer="$(var.MyCompanyName)"
|
|
Version="$(var.MyVersion)"
|
|
Language="1033"
|
|
UpgradeCode="82F812D9-4083-4EF1-8BC8-0F1EDA05B46B">
|
|
|
|
<Package
|
|
Description="$(var.MyProductName) - $(var.MyDescription)"
|
|
InstallerVersion="200"
|
|
Compressed="yes"
|
|
InstallScope="perMachine" />
|
|
<MajorUpgrade
|
|
Disallow="yes"
|
|
AllowDowngrades="no"
|
|
AllowSameVersionUpgrades="no"
|
|
DisallowUpgradeErrorMessage="An older version of [ProductName] is already installed. You must uninstall it before you can install this version."
|
|
DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
|
|
<Media Id="1" Cabinet="WinFsp.cab" EmbedCab="yes" />
|
|
|
|
<Property Id="P.RegistryKey">Software\$(var.MyProductName)</Property>
|
|
<Property Id="INSTALLDIR">
|
|
<RegistrySearch
|
|
Id="R.INSTALLDIR"
|
|
Root="HKLM"
|
|
Key="[P.RegistryKey]"
|
|
Name="InstallDir"
|
|
Type="raw" />
|
|
</Property>
|
|
|
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
|
<Directory Id="ProgramFilesFolder">
|
|
<Directory Id="INSTALLDIR" Name="WinFsp">
|
|
<Directory Id="BINDIR" Name="bin" />
|
|
<Directory Id="INCDIR" Name="inc" />
|
|
<Directory Id="LIBDIR" Name="lib" />
|
|
<Directory Id="SMPDIR" Name="samples" />
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<DirectoryRef Id="INSTALLDIR">
|
|
<Component Id="C.INSTALLDIR">
|
|
<RegistryValue
|
|
Root="HKLM"
|
|
Key="[P.RegistryKey]"
|
|
Name="InstallDir"
|
|
Type="string"
|
|
Value="[INSTALLDIR]" />
|
|
</Component>
|
|
</DirectoryRef>
|
|
<DirectoryRef Id="BINDIR" FileSource="..\build\$(var.Configuration)">
|
|
<Component Id="C.winfsp_x64.sys">
|
|
<File Name="winfsp-x64.sys" KeyPath="yes" />
|
|
</Component>
|
|
<Component Id="C.winfsp_x86.sys">
|
|
<File Name="winfsp-x86.sys" KeyPath="yes" />
|
|
</Component>
|
|
|
|
<!-- On Win64 register winfsp-x64.dll -->
|
|
<Component Id="C.winfsp_x64.dll.selfreg" Guid="F0A67746-1A9C-4976-8EC0-882E9407FA6D">
|
|
<File Id="FILE.winfsp_x64.dll.selfreg" Name="winfsp-x64.dll" KeyPath="yes" SelfRegCost="1" />
|
|
<Condition>VersionNT64</Condition>
|
|
</Component>
|
|
<Component Id="C.winfsp_x86.dll" Guid="950492FB-12F7-4E27-9124-8325A2BC9927">
|
|
<File Name="winfsp-x86.dll" KeyPath="yes" />
|
|
<Condition>VersionNT64</Condition>
|
|
</Component>
|
|
|
|
<!-- On Win32 register winfsp-x86.dll -->
|
|
<Component Id="C.winfsp_x64.dll" Guid="4D6E7A8E-0CA6-49BE-B312-1EDADE725756">
|
|
<File Name="winfsp-x64.dll" KeyPath="yes" />
|
|
<Condition>NOT VersionNT64</Condition>
|
|
</Component>
|
|
<Component Id="C.winfsp_x86.dll.selfreg" Guid="F0DEF7A6-AF55-419F-A58A-DF4018C6FA73">
|
|
<File Id="FILE.winfsp_x86.dll.selfreg" Name="winfsp-x86.dll" KeyPath="yes" SelfRegCost="1" />
|
|
<Condition>NOT VersionNT64</Condition>
|
|
</Component>
|
|
|
|
<Component Id="C.memfs_x64.exe">
|
|
<File Name="memfs-x64.exe" KeyPath="yes" />
|
|
</Component>
|
|
<Component Id="C.memfs_x86.exe">
|
|
<File Name="memfs-x86.exe" KeyPath="yes" />
|
|
</Component>
|
|
</DirectoryRef>
|
|
<DirectoryRef Id="INCDIR" FileSource="..\..\..\inc">
|
|
<Directory Id="INCDIR.winfsp" Name="winfsp">
|
|
<Component Id="C.fsctl.h">
|
|
<File Name="fsctl.h" KeyPath="yes" />
|
|
</Component>
|
|
<Component Id="C.winfsp.h">
|
|
<File Name="winfsp.h" KeyPath="yes" />
|
|
</Component>
|
|
</Directory>
|
|
</DirectoryRef>
|
|
<DirectoryRef Id="LIBDIR" FileSource="..\build\$(var.Configuration)">
|
|
<Component Id="C.winfsp_x64.lib">
|
|
<File Name="winfsp-x64.lib" KeyPath="yes" />
|
|
</Component>
|
|
<Component Id="C.winfsp_x86.lib">
|
|
<File Name="winfsp-x86.lib" KeyPath="yes" />
|
|
</Component>
|
|
</DirectoryRef>
|
|
<DirectoryRef Id="SMPDIR" FileSource="..\..\..\tst">
|
|
<Directory Id="SMPDIR.memfs" Name="memfs">
|
|
<Component Id="C.memfs.h">
|
|
<File Name="memfs.h" KeyPath="yes" />
|
|
</Component>
|
|
<Component Id="C.memfs.cpp">
|
|
<File Name="memfs.cpp" KeyPath="yes" />
|
|
</Component>
|
|
<Component Id="C.memfs_main.c">
|
|
<File Name="memfs-main.c" KeyPath="yes" />
|
|
</Component>
|
|
</Directory>
|
|
</DirectoryRef>
|
|
|
|
<ComponentGroup Id="C.WinFsp.bin">
|
|
<ComponentRef Id="C.winfsp_x64.sys" />
|
|
<ComponentRef Id="C.winfsp_x86.sys" />
|
|
<ComponentRef Id="C.winfsp_x64.dll.selfreg" />
|
|
<ComponentRef Id="C.winfsp_x86.dll" />
|
|
<ComponentRef Id="C.winfsp_x64.dll" />
|
|
<ComponentRef Id="C.winfsp_x86.dll.selfreg" />
|
|
</ComponentGroup>
|
|
<ComponentGroup Id="C.WinFsp.inc">
|
|
<ComponentRef Id="C.fsctl.h" />
|
|
<ComponentRef Id="C.winfsp.h" />
|
|
</ComponentGroup>
|
|
<ComponentGroup Id="C.WinFsp.lib">
|
|
<ComponentRef Id="C.winfsp_x64.lib" />
|
|
<ComponentRef Id="C.winfsp_x86.lib" />
|
|
</ComponentGroup>
|
|
<ComponentGroup Id="C.WinFsp.smp">
|
|
<ComponentRef Id="C.memfs_x64.exe" />
|
|
<ComponentRef Id="C.memfs_x86.exe" />
|
|
<ComponentRef Id="C.memfs.h" />
|
|
<ComponentRef Id="C.memfs.cpp" />
|
|
<ComponentRef Id="C.memfs_main.c" />
|
|
</ComponentGroup>
|
|
|
|
<Feature
|
|
Id="F.Main"
|
|
Level="1"
|
|
Title="$(var.MyProductName) $(var.MyVersion)"
|
|
Description="$(var.MyDescription)"
|
|
Display="expand"
|
|
ConfigurableDirectory="INSTALLDIR"
|
|
AllowAdvertise="no"
|
|
InstallDefault="local"
|
|
Absent="disallow">
|
|
<ComponentRef Id="C.INSTALLDIR" />
|
|
<Feature
|
|
Id="F.User"
|
|
Level="1"
|
|
Title="Core"
|
|
Description="The core $(var.MyProductName) files."
|
|
AllowAdvertise="no"
|
|
InstallDefault="local"
|
|
Absent="disallow">
|
|
<ComponentGroupRef Id="C.WinFsp.bin" />
|
|
</Feature>
|
|
<Feature
|
|
Id="F.Developer"
|
|
Level="1000"
|
|
Title="Developer"
|
|
Description="Additional files needed for development."
|
|
AllowAdvertise="no"
|
|
InstallDefault="local"
|
|
Absent="allow">
|
|
<ComponentGroupRef Id="C.WinFsp.inc" />
|
|
<ComponentGroupRef Id="C.WinFsp.lib" />
|
|
<ComponentGroupRef Id="C.WinFsp.smp" />
|
|
</Feature>
|
|
</Feature>
|
|
|
|
<UI Id="FeatureTree">
|
|
<UIRef Id="WixUI_FeatureTree" />
|
|
<!-- skip the license agreement dialog; higher Order takes priority (weird) -->
|
|
<Publish
|
|
Dialog="WelcomeDlg"
|
|
Control="Next"
|
|
Event="NewDialog"
|
|
Value="CustomizeDlg"
|
|
Order="10">NOT Installed</Publish>
|
|
<Publish
|
|
Dialog="CustomizeDlg"
|
|
Control="Back"
|
|
Event="NewDialog"
|
|
Value="WelcomeDlg"
|
|
Order="10">NOT Installed</Publish>
|
|
</UI>
|
|
|
|
<Binary Id="CustomActions" SourceFile="..\build\$(var.Configuration)\CustomActions.dll" />
|
|
<CustomAction
|
|
Id="Params.ServiceRunning"
|
|
Property="ServiceRunning"
|
|
Value="$(var.MyProductName)" />
|
|
<CustomAction
|
|
Id="Action.ServiceRunning"
|
|
BinaryKey="CustomActions"
|
|
DllEntry="ServiceRunning"
|
|
Execute="immediate"
|
|
Return="ignore" />
|
|
<CustomAction
|
|
Id="Action.ServiceRunning.Error"
|
|
Error="The $(var.MyProductName) service appears to be running. If you just uninstalled $(var.MyProductName) please restart your computer. If you are running a development version of $(var.MyProductName) please remove it before proceeding." />
|
|
<InstallExecuteSequence>
|
|
<Custom Action="Params.ServiceRunning" Before="Action.ServiceRunning" />
|
|
<Custom Action="Action.ServiceRunning" Before="LaunchConditions" />
|
|
<Custom Action="Action.ServiceRunning.Error" After="Action.ServiceRunning">
|
|
<![CDATA[NOT Installed AND (0 <> ServiceRunning)]]>
|
|
</Custom>
|
|
<ScheduleReboot After="RemoveFiles">
|
|
<![CDATA[(REMOVE ~= "ALL") AND (0 <> ServiceRunning)]]>
|
|
</ScheduleReboot>
|
|
</InstallExecuteSequence>
|
|
</Product>
|
|
</Wix> |