1
0
mirror of https://github.com/winfsp/winspd.git synced 2025-04-18 23:23:59 +03:00

installer: initial commit

This commit is contained in:
Bill Zissimopoulos 2019-02-18 17:09:50 -08:00
parent 02143cc220
commit fa8b47220f
No known key found for this signature in database
GPG Key ID: 3D4F95D52C7B3EA3
9 changed files with 574 additions and 0 deletions

BIN
art/wixbanner.pxm Normal file

Binary file not shown.

BIN
art/wixdialog.pxm Normal file

Binary file not shown.

View File

@ -0,0 +1,452 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:dep="http://schemas.microsoft.com/wix/DependencyExtension">
<Product
Id="*"
Name="$(var.MyProductName) $(var.MyProductVersion)"
Manufacturer="$(var.MyCompanyName)"
Version="$(var.MyVersion)"
Language="1033"
UpgradeCode="{F7F63D2E-309B-485F-A3DC-1AAE26E31B2B}">
<Package
Description="$(var.MyProductName) - $(var.MyDescription)"
InstallerVersion="200"
Compressed="yes"
InstallScope="perMachine" />
<MajorUpgrade
Disallow="yes"
AllowDowngrades="no"
AllowSameVersionUpgrades="no"
DisallowUpgradeErrorMessage="An older version of $(var.MyProductName) is already installed. You must uninstall it before you can install this version."
DowngradeErrorMessage="A newer version of $(var.MyProductName) is already installed." />
<Media Id="1" Cabinet="WinSpd.cab" EmbedCab="yes" />
<Property Id="P.LauncherName">$(var.MyProductName).Launcher</Property>
<Property Id="P.LauncherRegistryKey">Software\$(var.MyProductName)\Services</Property>
<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="WinSpd">
<Directory Id="BINDIR" Name="bin" />
<Directory Id="INCDIR" Name="inc" />
<Directory Id="LIBDIR" Name="lib" />
<Directory Id="SMPDIR" Name="samples" />
<Directory Id="SYMDIR" Name="sym" />
</Directory>
</Directory>
</Directory>
<DirectoryRef Id="INSTALLDIR">
<Component Id="C.INSTALLDIR" Guid="{4AD15836-C3AA-4DB8-AEB2-9E667FB27294}">
<RegistryValue
Root="HKLM"
Key="[P.RegistryKey]"
Name="InstallDir"
Type="string"
Value="[INSTALLDIR]" />
<dep:Provides Key="WinSpd" />
</Component>
<Component Id="C.License.txt">
<File Name="License.txt" Source="..\..\..\License.txt" KeyPath="yes" />
</Component>
</DirectoryRef>
<DirectoryRef Id="BINDIR" FileSource="..\build\$(var.Configuration)">
<!--
<Component Id="C.winspd_x64.sys">
<File Name="winspd-x64.sys" KeyPath="yes" />
</Component>
<Component Id="C.winspd_x86.sys">
<File Name="winspd-x86.sys" KeyPath="yes" />
</Component>
<Component Id="C.winspd_x64.dll">
<File Name="winspd-x64.dll" KeyPath="yes" />
</Component>
<Component Id="C.winspd_x86.dll">
<File Name="winspd-x86.dll" KeyPath="yes" />
</Component>
-->
<!-- On Win64 register shellex-x64.dll -->
<Component Id="C.shellex_x64.dll.selfreg" Guid="{30F3CE85-6599-40FE-A231-D71839075FEF}">
<File Id="FILE.shellex_x64.dll.selfreg" Name="shellex-x64.dll" KeyPath="yes" SelfRegCost="1" />
<Condition>VersionNT64</Condition>
</Component>
<Component Id="C.shellex_x86.dll" Guid="{CAF74F51-58EE-40B9-A706-649BC0971CE7}">
<File Name="shellex-x86.dll" KeyPath="yes" />
<Condition>VersionNT64</Condition>
</Component>
<!-- On Win32 register shellex-x86.dll -->
<Component Id="C.shellex_x64.dll" Guid="{31CEE28A-08F3-40A4-B7E1-C713C6D8AC78}">
<File Name="shellex-x64.dll" KeyPath="yes" />
<Condition>NOT VersionNT64</Condition>
</Component>
<Component Id="C.shellex_x86.dll.selfreg" Guid="{90B37305-F0ED-4862-8A71-2C37A25ED517}">
<File Id="FILE.shellex_x86.dll.selfreg" Name="shellex-x86.dll" KeyPath="yes" SelfRegCost="1" />
<Condition>NOT VersionNT64</Condition>
</Component>
<!-- install assembly -->
<Component Id="C.winspd_msil.dll" Guid="{339E1C88-CC61-487F-91CD-E11DE64FCF71}">
<File Id="FILE.winspd_msil.dll" Name="winspd-msil.dll" KeyPath="yes" />
</Component>
<Component Id="C.winspd_msil.xml" Guid="{3C4D6D11-CF11-41F7-A3B6-01DDC8CC288F}">
<File Id="FILE.winspd_msil.xml" Name="winspd-msil.xml" KeyPath="yes" />
</Component>
<!-- On Win64 ServiceInstall launcher-x64.exe -->
<Component Id="C.launcher_x64.exe.svcinst">
<File Id="launcher_x64.exe.svcinst" Name="launcher-x64.exe" KeyPath="yes" />
<ServiceInstall
Id="launcher_x64.exe.svcinst"
Name="[P.LauncherName]"
Description="$(var.MyDescription)"
Type="ownProcess"
Start="auto"
ErrorControl="ignore" />
<ServiceControl
Id="launcher_x64.exe.svcinst"
Name="[P.LauncherName]"
Start="install"
Stop="both"
Remove="uninstall" />
<Condition>VersionNT64</Condition>
</Component>
<Component Id="C.launcher_x86.exe">
<File Name="launcher-x86.exe" KeyPath="yes" />
<Condition>VersionNT64</Condition>
</Component>
<!-- On Win32 ServiceInstall launcher-x86.exe -->
<Component Id="C.launcher_x64.exe" Guid="{4FB3DF2A-07FF-4E67-BD03-F8F6885BA478}">
<File Name="launcher-x64.exe" KeyPath="yes" />
<Condition>NOT VersionNT64</Condition>
</Component>
<Component Id="C.launcher_x86.exe.svcinst" Guid="{B0B56237-9159-430B-BEC6-E9FAB1E4AE8A}">
<File Id="launcher_x86.exe.svcinst" Name="launcher-x86.exe" KeyPath="yes" />
<ServiceInstall
Id="launcher_x86.exe.svcinst"
Name="[P.LauncherName]"
Description="$(var.MyDescription)"
Type="ownProcess"
Start="auto"
ErrorControl="ignore" />
<ServiceControl
Id="launcher_x86.exe.svcinst"
Name="[P.LauncherName]"
Start="install"
Stop="both"
Remove="uninstall" />
<Condition>NOT VersionNT64</Condition>
</Component>
<Component Id="C.launchctl_x64.exe">
<File Name="launchctl-x64.exe" KeyPath="yes" />
</Component>
<Component Id="C.launchctl_x86.exe">
<File Name="launchctl-x86.exe" KeyPath="yes" />
</Component>
<Component Id="C.scsitool_x64.exe">
<File Name="scsitool-x64.exe" KeyPath="yes" />
</Component>
<Component Id="C.scsitool_x86.exe">
<File Name="scsitool-x86.exe" KeyPath="yes" />
</Component>
<Component Id="C.stgtest_x64.exe">
<File Name="stgtest-x64.exe" KeyPath="yes" />
</Component>
<Component Id="C.stgtest_x86.exe">
<File Name="stgtest-x86.exe" KeyPath="yes" />
</Component>
<Component Id="C.rawdisk_x64.exe">
<File Name="rawdisk-x64.exe" KeyPath="yes" />
<RegistryKey
Root="HKLM"
Key="[P.LauncherRegistryKey]">
<RegistryKey
Key="rawdisk64">
<RegistryValue
Type="string"
Name="Executable"
Value="[BINDIR]rawdisk-x64.exe" />
<RegistryValue
Type="string"
Name="CommandLine"
Value="-f %1" />
<RegistryValue
Type="string"
Name="Security"
Value="D:P(A;;RP;;;WD)" />
</RegistryKey>
</RegistryKey>
</Component>
<Component Id="C.rawdisk_x86.exe">
<File Name="rawdisk-x86.exe" KeyPath="yes" />
<RegistryKey
Root="HKLM"
Key="[P.LauncherRegistryKey]">
<RegistryKey
Key="rawdisk32">
<RegistryValue
Type="string"
Name="Executable"
Value="[BINDIR]rawdisk-x86.exe" />
<RegistryValue
Type="string"
Name="CommandLine"
Value="-f %1" />
<RegistryValue
Type="string"
Name="Security"
Value="D:P(A;;RP;;;WD)" />
</RegistryKey>
</RegistryKey>
</Component>
<Component Id="C.rawdisk_dotnet_msil.exe">
<File Name="rawdisk-dotnet-msil.exe" KeyPath="yes" />
<RegistryKey
Root="HKLM"
Key="[P.LauncherRegistryKey]">
<RegistryKey
Key="rawdisk-dotnet">
<RegistryValue
Type="string"
Name="Executable"
Value="[BINDIR]rawdisk-dotnet-msil.exe" />
<RegistryValue
Type="string"
Name="CommandLine"
Value="-f %1" />
<RegistryValue
Type="string"
Name="Security"
Value="D:P(A;;RPWPLC;;;WD)" />
</RegistryKey>
</RegistryKey>
</Component>
</DirectoryRef>
<DirectoryRef Id="INCDIR" FileSource="..\..\..\inc">
<Directory Id="INCDIR.winspd" Name="winspd">
<Component Id="C.ioctl.h">
<File Name="ioctl.h" KeyPath="yes" />
</Component>
<Component Id="C.winspd.h">
<File Name="winspd.h" KeyPath="yes" />
</Component>
</Directory>
</DirectoryRef>
<DirectoryRef Id="LIBDIR" FileSource="..\build\$(var.Configuration)">
<Component Id="C.winspd_x64.lib">
<File Name="winspd-x64.lib" KeyPath="yes" />
</Component>
<Component Id="C.winspd_x86.lib">
<File Name="winspd-x86.lib" KeyPath="yes" />
</Component>
</DirectoryRef>
<DirectoryRef Id="SMPDIR" FileSource="..\..\..\tst">
<Directory Id="SMPDIR.rawdisk" Name="rawdisk">
<Component Id="C.rawdisk.h">
<File Name="rawdisk.h" KeyPath="yes" />
</Component>
<Component Id="C.rawdisk.c">
<File Name="rawdisk.c" KeyPath="yes" />
</Component>
<Component Id="C.rawdisk_main.c">
<File Name="rawdisk-main.c" KeyPath="yes" />
</Component>
</Directory>
<Directory Id="SMPDIR.rawdisk_dotnet" Name="rawdisk-dotnet">
<Component Id="C.rawdisk_dotnet.Program.cs">
<File Id="FILE.rawdisk_dotnet.Program.cs" Name="Program.cs" KeyPath="yes" />
</Component>
</Directory>
</DirectoryRef>
<DirectoryRef Id="SYMDIR">
<Component Id="C.winspd_x64.sys.pdb">
<File Name="winspd-x64.sys.pdb" Source="..\build\$(var.Configuration)\winspd-x64.sys.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.winspd_x86.sys.pdb">
<File Name="winspd-x86.sys.pdb" Source="..\build\$(var.Configuration)\winspd-x86.sys.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.winspd_x64.dll.pdb">
<File Name="winspd-x64.dll.pdb" Source="..\build\$(var.Configuration)\winspd-x64.dll.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.winspd_x86.dll.pdb">
<File Name="winspd-x86.dll.pdb" Source="..\build\$(var.Configuration)\winspd-x86.dll.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.shellex_x64.dll.pdb">
<File Name="shellex-x64.pdb" Source="..\build\$(var.Configuration)\shellex-x64.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.shellex_x86.dll.pdb">
<File Name="shellex-x86.pdb" Source="..\build\$(var.Configuration)\shellex-x86.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.launcher_x64.pdb">
<File Name="launcher-x64.pdb" Source="..\build\$(var.Configuration)\launcher-x64.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.launcher_x86.pdb">
<File Name="launcher-x86.pdb" Source="..\build\$(var.Configuration)\launcher-x86.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.launchctl_x64.pdb">
<File Name="launchctl-x64.pdb" Source="..\build\$(var.Configuration)\launchctl-x64.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.launchctl_x86.pdb">
<File Name="launchctl-x86.pdb" Source="..\build\$(var.Configuration)\launchctl-x86.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.scsitool_x64.pdb">
<File Name="scsitool-x64.pdb" Source="..\build\$(var.Configuration)\scsitool-x64.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.scsitool_x86.pdb">
<File Name="scsitool-x86.pdb" Source="..\build\$(var.Configuration)\scsitool-x86.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.stgtest_x64.pdb">
<File Name="stgtest-x64.pdb" Source="..\build\$(var.Configuration)\stgtest-x64.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.stgtest_x86.pdb">
<File Name="stgtest-x86.pdb" Source="..\build\$(var.Configuration)\stgtest-x86.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.rawdisk_x64.pdb">
<File Name="rawdisk-x64.pdb" Source="..\build\$(var.Configuration)\rawdisk-x64.public.pdb" KeyPath="yes" />
</Component>
<Component Id="C.rawdisk_x86.pdb">
<File Name="rawdisk-x86.pdb" Source="..\build\$(var.Configuration)\rawdisk-x86.public.pdb" KeyPath="yes" />
</Component>
</DirectoryRef>
<ComponentGroup Id="C.WinSpd.bin">
<!--
<ComponentRef Id="C.winspd_x64.sys" />
<ComponentRef Id="C.winspd_x86.sys" />
<ComponentRef Id="C.winspd_x64.dll" />
<ComponentRef Id="C.winspd_x86.dll" />
-->
<ComponentRef Id="C.shellex_x64.dll.selfreg" />
<ComponentRef Id="C.shellex_x86.dll" />
<ComponentRef Id="C.shellex_x64.dll" />
<ComponentRef Id="C.shellex_x86.dll.selfreg" />
<ComponentRef Id="C.launcher_x64.exe.svcinst" />
<ComponentRef Id="C.launcher_x86.exe" />
<ComponentRef Id="C.launcher_x64.exe" />
<ComponentRef Id="C.launcher_x86.exe.svcinst" />
<ComponentRef Id="C.launchctl_x64.exe" />
<ComponentRef Id="C.launchctl_x86.exe" />
<ComponentRef Id="C.scsitool_x64.exe" />
<ComponentRef Id="C.scsitool_x86.exe" />
<ComponentRef Id="C.stgtest_x64.exe" />
<ComponentRef Id="C.stgtest_x86.exe" />
</ComponentGroup>
<ComponentGroup Id="C.WinSpd.inc">
<ComponentRef Id="C.ioctl.h" />
<ComponentRef Id="C.winspd.h" />
</ComponentGroup>
<ComponentGroup Id="C.WinSpd.lib">
<ComponentRef Id="C.winspd_x64.lib" />
<ComponentRef Id="C.winspd_x86.lib" />
</ComponentGroup>
<ComponentGroup Id="C.WinSpd.smp">
<ComponentRef Id="C.rawdisk_x64.exe" />
<ComponentRef Id="C.rawdisk_x86.exe" />
<ComponentRef Id="C.rawdisk.h" />
<ComponentRef Id="C.rawdisk.c" />
<ComponentRef Id="C.rawdisk_main.c" />
</ComponentGroup>
<ComponentGroup Id="C.WinSpd.sym">
<ComponentRef Id="C.winspd_x64.sys.pdb" />
<ComponentRef Id="C.winspd_x86.sys.pdb" />
<ComponentRef Id="C.winspd_x86.dll.pdb" />
<ComponentRef Id="C.winspd_x64.dll.pdb" />
<ComponentRef Id="C.shellex_x86.dll.pdb" />
<ComponentRef Id="C.shellex_x64.dll.pdb" />
<ComponentRef Id="C.launcher_x86.pdb" />
<ComponentRef Id="C.launcher_x64.pdb" />
<ComponentRef Id="C.launchctl_x64.pdb" />
<ComponentRef Id="C.launchctl_x86.pdb" />
<ComponentRef Id="C.scsitool_x64.pdb" />
<ComponentRef Id="C.scsitool_x86.pdb" />
<ComponentRef Id="C.stgtest_x64.pdb" />
<ComponentRef Id="C.stgtest_x86.pdb" />
<ComponentRef Id="C.rawdisk_x64.pdb" />
<ComponentRef Id="C.rawdisk_x86.pdb" />
</ComponentGroup>
<ComponentGroup Id="C.WinSpd.net">
<ComponentRef Id="C.winspd_msil.dll" />
<ComponentRef Id="C.winspd_msil.xml" />
</ComponentGroup>
<ComponentGroup Id="C.WinSpd.smp.net">
<ComponentRef Id="C.rawdisk_dotnet_msil.exe" />
<ComponentRef Id="C.rawdisk_dotnet.Program.cs" />
</ComponentGroup>
<Feature
Id="F.Main"
Level="1"
Title="$(var.MyProductName) $(var.MyProductVersion)"
Description="$(var.MyDescription)"
Display="expand"
ConfigurableDirectory="INSTALLDIR"
AllowAdvertise="no"
InstallDefault="local"
Absent="disallow">
<ComponentRef Id="C.INSTALLDIR" />
<ComponentRef Id="C.License.txt" />
<Feature
Id="F.User"
Level="1"
Title="Core"
Description="The core $(var.MyProductName) files."
AllowAdvertise="no"
InstallDefault="local"
Absent="disallow">
<ComponentGroupRef Id="C.WinSpd.bin" />
<ComponentGroupRef Id="C.WinSpd.net" />
</Feature>
<Feature
Id="F.Developer"
Level="1000"
Title="Developer"
Description="Additional files needed for development."
AllowAdvertise="no"
InstallDefault="local"
Absent="allow">
<ComponentGroupRef Id="C.WinSpd.inc" />
<ComponentGroupRef Id="C.WinSpd.lib" />
<ComponentGroupRef Id="C.WinSpd.smp" />
<ComponentGroupRef Id="C.WinSpd.smp.net" />
<ComponentGroupRef Id="C.WinSpd.sym" />
</Feature>
</Feature>
<WixVariable Id="WixUIBannerBmp" Value="wixbanner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="wixdialog-$(var.MyProductStage).bmp" />
<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>
</Product>
</Wix>

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\version.properties" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.10</ProductVersion>
<ProjectGuid>862ec420-5e54-43aa-9d15-03dfafd3b02c</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>winspd-$(MyVersion)</OutputName>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath>
<IntermediateOutputPath>$(SolutionDir)build\$(Name).build\$(Configuration)\$(Platform)\</IntermediateOutputPath>
<DefineConstants>Debug;MyProductName=$(MyProductName);MyDescription=$(MyDescription);MyCompanyName=$(MyCompanyName);MyCopyright=$(MyCopyright);MyProductVersion=$(MyProductVersion);MyProductStage=$(MyProductStage);MyVersion=$(MyVersion);MyFullVersion=$(MyFullVersion)</DefineConstants>
<SuppressAllWarnings>False</SuppressAllWarnings>
<Pedantic>True</Pedantic>
<SuppressPdbOutput>True</SuppressPdbOutput>
<SuppressIces>ICE30</SuppressIces>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath>
<IntermediateOutputPath>$(SolutionDir)build\$(Name).build\$(Configuration)\$(Platform)\</IntermediateOutputPath>
<DefineConstants>MyProductName=$(MyProductName);MyDescription=$(MyDescription);MyCompanyName=$(MyCompanyName);MyCopyright=$(MyCopyright);MyProductVersion=$(MyProductVersion);MyProductStage=$(MyProductStage);MyVersion=$(MyVersion);MyFullVersion=$(MyFullVersion)</DefineConstants>
<SuppressAllWarnings>False</SuppressAllWarnings>
<Pedantic>True</Pedantic>
<SuppressPdbOutput>True</SuppressPdbOutput>
<SuppressIces>ICE30</SuppressIces>
</PropertyGroup>
<ItemGroup>
<Compile Include="Product.wxs" />
</ItemGroup>
<ItemGroup>
<WixExtension Include="WixUIExtension">
<HintPath>$(WixExtDir)\WixUIExtension.dll</HintPath>
<Name>WixUIExtension</Name>
</WixExtension>
<WixExtension Include="WixDependencyExtension">
<HintPath>$(WixExtDir)\WixDependencyExtension.dll</HintPath>
<Name>WixDependencyExtension</Name>
</WixExtension>
</ItemGroup>
<Import Project="$(WixTargetsPath)" />
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 KiB

View File

@ -47,10 +47,18 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "launcher", "tools\launcher.
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "launchctl", "tools\launchctl.vcxproj", "{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "installer", "installer", "{51C53802-A8DC-4919-B01D-E55AADD30532}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "winspd_msi", "installer\winspd_msi.wixproj", "{862EC420-5E54-43AA-9D15-03DFAFD3B02C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Installer.Debug|x64 = Installer.Debug|x64
Installer.Debug|x86 = Installer.Debug|x86
Installer.Release|x64 = Installer.Release|x64
Installer.Release|x86 = Installer.Release|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
@ -59,6 +67,10 @@ Global
{B8066540-44FD-41DB-8431-12ABFF9233D2}.Debug|x64.Build.0 = Debug|x64
{B8066540-44FD-41DB-8431-12ABFF9233D2}.Debug|x86.ActiveCfg = Debug|Win32
{B8066540-44FD-41DB-8431-12ABFF9233D2}.Debug|x86.Build.0 = Debug|Win32
{B8066540-44FD-41DB-8431-12ABFF9233D2}.Installer.Debug|x64.ActiveCfg = Debug|x64
{B8066540-44FD-41DB-8431-12ABFF9233D2}.Installer.Debug|x86.ActiveCfg = Debug|Win32
{B8066540-44FD-41DB-8431-12ABFF9233D2}.Installer.Release|x64.ActiveCfg = Release|x64
{B8066540-44FD-41DB-8431-12ABFF9233D2}.Installer.Release|x86.ActiveCfg = Release|Win32
{B8066540-44FD-41DB-8431-12ABFF9233D2}.Release|x64.ActiveCfg = Release|x64
{B8066540-44FD-41DB-8431-12ABFF9233D2}.Release|x64.Build.0 = Release|x64
{B8066540-44FD-41DB-8431-12ABFF9233D2}.Release|x86.ActiveCfg = Release|Win32
@ -67,6 +79,12 @@ Global
{989F4291-242B-4ABE-915F-366581E867B4}.Debug|x64.Build.0 = Debug|x64
{989F4291-242B-4ABE-915F-366581E867B4}.Debug|x86.ActiveCfg = Debug|Win32
{989F4291-242B-4ABE-915F-366581E867B4}.Debug|x86.Build.0 = Debug|Win32
{989F4291-242B-4ABE-915F-366581E867B4}.Installer.Debug|x64.ActiveCfg = Debug|x64
{989F4291-242B-4ABE-915F-366581E867B4}.Installer.Debug|x86.ActiveCfg = Debug|Win32
{989F4291-242B-4ABE-915F-366581E867B4}.Installer.Release|x64.ActiveCfg = Release|x64
{989F4291-242B-4ABE-915F-366581E867B4}.Installer.Release|x64.Deploy.0 = Release|x64
{989F4291-242B-4ABE-915F-366581E867B4}.Installer.Release|x86.ActiveCfg = Release|Win32
{989F4291-242B-4ABE-915F-366581E867B4}.Installer.Release|x86.Deploy.0 = Release|Win32
{989F4291-242B-4ABE-915F-366581E867B4}.Release|x64.ActiveCfg = Release|x64
{989F4291-242B-4ABE-915F-366581E867B4}.Release|x64.Build.0 = Release|x64
{989F4291-242B-4ABE-915F-366581E867B4}.Release|x64.Deploy.0 = Release|x64
@ -77,6 +95,10 @@ Global
{33A69A34-B54D-42BA-B397-3BFA8FF53E47}.Debug|x64.Build.0 = Debug|x64
{33A69A34-B54D-42BA-B397-3BFA8FF53E47}.Debug|x86.ActiveCfg = Debug|Win32
{33A69A34-B54D-42BA-B397-3BFA8FF53E47}.Debug|x86.Build.0 = Debug|Win32
{33A69A34-B54D-42BA-B397-3BFA8FF53E47}.Installer.Debug|x64.ActiveCfg = Debug|x64
{33A69A34-B54D-42BA-B397-3BFA8FF53E47}.Installer.Debug|x86.ActiveCfg = Debug|Win32
{33A69A34-B54D-42BA-B397-3BFA8FF53E47}.Installer.Release|x64.ActiveCfg = Release|x64
{33A69A34-B54D-42BA-B397-3BFA8FF53E47}.Installer.Release|x86.ActiveCfg = Release|Win32
{33A69A34-B54D-42BA-B397-3BFA8FF53E47}.Release|x64.ActiveCfg = Release|x64
{33A69A34-B54D-42BA-B397-3BFA8FF53E47}.Release|x64.Build.0 = Release|x64
{33A69A34-B54D-42BA-B397-3BFA8FF53E47}.Release|x86.ActiveCfg = Release|Win32
@ -85,6 +107,10 @@ Global
{9D6788F9-E009-4B01-AE54-2A80EE38E1F9}.Debug|x64.Build.0 = Debug|x64
{9D6788F9-E009-4B01-AE54-2A80EE38E1F9}.Debug|x86.ActiveCfg = Debug|Win32
{9D6788F9-E009-4B01-AE54-2A80EE38E1F9}.Debug|x86.Build.0 = Debug|Win32
{9D6788F9-E009-4B01-AE54-2A80EE38E1F9}.Installer.Debug|x64.ActiveCfg = Debug|x64
{9D6788F9-E009-4B01-AE54-2A80EE38E1F9}.Installer.Debug|x86.ActiveCfg = Debug|Win32
{9D6788F9-E009-4B01-AE54-2A80EE38E1F9}.Installer.Release|x64.ActiveCfg = Release|x64
{9D6788F9-E009-4B01-AE54-2A80EE38E1F9}.Installer.Release|x86.ActiveCfg = Release|Win32
{9D6788F9-E009-4B01-AE54-2A80EE38E1F9}.Release|x64.ActiveCfg = Release|x64
{9D6788F9-E009-4B01-AE54-2A80EE38E1F9}.Release|x64.Build.0 = Release|x64
{9D6788F9-E009-4B01-AE54-2A80EE38E1F9}.Release|x86.ActiveCfg = Release|Win32
@ -93,6 +119,10 @@ Global
{0874C20E-F460-4678-9331-9E9D06CF4B0C}.Debug|x64.Build.0 = Debug|x64
{0874C20E-F460-4678-9331-9E9D06CF4B0C}.Debug|x86.ActiveCfg = Debug|Win32
{0874C20E-F460-4678-9331-9E9D06CF4B0C}.Debug|x86.Build.0 = Debug|Win32
{0874C20E-F460-4678-9331-9E9D06CF4B0C}.Installer.Debug|x64.ActiveCfg = Debug|x64
{0874C20E-F460-4678-9331-9E9D06CF4B0C}.Installer.Debug|x86.ActiveCfg = Debug|Win32
{0874C20E-F460-4678-9331-9E9D06CF4B0C}.Installer.Release|x64.ActiveCfg = Release|x64
{0874C20E-F460-4678-9331-9E9D06CF4B0C}.Installer.Release|x86.ActiveCfg = Release|Win32
{0874C20E-F460-4678-9331-9E9D06CF4B0C}.Release|x64.ActiveCfg = Release|x64
{0874C20E-F460-4678-9331-9E9D06CF4B0C}.Release|x64.Build.0 = Release|x64
{0874C20E-F460-4678-9331-9E9D06CF4B0C}.Release|x86.ActiveCfg = Release|Win32
@ -101,6 +131,10 @@ Global
{9BDB114A-D26A-40EC-8403-E078520975E0}.Debug|x64.Build.0 = Debug|x64
{9BDB114A-D26A-40EC-8403-E078520975E0}.Debug|x86.ActiveCfg = Debug|Win32
{9BDB114A-D26A-40EC-8403-E078520975E0}.Debug|x86.Build.0 = Debug|Win32
{9BDB114A-D26A-40EC-8403-E078520975E0}.Installer.Debug|x64.ActiveCfg = Debug|x64
{9BDB114A-D26A-40EC-8403-E078520975E0}.Installer.Debug|x86.ActiveCfg = Debug|Win32
{9BDB114A-D26A-40EC-8403-E078520975E0}.Installer.Release|x64.ActiveCfg = Release|x64
{9BDB114A-D26A-40EC-8403-E078520975E0}.Installer.Release|x86.ActiveCfg = Release|Win32
{9BDB114A-D26A-40EC-8403-E078520975E0}.Release|x64.ActiveCfg = Release|x64
{9BDB114A-D26A-40EC-8403-E078520975E0}.Release|x64.Build.0 = Release|x64
{9BDB114A-D26A-40EC-8403-E078520975E0}.Release|x86.ActiveCfg = Release|Win32
@ -109,6 +143,10 @@ Global
{C4DF4782-34F3-4211-9126-F0CE47912DD3}.Debug|x64.Build.0 = Debug|Any CPU
{C4DF4782-34F3-4211-9126-F0CE47912DD3}.Debug|x86.ActiveCfg = Debug|Any CPU
{C4DF4782-34F3-4211-9126-F0CE47912DD3}.Debug|x86.Build.0 = Debug|Any CPU
{C4DF4782-34F3-4211-9126-F0CE47912DD3}.Installer.Debug|x64.ActiveCfg = Debug|Any CPU
{C4DF4782-34F3-4211-9126-F0CE47912DD3}.Installer.Debug|x86.ActiveCfg = Debug|Any CPU
{C4DF4782-34F3-4211-9126-F0CE47912DD3}.Installer.Release|x64.ActiveCfg = Release|Any CPU
{C4DF4782-34F3-4211-9126-F0CE47912DD3}.Installer.Release|x86.ActiveCfg = Release|Any CPU
{C4DF4782-34F3-4211-9126-F0CE47912DD3}.Release|x64.ActiveCfg = Release|Any CPU
{C4DF4782-34F3-4211-9126-F0CE47912DD3}.Release|x64.Build.0 = Release|Any CPU
{C4DF4782-34F3-4211-9126-F0CE47912DD3}.Release|x86.ActiveCfg = Release|Any CPU
@ -117,6 +155,10 @@ Global
{8AE23633-F941-47EE-97EB-67D0C60EE891}.Debug|x64.Build.0 = Debug|Any CPU
{8AE23633-F941-47EE-97EB-67D0C60EE891}.Debug|x86.ActiveCfg = Debug|Any CPU
{8AE23633-F941-47EE-97EB-67D0C60EE891}.Debug|x86.Build.0 = Debug|Any CPU
{8AE23633-F941-47EE-97EB-67D0C60EE891}.Installer.Debug|x64.ActiveCfg = Debug|Any CPU
{8AE23633-F941-47EE-97EB-67D0C60EE891}.Installer.Debug|x86.ActiveCfg = Debug|Any CPU
{8AE23633-F941-47EE-97EB-67D0C60EE891}.Installer.Release|x64.ActiveCfg = Release|Any CPU
{8AE23633-F941-47EE-97EB-67D0C60EE891}.Installer.Release|x86.ActiveCfg = Release|Any CPU
{8AE23633-F941-47EE-97EB-67D0C60EE891}.Release|x64.ActiveCfg = Release|Any CPU
{8AE23633-F941-47EE-97EB-67D0C60EE891}.Release|x64.Build.0 = Release|Any CPU
{8AE23633-F941-47EE-97EB-67D0C60EE891}.Release|x86.ActiveCfg = Release|Any CPU
@ -125,6 +167,10 @@ Global
{3A5F65BF-A8BA-4057-AC5A-F1EBA60EB510}.Debug|x64.Build.0 = Debug|x64
{3A5F65BF-A8BA-4057-AC5A-F1EBA60EB510}.Debug|x86.ActiveCfg = Debug|Win32
{3A5F65BF-A8BA-4057-AC5A-F1EBA60EB510}.Debug|x86.Build.0 = Debug|Win32
{3A5F65BF-A8BA-4057-AC5A-F1EBA60EB510}.Installer.Debug|x64.ActiveCfg = Debug|x64
{3A5F65BF-A8BA-4057-AC5A-F1EBA60EB510}.Installer.Debug|x86.ActiveCfg = Debug|Win32
{3A5F65BF-A8BA-4057-AC5A-F1EBA60EB510}.Installer.Release|x64.ActiveCfg = Release|x64
{3A5F65BF-A8BA-4057-AC5A-F1EBA60EB510}.Installer.Release|x86.ActiveCfg = Release|Win32
{3A5F65BF-A8BA-4057-AC5A-F1EBA60EB510}.Release|x64.ActiveCfg = Release|x64
{3A5F65BF-A8BA-4057-AC5A-F1EBA60EB510}.Release|x64.Build.0 = Release|x64
{3A5F65BF-A8BA-4057-AC5A-F1EBA60EB510}.Release|x86.ActiveCfg = Release|Win32
@ -133,6 +179,10 @@ Global
{7FEAC571-EB72-4B9B-B274-7EC15719AF1B}.Debug|x64.Build.0 = Debug|x64
{7FEAC571-EB72-4B9B-B274-7EC15719AF1B}.Debug|x86.ActiveCfg = Debug|Win32
{7FEAC571-EB72-4B9B-B274-7EC15719AF1B}.Debug|x86.Build.0 = Debug|Win32
{7FEAC571-EB72-4B9B-B274-7EC15719AF1B}.Installer.Debug|x64.ActiveCfg = Debug|x64
{7FEAC571-EB72-4B9B-B274-7EC15719AF1B}.Installer.Debug|x86.ActiveCfg = Debug|Win32
{7FEAC571-EB72-4B9B-B274-7EC15719AF1B}.Installer.Release|x64.ActiveCfg = Release|x64
{7FEAC571-EB72-4B9B-B274-7EC15719AF1B}.Installer.Release|x86.ActiveCfg = Release|Win32
{7FEAC571-EB72-4B9B-B274-7EC15719AF1B}.Release|x64.ActiveCfg = Release|x64
{7FEAC571-EB72-4B9B-B274-7EC15719AF1B}.Release|x64.Build.0 = Release|x64
{7FEAC571-EB72-4B9B-B274-7EC15719AF1B}.Release|x86.ActiveCfg = Release|Win32
@ -141,10 +191,26 @@ Global
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}.Debug|x64.Build.0 = Debug|x64
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}.Debug|x86.ActiveCfg = Debug|Win32
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}.Debug|x86.Build.0 = Debug|Win32
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}.Installer.Debug|x64.ActiveCfg = Debug|x64
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}.Installer.Debug|x86.ActiveCfg = Debug|Win32
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}.Installer.Release|x64.ActiveCfg = Release|x64
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}.Installer.Release|x86.ActiveCfg = Release|Win32
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}.Release|x64.ActiveCfg = Release|x64
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}.Release|x64.Build.0 = Release|x64
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}.Release|x86.ActiveCfg = Release|Win32
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB}.Release|x86.Build.0 = Release|Win32
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Debug|x64.ActiveCfg = Debug|x86
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Debug|x86.ActiveCfg = Debug|x86
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Installer.Debug|x64.ActiveCfg = Debug|x86
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Installer.Debug|x64.Build.0 = Debug|x86
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Installer.Debug|x86.ActiveCfg = Debug|x86
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Installer.Debug|x86.Build.0 = Debug|x86
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Installer.Release|x64.ActiveCfg = Release|x86
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Installer.Release|x64.Build.0 = Release|x86
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Installer.Release|x86.ActiveCfg = Release|x86
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Installer.Release|x86.Build.0 = Release|x86
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Release|x64.ActiveCfg = Release|x86
{862EC420-5E54-43AA-9D15-03DFAFD3B02C}.Release|x86.ActiveCfg = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -159,5 +225,6 @@ Global
{3A5F65BF-A8BA-4057-AC5A-F1EBA60EB510} = {F809D260-BBDF-431C-8F4B-BCD0F5BF3C01}
{7FEAC571-EB72-4B9B-B274-7EC15719AF1B} = {F809D260-BBDF-431C-8F4B-BCD0F5BF3C01}
{191E3C10-A4D9-4A71-AC78-CCC52ECE74FB} = {F809D260-BBDF-431C-8F4B-BCD0F5BF3C01}
{862EC420-5E54-43AA-9D15-03DFAFD3B02C} = {51C53802-A8DC-4919-B01D-E55AADD30532}
EndGlobalSection
EndGlobal