2019-07-22 09:36:21 +02:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
|
|
<ItemGroup Label="ProjectConfigurations">
|
|
|
|
<ProjectConfiguration Include="Debug|ARM64">
|
|
|
|
<Configuration>Debug</Configuration>
|
|
|
|
<Platform>ARM64</Platform>
|
|
|
|
</ProjectConfiguration>
|
|
|
|
<ProjectConfiguration Include="Debug|Win32">
|
|
|
|
<Configuration>Debug</Configuration>
|
|
|
|
<Platform>Win32</Platform>
|
|
|
|
</ProjectConfiguration>
|
|
|
|
<ProjectConfiguration Include="Release|ARM64">
|
|
|
|
<Configuration>Release</Configuration>
|
|
|
|
<Platform>ARM64</Platform>
|
|
|
|
</ProjectConfiguration>
|
|
|
|
<ProjectConfiguration Include="Release|Win32">
|
|
|
|
<Configuration>Release</Configuration>
|
|
|
|
<Platform>Win32</Platform>
|
|
|
|
</ProjectConfiguration>
|
|
|
|
<ProjectConfiguration Include="Debug|x64">
|
|
|
|
<Configuration>Debug</Configuration>
|
|
|
|
<Platform>x64</Platform>
|
|
|
|
</ProjectConfiguration>
|
|
|
|
<ProjectConfiguration Include="Release|x64">
|
|
|
|
<Configuration>Release</Configuration>
|
|
|
|
<Platform>x64</Platform>
|
|
|
|
</ProjectConfiguration>
|
|
|
|
</ItemGroup>
|
|
|
|
<PropertyGroup Label="Globals">
|
|
|
|
<VCProjectVersion>16.0</VCProjectVersion>
|
|
|
|
<ProjectGuid>{D19E6354-A643-4ACC-82D5-B2780BB83475}</ProjectGuid>
|
|
|
|
<Keyword>Win32Proj</Keyword>
|
|
|
|
<RootNamespace>installer</RootNamespace>
|
|
|
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
|
|
|
<ProjectName>installer</ProjectName>
|
|
|
|
</PropertyGroup>
|
|
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
|
|
<PlatformToolset>v142</PlatformToolset>
|
|
|
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
|
|
<SpectreMitigation>false</SpectreMitigation>
|
|
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
|
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
|
|
<PlatformToolset>v142</PlatformToolset>
|
|
|
|
<SpectreMitigation>false</SpectreMitigation>
|
|
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
|
|
<PlatformToolset>v142</PlatformToolset>
|
|
|
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
|
|
<SpectreMitigation>false</SpectreMitigation>
|
|
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
|
|
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
|
|
<PlatformToolset>v142</PlatformToolset>
|
|
|
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
|
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
|
|
<PlatformToolset>v142</PlatformToolset>
|
|
|
|
<SpectreMitigation>false</SpectreMitigation>
|
|
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
|
|
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
|
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
|
|
<PlatformToolset>v142</PlatformToolset>
|
|
|
|
</PropertyGroup>
|
|
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
|
|
<ImportGroup Label="ExtensionSettings">
|
|
|
|
</ImportGroup>
|
|
|
|
<ImportGroup Label="Shared">
|
|
|
|
</ImportGroup>
|
|
|
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
|
|
<Import Project="..\wintun.props" />
|
|
|
|
</ImportGroup>
|
|
|
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
|
|
<Import Project="..\wintun.props" />
|
|
|
|
</ImportGroup>
|
|
|
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
|
|
<Import Project="..\wintun.props" />
|
|
|
|
</ImportGroup>
|
|
|
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
|
|
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
|
|
<Import Project="..\wintun.props" />
|
|
|
|
</ImportGroup>
|
|
|
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
|
|
<Import Project="..\wintun.props" />
|
|
|
|
</ImportGroup>
|
|
|
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
|
|
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
|
|
<Import Project="..\wintun.props" />
|
|
|
|
</ImportGroup>
|
|
|
|
<PropertyGroup Label="UserMacros" />
|
|
|
|
<PropertyGroup>
|
|
|
|
<OutDir>..\$(WintunPlatform)\$(Configuration)\</OutDir>
|
|
|
|
<IntDir>..\$(WintunPlatform)\$(Configuration)\installer-intermediate\</IntDir>
|
|
|
|
<CodeAnalysisRuleSet>NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
|
|
|
<RunCodeAnalysis>true</RunCodeAnalysis>
|
|
|
|
<LocalDebuggerCommand>rundll32.exe</LocalDebuggerCommand>
|
2019-08-05 13:32:03 +02:00
|
|
|
<LocalDebuggerCommandArguments>$(OutDir)$(TargetName)$(TargetExt),InstallWintun</LocalDebuggerCommandArguments>
|
2019-07-22 09:36:21 +02:00
|
|
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
2019-08-05 13:32:03 +02:00
|
|
|
<WixArch Condition="'$(Platform)'=='Win32'">x86</WixArch>
|
|
|
|
<WixArch Condition="'$(Platform)'=='x64'">x64</WixArch>
|
|
|
|
<WixArch Condition="'$(Platform)'=='ARM64'">arm64</WixArch>
|
|
|
|
<WixCandleFlags>$(WixCandleFlags) -nologo -arch $(WixArch) -dWINTUN_PLATFORM=$(WintunPlatform) -dWINTUN_VERSION=$(WintunVersion) -sw1086</WixCandleFlags>
|
|
|
|
<WixLightFlags>$(WixLightFlags) -nologo -b output_dir="$(OutDir.TrimEnd('\'))" -spdb -sw1076 -sw1079</WixLightFlags>
|
|
|
|
<WixOutputPath>$(OutDir)</WixOutputPath>
|
|
|
|
<WixOutputName>wintun</WixOutputName>
|
|
|
|
<WixOutputExt>.msm</WixOutputExt>
|
|
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
|
|
|
<WixOutputPath>..\$(DistributionDir)</WixOutputPath>
|
|
|
|
<WixOutputName>wintun-$(WintunPlatform)-$(WintunVersionStr)</WixOutputName>
|
2019-07-22 09:36:21 +02:00
|
|
|
</PropertyGroup>
|
|
|
|
<ItemDefinitionGroup>
|
|
|
|
<ClCompile>
|
|
|
|
<PreprocessorDefinitions>_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
|
|
<PreprocessorDefinitions Condition="Exists('..\$(WintunPlatform)\$(Configuration)\whql\')">HAVE_WHQL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
|
|
</ClCompile>
|
|
|
|
<ResourceCompile>
|
|
|
|
<AdditionalIncludeDirectories>..\$(WintunPlatform)\$(Configuration);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
|
|
<PreprocessorDefinitions Condition="Exists('..\$(WintunPlatform)\$(Configuration)\whql\')">HAVE_WHQL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
|
|
</ResourceCompile>
|
|
|
|
<Link>
|
|
|
|
<ModuleDefinitionFile>exports.def</ModuleDefinitionFile>
|
|
|
|
<AdditionalDependencies>newdev.lib;ntdll.lib;Crypt32.lib;Msi.lib;Setupapi.lib;shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
|
|
<SubSystem>Windows</SubSystem>
|
|
|
|
</Link>
|
|
|
|
</ItemDefinitionGroup>
|
|
|
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
|
|
|
<ClCompile>
|
|
|
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
|
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
|
|
</ClCompile>
|
|
|
|
<ResourceCompile>
|
|
|
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
|
|
</ResourceCompile>
|
|
|
|
</ItemDefinitionGroup>
|
|
|
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
|
|
|
<ClCompile>
|
|
|
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
|
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
|
|
</ClCompile>
|
|
|
|
<ResourceCompile>
|
|
|
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
|
|
</ResourceCompile>
|
|
|
|
<Link>
|
|
|
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
|
|
<OptimizeReferences>true</OptimizeReferences>
|
|
|
|
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
|
|
|
</Link>
|
|
|
|
</ItemDefinitionGroup>
|
|
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
|
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
|
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" />
|
|
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
|
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
|
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" />
|
|
|
|
<ItemGroup>
|
|
|
|
<ClCompile Include="installation.c" />
|
|
|
|
<ClCompile Include="msi.c" />
|
|
|
|
<ClCompile Include="rundll32.c" />
|
|
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
|
|
<ResourceCompile Include="resources.rc" />
|
|
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
|
|
<ClInclude Include="installation.h" />
|
|
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
|
|
<None Include="exports.def" />
|
|
|
|
<None Include="installer.wxs" />
|
|
|
|
</ItemGroup>
|
|
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
|
|
<ImportGroup Label="ExtensionTargets">
|
|
|
|
</ImportGroup>
|
|
|
|
<Import Project="..\wintun.vcxproj.user" Condition="exists('..\wintun.vcxproj.user')" />
|
|
|
|
<PropertyGroup>
|
|
|
|
<SigningCertificate Condition="$(SignMode)=='TestSign' And '$(TestCertificate)'!=''">$(TestCertificate)</SigningCertificate>
|
|
|
|
<SigningCertificate Condition="$(SignMode)=='ProductionSign' And '$(ProductionCertificate)'!=''">$(ProductionCertificate)</SigningCertificate>
|
|
|
|
<BuildDependsOn Condition="'$(SigningCertificate)'!='' And '$(TimeStampServer)'!=''">$(BuildDependsOn);SignTarget</BuildDependsOn>
|
2019-08-05 13:32:03 +02:00
|
|
|
<MSMDependsOn>$(MSMDependsOn);WixCompile;WixLink</MSMDependsOn>
|
|
|
|
<MSMDependsOn Condition="'$(SigningCertificate)'!='' And '$(TimeStampServer)'!=''">$(MSMDependsOn);WixSign</MSMDependsOn>
|
|
|
|
<CleanDependsOn>CleanSignTarget;WixClean;$(CleanDependsOn)</CleanDependsOn>
|
2019-07-22 09:36:21 +02:00
|
|
|
</PropertyGroup>
|
|
|
|
<Target Name="SignTarget" Inputs="$(TargetPath)" Outputs="$(IntermediateOutputPath)$(TargetName).sign">
|
2019-08-05 13:25:32 +02:00
|
|
|
<Exec Command=""$(SignToolPath)" sign /sha1 "$(SigningCertificate)" /fd sha256 /tr "$(TimeStampServer)" /td sha256 "$(TargetPath)"" />
|
2019-07-22 09:36:21 +02:00
|
|
|
<Touch Files="$(IntermediateOutputPath)$(TargetName).sign" AlwaysCreate="true" />
|
|
|
|
</Target>
|
|
|
|
<Target Name="CleanSignTarget">
|
|
|
|
<Delete Files="$(IntermediateOutputPath)$(TargetName).sign" />
|
|
|
|
</Target>
|
2019-08-05 13:32:03 +02:00
|
|
|
<Target Name="HashInstallerLibrary" DependsOnTargets="Build">
|
|
|
|
<GetFileHash Files="$(OutDir)$(TargetName)$(TargetExt)" Algorithm="SHA256" HashEncoding="hex">
|
|
|
|
<Output TaskParameter="Items" ItemName="InstallerLibraryHash" />
|
|
|
|
</GetFileHash>
|
|
|
|
<PropertyGroup>
|
|
|
|
<WixCandleFlags>$(WixCandleFlags) -dINSTALLER_LIBRARY_HASH=@(InstallerLibraryHash->Metadata('FileHash')) -dINSTALLER_LIBRARY_TIME=$([System.IO.File]::GetLastWriteTime('$(OutDir)$(TargetName)$(TargetExt)').Ticks)</WixCandleFlags>
|
|
|
|
</PropertyGroup>
|
|
|
|
</Target>
|
|
|
|
<Target Name="WixCompile" DependsOnTargets="HashInstallerLibrary" Inputs="installer.wxs" Outputs="$(IntDir)installer.wixobj">
|
|
|
|
<Exec Command=""$(WIX)bin\candle.exe" $(WixCandleFlags) -out "$(IntDir)installer.wixobj" installer.wxs" />
|
|
|
|
</Target>
|
|
|
|
<Target Name="WixLink" DependsOnTargets="Build;WixCompile" Inputs="$(IntDir)installer.wixobj;$(OutDir)$(TargetName)$(TargetExt)" Outputs="$(WixOutputPath)$(WixOutputName)$(WixOutputExt)">
|
|
|
|
<Exec Command=""$(WIX)bin\light.exe" $(WixLightFlags) -out "$(WixOutputPath)$(WixOutputName)$(WixOutputExt)" "$(IntDir)installer.wixobj"" />
|
|
|
|
</Target>
|
|
|
|
<Target Name="WixSign" DependsOnTargets="WixLink" Inputs="$(WixOutputPath)$(WixOutputName)$(WixOutputExt)" Outputs="$(IntDir)$(WixOutputName).sign">
|
|
|
|
<Exec Command=""$(SignToolPath)" sign /sha1 "$(SigningCertificate)" /fd sha256 /tr "$(TimeStampServer)" /td sha256 "$(WixOutputPath)$(WixOutputName)$(WixOutputExt)"" />
|
|
|
|
<Touch Files="$(IntDir)$(WixOutputName).sign" AlwaysCreate="true" />
|
|
|
|
</Target>
|
|
|
|
<Target Name="WixClean">
|
|
|
|
<Delete Files="$(IntDir)installer.wixobj;$(WixOutputPath)$(WixOutputName)$(WixOutputExt);$(IntDir)$(WixOutputName).sign" />
|
|
|
|
</Target>
|
|
|
|
<Target Name="MSM" DependsOnTargets="$(MSMDependsOn)" />
|
2019-07-22 09:36:21 +02:00
|
|
|
</Project>
|