[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 2/3] Add a co-installer
The co-installer does not do anything as yet. Functionality will be added in a subsequent patch. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> --- src/coinst/coinst.c | 493 +++++++++++++++++++++ src/coinst/xeniface_coinst.def | 37 ++ src/xeniface.inf | 16 + vs2012/package/package.vcxproj | 3 + vs2012/xeniface.sln | 173 +++++--- vs2012/xeniface/xeniface.vcxproj | 6 +- vs2012/xeniface_coinst/xeniface_coinst.vcxproj | 85 ++++ .../xeniface_coinst/xeniface_coinst.vcxproj.user | 8 + vs2013/package/package.vcxproj | 3 + vs2013/xeniface.sln | 56 ++- vs2013/xeniface/xeniface.vcxproj | 6 +- vs2013/xeniface_coinst/xeniface_coinst.vcxproj | 113 +++++ .../xeniface_coinst/xeniface_coinst.vcxproj.user | 8 + 13 files changed, 937 insertions(+), 70 deletions(-) create mode 100644 src/coinst/coinst.c create mode 100644 src/coinst/xeniface_coinst.def create mode 100644 vs2012/xeniface_coinst/xeniface_coinst.vcxproj create mode 100644 vs2012/xeniface_coinst/xeniface_coinst.vcxproj.user create mode 100644 vs2013/xeniface_coinst/xeniface_coinst.vcxproj create mode 100644 vs2013/xeniface_coinst/xeniface_coinst.vcxproj.user diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c new file mode 100644 index 0000000..cd3d1e0 --- /dev/null +++ b/src/coinst/coinst.c @@ -0,0 +1,493 @@ +/* Copyright (c) Citrix Systems Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, + * with or without modification, are permitted provided + * that the following conditions are met: + * + * * Redistributions of source code must retain the above + * copyright notice, this list of conditions and the + * following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the + * following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#define INITGUID + +#include <windows.h> +#include <setupapi.h> +#include <devguid.h> +#include <stdio.h> +#include <stdlib.h> +#include <strsafe.h> +#include <malloc.h> +#include <assert.h> + +#include <suspend_interface.h> +#include <shared_info_interface.h> +#include <store_interface.h> + +#include <version.h> + +__user_code; + +#define MAXIMUM_BUFFER_SIZE 1024 + +#define SERVICES_KEY "SYSTEM\\CurrentControlSet\\Services" + +#define SERVICE_KEY(_Driver) \ + SERVICES_KEY ## "\\" ## #_Driver + +#define PARAMETERS_KEY(_Driver) \ + SERVICE_KEY(_Driver) ## "\\Parameters" + +#define CONTROL_KEY "SYSTEM\\CurrentControlSet\\Control" + +#define CLASS_KEY \ + CONTROL_KEY ## "\\Class" + +#define ENUM_KEY "SYSTEM\\CurrentControlSet\\Enum" + +static VOID +#pragma prefast(suppress:6262) // Function uses '1036' bytes of stack: exceeds /analyze:stacksize'1024' +__Log( + IN const CHAR *Format, + IN ... + ) +{ + TCHAR Buffer[MAXIMUM_BUFFER_SIZE]; + va_list Arguments; + size_t Length; + SP_LOG_TOKEN LogToken; + DWORD Category; + DWORD Flags; + HRESULT Result; + + va_start(Arguments, Format); + Result = StringCchVPrintf(Buffer, MAXIMUM_BUFFER_SIZE, Format, Arguments); + va_end(Arguments); + + if (Result != S_OK && Result != STRSAFE_E_INSUFFICIENT_BUFFER) + return; + + Result = StringCchLength(Buffer, MAXIMUM_BUFFER_SIZE, &Length); + if (Result != S_OK) + return; + + LogToken = SetupGetThreadLogToken(); + Category = TXTLOG_VENDOR; + Flags = TXTLOG_DETAILS; + + SetupWriteTextLog(LogToken, Category, Flags, Buffer); + Length = __min(MAXIMUM_BUFFER_SIZE - 1, Length + 2); + + __analysis_assume(Length < MAXIMUM_BUFFER_SIZE); + __analysis_assume(Length >= 2); + Buffer[Length] = '\0'; + Buffer[Length - 1] = '\n'; + Buffer[Length - 2] = '\r'; + + OutputDebugString(Buffer); +} + +#define Log(_Format, ...) \ + __Log(__MODULE__ "|" __FUNCTION__ ": " _Format, __VA_ARGS__) + +static PTCHAR +GetErrorMessage( + IN DWORD Error + ) +{ + PTCHAR Message; + ULONG Index; + + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + Error, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR)&Message, + 0, + NULL); + + for (Index = 0; Message[Index] != '\0'; Index++) { + if (Message[Index] == '\r' || Message[Index] == '\n') { + Message[Index] = '\0'; + break; + } + } + + return Message; +} + +static const CHAR * +FunctionName( + IN DI_FUNCTION Function + ) +{ +#define _NAME(_Function) \ + case DIF_ ## _Function: \ + return #_Function; + + switch (Function) { + _NAME(INSTALLDEVICE); + _NAME(REMOVE); + _NAME(SELECTDEVICE); + _NAME(ASSIGNRESOURCES); + _NAME(PROPERTIES); + _NAME(FIRSTTIMESETUP); + _NAME(FOUNDDEVICE); + _NAME(SELECTCLASSDRIVERS); + _NAME(VALIDATECLASSDRIVERS); + _NAME(INSTALLCLASSDRIVERS); + _NAME(CALCDISKSPACE); + _NAME(DESTROYPRIVATEDATA); + _NAME(VALIDATEDRIVER); + _NAME(MOVEDEVICE); + _NAME(DETECT); + _NAME(INSTALLWIZARD); + _NAME(DESTROYWIZARDDATA); + _NAME(PROPERTYCHANGE); + _NAME(ENABLECLASS); + _NAME(DETECTVERIFY); + _NAME(INSTALLDEVICEFILES); + _NAME(ALLOW_INSTALL); + _NAME(SELECTBESTCOMPATDRV); + _NAME(REGISTERDEVICE); + _NAME(NEWDEVICEWIZARD_PRESELECT); + _NAME(NEWDEVICEWIZARD_SELECT); + _NAME(NEWDEVICEWIZARD_PREANALYZE); + _NAME(NEWDEVICEWIZARD_POSTANALYZE); + _NAME(NEWDEVICEWIZARD_FINISHINSTALL); + _NAME(INSTALLINTERFACES); + _NAME(DETECTCANCEL); + _NAME(REGISTER_COINSTALLERS); + _NAME(ADDPROPERTYPAGE_ADVANCED); + _NAME(ADDPROPERTYPAGE_BASIC); + _NAME(TROUBLESHOOTER); + _NAME(POWERMESSAGEWAKE); + default: + break; + } + + return "UNKNOWN"; + +#undef _NAME +} + +static HRESULT +DifInstallPreProcess( + IN HDEVINFO DeviceInfoSet, + IN PSP_DEVINFO_DATA DeviceInfoData, + IN PCOINSTALLER_CONTEXT_DATA Context + ) +{ + UNREFERENCED_PARAMETER(DeviceInfoSet); + UNREFERENCED_PARAMETER(DeviceInfoData); + UNREFERENCED_PARAMETER(Context); + + Log("<===>"); + + return NO_ERROR; +} + +static HRESULT +DifInstallPostProcess( + IN HDEVINFO DeviceInfoSet, + IN PSP_DEVINFO_DATA DeviceInfoData, + IN PCOINSTALLER_CONTEXT_DATA Context + ) +{ + UNREFERENCED_PARAMETER(DeviceInfoSet); + UNREFERENCED_PARAMETER(DeviceInfoData); + UNREFERENCED_PARAMETER(Context); + + Log("<===>"); + + return NO_ERROR; +} + +static HRESULT +DifInstall( + IN HDEVINFO DeviceInfoSet, + IN PSP_DEVINFO_DATA DeviceInfoData, + IN PCOINSTALLER_CONTEXT_DATA Context + ) +{ + SP_DEVINSTALL_PARAMS DeviceInstallParams; + HRESULT Error; + + DeviceInstallParams.cbSize = sizeof (DeviceInstallParams); + + if (!SetupDiGetDeviceInstallParams(DeviceInfoSet, + DeviceInfoData, + &DeviceInstallParams)) + goto fail1; + + Log("Flags = %08x", DeviceInstallParams.Flags); + + if (!Context->PostProcessing) { + Error = DifInstallPreProcess(DeviceInfoSet, DeviceInfoData, Context); + + if (Error == NO_ERROR) + Error = ERROR_DI_POSTPROCESSING_REQUIRED; + } else { + Error = Context->InstallResult; + + if (Error == NO_ERROR) { + (VOID) DifInstallPostProcess(DeviceInfoSet, DeviceInfoData, Context); + } else { + PTCHAR Message; + + Message = GetErrorMessage(Error); + Log("NOT RUNNING (DifInstallPreProcess Error: %s)", Message); + LocalFree(Message); + } + + Error = NO_ERROR; + } + + return Error; + +fail1: + Error = GetLastError(); + + { + PTCHAR Message; + + Message = GetErrorMessage(Error); + Log("fail1 (%s)", Message); + LocalFree(Message); + } + + return Error; +} + +static HRESULT +DifRemovePreProcess( + IN HDEVINFO DeviceInfoSet, + IN PSP_DEVINFO_DATA DeviceInfoData, + IN PCOINSTALLER_CONTEXT_DATA Context + ) +{ + UNREFERENCED_PARAMETER(DeviceInfoSet); + UNREFERENCED_PARAMETER(DeviceInfoData); + UNREFERENCED_PARAMETER(Context); + + Log("<===>"); + + return NO_ERROR; +} + +static HRESULT +DifRemovePostProcess( + IN HDEVINFO DeviceInfoSet, + IN PSP_DEVINFO_DATA DeviceInfoData, + IN PCOINSTALLER_CONTEXT_DATA Context + ) +{ + UNREFERENCED_PARAMETER(DeviceInfoSet); + UNREFERENCED_PARAMETER(DeviceInfoData); + UNREFERENCED_PARAMETER(Context); + + Log("<===>"); + + return NO_ERROR; +} + +static HRESULT +DifRemove( + IN HDEVINFO DeviceInfoSet, + IN PSP_DEVINFO_DATA DeviceInfoData, + IN PCOINSTALLER_CONTEXT_DATA Context + ) +{ + SP_DEVINSTALL_PARAMS DeviceInstallParams; + HRESULT Error; + + DeviceInstallParams.cbSize = sizeof (DeviceInstallParams); + + if (!SetupDiGetDeviceInstallParams(DeviceInfoSet, + DeviceInfoData, + &DeviceInstallParams)) + goto fail1; + + Log("Flags = %08x", DeviceInstallParams.Flags); + + if (!Context->PostProcessing) { + Error = DifRemovePreProcess(DeviceInfoSet, DeviceInfoData, Context); + + if (Error == NO_ERROR) + Error = ERROR_DI_POSTPROCESSING_REQUIRED; + } else { + Error = Context->InstallResult; + + if (Error == NO_ERROR) { + (VOID) DifRemovePostProcess(DeviceInfoSet, DeviceInfoData, Context); + } else { + PTCHAR Message; + + Message = GetErrorMessage(Error); + Log("NOT RUNNING (DifRemovePreProcess Error: %s)", Message); + LocalFree(Message); + } + + Error = NO_ERROR; + } + + return Error; + +fail1: + Error = GetLastError(); + + { + PTCHAR Message; + + Message = GetErrorMessage(Error); + Log("fail1 (%s)", Message); + LocalFree(Message); + } + + return Error; +} + +DWORD CALLBACK +Entry( + IN DI_FUNCTION Function, + IN HDEVINFO DeviceInfoSet, + IN PSP_DEVINFO_DATA DeviceInfoData, + IN PCOINSTALLER_CONTEXT_DATA Context + ) +{ + HRESULT Error; + + Log("%s (%s) ===>", + MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR, + DAY_STR "/" MONTH_STR "/" YEAR_STR); + + if (!Context->PostProcessing) { + Log("%s PreProcessing", + FunctionName(Function)); + } else { + Log("%s PostProcessing (%08x)", + FunctionName(Function), + Context->InstallResult); + } + + switch (Function) { + case DIF_INSTALLDEVICE: { + SP_DRVINFO_DATA DriverInfoData; + BOOLEAN DriverInfoAvailable; + + DriverInfoData.cbSize = sizeof (DriverInfoData); + DriverInfoAvailable = SetupDiGetSelectedDriver(DeviceInfoSet, + DeviceInfoData, + &DriverInfoData) ? + TRUE : + FALSE; + + // If there is no driver information then the NULL driver is being + // installed. Treat this as we would a DIF_REMOVE. + Error = (DriverInfoAvailable) ? + DifInstall(DeviceInfoSet, DeviceInfoData, Context) : + DifRemove(DeviceInfoSet, DeviceInfoData, Context); + break; + } + case DIF_REMOVE: + Error = DifRemove(DeviceInfoSet, DeviceInfoData, Context); + break; + default: + if (!Context->PostProcessing) { + Error = NO_ERROR; + } else { + Error = Context->InstallResult; + } + + break; + } + + Log("%s (%s) <===", + MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR, + DAY_STR "/" MONTH_STR "/" YEAR_STR); + + return (DWORD)Error; +} + +DWORD CALLBACK +Version( + IN HWND Window, + IN HINSTANCE Module, + IN PTCHAR Buffer, + IN INT Reserved + ) +{ + UNREFERENCED_PARAMETER(Window); + UNREFERENCED_PARAMETER(Module); + UNREFERENCED_PARAMETER(Buffer); + UNREFERENCED_PARAMETER(Reserved); + + Log("%s (%s)", + MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR, + DAY_STR "/" MONTH_STR "/" YEAR_STR); + + return NO_ERROR; +} + +static const CHAR * +ReasonName( + IN DWORD Reason + ) +{ +#define _NAME(_Reason) \ + case DLL_ ## _Reason: \ + return #_Reason; + + switch (Reason) { + _NAME(PROCESS_ATTACH); + _NAME(PROCESS_DETACH); + _NAME(THREAD_ATTACH); + _NAME(THREAD_DETACH); + default: + break; + } + + return "UNKNOWN"; + +#undef _NAME +} + +BOOL WINAPI +DllMain( + IN HINSTANCE Module, + IN DWORD Reason, + IN PVOID Reserved + ) +{ + UNREFERENCED_PARAMETER(Module); + UNREFERENCED_PARAMETER(Reserved); + + Log("%s (%s): %s", + MAJOR_VERSION_STR "." MINOR_VERSION_STR "." MICRO_VERSION_STR "." BUILD_NUMBER_STR, + DAY_STR "/" MONTH_STR "/" YEAR_STR, + ReasonName(Reason)); + + return TRUE; +} diff --git a/src/coinst/xeniface_coinst.def b/src/coinst/xeniface_coinst.def new file mode 100644 index 0000000..69fee2e --- /dev/null +++ b/src/coinst/xeniface_coinst.def @@ -0,0 +1,37 @@ +; Copyright (c) Citrix Systems Inc. +; All rights reserved. +; +; Redistribution and use in source and binary forms, +; with or without modification, are permitted provided +; that the following conditions are met: +; +; * Redistributions of source code must retain the above +; copyright notice, this list of conditions and the +; following disclaimer. +; * Redistributions in binary form must reproduce the above +; copyright notice, this list of conditions and the +; following disclaimer in the documentation and/or other +; materials provided with the distribution. +; +; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +; CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +; BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +; SUCH DAMAGE. + +LIBRARY XENBUS_COINST + +EXPORTS + Entry + Version + + DllMain PRIVATE diff --git a/src/xeniface.inf b/src/xeniface.inf index a5969b9..44a54fc 100644 --- a/src/xeniface.inf +++ b/src/xeniface.inf @@ -38,6 +38,7 @@ CatalogFile=xeniface.cat [DestinationDirs] DefaultDestDir = 12 +Coinst.NT.Copy = 11 ServiceDestDir.NT.Copy = 11 [Manufacturer] @@ -57,6 +58,9 @@ CopyFiles=XenIface_Device.NT.Copy, ServiceDestDir.NT.Copy [XenIFace_Device.NT.Copy] xeniface.sys +[CoInst.NT.Copy] +xeniface_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xeniface_coinst.dll + [ServiceDestDir.NT.Copy] liteagent.exe @@ -71,6 +75,17 @@ StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\xeniface.sys LoadOrderGroup = Extended Base +AddReg = Xeniface_Parameters + +[Xeniface_Parameters] +HKR,"Parameters",,0x00000010 + +[Xeniface_Device.NT$ARCH$.Coinstallers] +CopyFiles=CoInst.NT.Copy +AddReg=CoInst_AddReg + +[CoInst_AddReg] +HKR,,CoInstallers32,0x00010000,"xeniface_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,Entry" [xenlite_Service_Inst] DisplayName = %xenlite.SVCDESC% @@ -85,6 +100,7 @@ ServiceBinary = %11%\liteagent.exe [SourceDisksFiles] xeniface.sys = 1,, liteagent.exe = 1,, +xeniface_coinst.dll=1,, [Strings] SPSVCINST_ASSOCSERVICE= 0x00000002 diff --git a/vs2012/package/package.vcxproj b/vs2012/package/package.vcxproj index 94f273a..4b59968 100644 --- a/vs2012/package/package.vcxproj +++ b/vs2012/package/package.vcxproj @@ -44,6 +44,9 @@ <ProjectReference Include="..\xeniface\xeniface.vcxproj"> <Project>{22166290-65D8-49D2-BB88-33201797C7D8}</Project> </ProjectReference> + <ProjectReference Include="..\xeniface_coinst\xeniface_coinst.vcxproj"> + <Project>{85c731ad-2ea2-4049-a542-d2d38ede938c}</Project> + </ProjectReference> </ItemGroup> <ItemGroup> <FilesToPackage Include="$(KIT)\Redist\DIFx\dpinst\EngMui\x86\dpinst.exe" Condition="'$(Platform)'=='Win32'" /> diff --git a/vs2012/xeniface.sln b/vs2012/xeniface.sln index 1913a5b..cb6becf 100644 --- a/vs2012/xeniface.sln +++ b/vs2012/xeniface.sln @@ -1,12 +1,14 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xeniface_coinst", "xeniface_coinst\xeniface_coinst.vcxproj", "{85C731AD-2EA2-4049-A542-D2D38EDE938C}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xeniface", "xeniface\xeniface.vcxproj", "{22166290-65D8-49D2-BB88-33201797C7D8}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LiteAgent", "liteagent\LiteAgent.vcxproj", "{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{9B071A35-897C-477A-AEB7-95F77618A21D}" ProjectSection(ProjectDependencies) = postProject - {22166290-65D8-49D2-BB88-33201797C7D8} = {22166290-65D8-49D2-BB88-33201797C7D8} + {85C731AD-2EA2-4049-A542-D2D38EDE938C} = {85C731AD-2EA2-4049-A542-D2D38EDE938C} {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B} = {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B} EndProjectSection EndProject @@ -30,11 +32,60 @@ Global Windows Vista Release|x64 = Windows Vista Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|Win32.Build.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|Win32.Deploy.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|x64.ActiveCfg = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|x64.Build.0 = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|x64.Deploy.0 = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|Win32.ActiveCfg = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|Win32.Build.0 = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|Win32.Deploy.0 = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|x64.ActiveCfg = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|x64.Build.0 = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|x64.Deploy.0 = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|Win32.Deploy.0 = Windows 7 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|x64.Deploy.0 = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|Win32.Deploy.0 = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|x64.Deploy.0 = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|Win32.Build.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|Win32.Deploy.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|x64.ActiveCfg = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|x64.Build.0 = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|x64.Deploy.0 = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|Win32.ActiveCfg = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|Win32.Build.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|Win32.Deploy.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|x64.ActiveCfg = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|x64.Build.0 = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|x64.Deploy.0 = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|Win32.Deploy.0 = Windows Vista Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|x64.Deploy.0 = Windows Vista Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|Win32.Deploy.0 = Windows Vista Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|x64.Deploy.0 = Windows Vista Release|x64 {22166290-65D8-49D2-BB88-33201797C7D8}.Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 {22166290-65D8-49D2-BB88-33201797C7D8}.Debug|Win32.Build.0 = Windows 8 Debug|Win32 {22166290-65D8-49D2-BB88-33201797C7D8}.Debug|Win32.Deploy.0 = Windows 8 Debug|Win32 - {22166290-65D8-49D2-BB88-33201797C7D8}.Debug|x64.ActiveCfg = Windows 8 Debug|x64 - {22166290-65D8-49D2-BB88-33201797C7D8}.Debug|x64.Build.0 = Windows 8 Debug|x64 + {22166290-65D8-49D2-BB88-33201797C7D8}.Debug|x64.ActiveCfg = Windows8 Debug|x64 + {22166290-65D8-49D2-BB88-33201797C7D8}.Debug|x64.Build.0 = Windows8 Debug|x64 + {22166290-65D8-49D2-BB88-33201797C7D8}.Debug|x64.Deploy.0 = Windows8 Debug|x64 {22166290-65D8-49D2-BB88-33201797C7D8}.Release|Win32.ActiveCfg = Windows 8 Release|Win32 {22166290-65D8-49D2-BB88-33201797C7D8}.Release|Win32.Build.0 = Windows 8 Release|Win32 {22166290-65D8-49D2-BB88-33201797C7D8}.Release|Win32.Deploy.0 = Windows 8 Release|Win32 @@ -52,18 +103,18 @@ Global {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64 {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64 {22166290-65D8-49D2-BB88-33201797C7D8}.Windows 7 Release|x64.Deploy.0 = Windows 7 Release|x64 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|Win32.ActiveCfg = Windows Developer Preview Debug|Win32 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|Win32.Build.0 = Windows Developer Preview Debug|Win32 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|Win32.Deploy.0 = Windows Developer Preview Debug|Win32 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|x64.ActiveCfg = Windows Developer Preview Debug|x64 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|x64.Build.0 = Windows Developer Preview Debug|x64 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|x64.Deploy.0 = Windows Developer Preview Debug|x64 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|Win32.ActiveCfg = Windows Developer Preview Release|Win32 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|Win32.Build.0 = Windows Developer Preview Release|Win32 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|Win32.Deploy.0 = Windows Developer Preview Release|Win32 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|x64.ActiveCfg = Windows Developer Preview Release|x64 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|x64.Build.0 = Windows Developer Preview Release|x64 - {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|x64.Deploy.0 = Windows Developer Preview Release|x64 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|Win32.ActiveCfg = Windows Vista Release|Win32 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|Win32.Build.0 = Windows Vista Release|Win32 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|Win32.Deploy.0 = Windows Vista Release|Win32 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|x64.ActiveCfg = Windows Vista Release|x64 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|x64.Build.0 = Windows Vista Release|x64 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Debug|x64.Deploy.0 = Windows Vista Release|x64 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|Win32.ActiveCfg = Windows Vista Release|Win32 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|Win32.Build.0 = Windows Vista Release|Win32 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|Win32.Deploy.0 = Windows Vista Release|Win32 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|x64.ActiveCfg = Windows Vista Release|x64 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|x64.Build.0 = Windows Vista Release|x64 + {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Developer Preview Release|x64.Deploy.0 = Windows Vista Release|x64 {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32 {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Debug|Win32.Deploy.0 = Windows Vista Debug|Win32 @@ -76,52 +127,6 @@ Global {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 {22166290-65D8-49D2-BB88-33201797C7D8}.Windows Vista Release|x64.Deploy.0 = Windows Vista Release|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.Build.0 = Windows Vista Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.Deploy.0 = Windows Vista Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|x64.ActiveCfg = Windows Vista Debug|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|x64.Build.0 = Windows Vista Debug|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Release|Win32.ActiveCfg = Windows Vista Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Release|Win32.Build.0 = Windows Vista Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Release|Win32.Deploy.0 = Windows Vista Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Release|x64.ActiveCfg = Windows Vista Release|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Release|x64.Build.0 = Windows Vista Release|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|Win32.Deploy.0 = Windows 7 Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|x64.Deploy.0 = Windows 7 Debug|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|Win32.Deploy.0 = Windows 7 Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|x64.Deploy.0 = Windows 7 Release|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|Win32.ActiveCfg = Windows Developer Preview Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|Win32.Build.0 = Windows Developer Preview Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|Win32.Deploy.0 = Windows Developer Preview Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|x64.ActiveCfg = Windows Developer Preview Debug|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|x64.Build.0 = Windows Developer Preview Debug|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|x64.Deploy.0 = Windows Developer Preview Debug|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|Win32.ActiveCfg = Windows Developer Preview Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|Win32.Build.0 = Windows Developer Preview Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|Win32.Deploy.0 = Windows Developer Preview Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|x64.ActiveCfg = Windows Developer Preview Release|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|x64.Build.0 = Windows Developer Preview Release|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|x64.Deploy.0 = Windows Developer Preview Release|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|Win32.Deploy.0 = Windows Vista Debug|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|x64.Deploy.0 = Windows Vista Debug|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|Win32.Deploy.0 = Windows Vista Release|Win32 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 - {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|x64.Deploy.0 = Windows Vista Release|x64 {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|Win32.ActiveCfg = Debug|Win32 {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|Win32.Build.0 = Debug|Win32 {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|Win32.Deploy.0 = Debug|Win32 @@ -158,6 +163,52 @@ Global {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.ActiveCfg = Release|x64 {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.Build.0 = Release|x64 {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista Release|x64.Deploy.0 = Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.Build.0 = Windows Vista Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|Win32.Deploy.0 = Windows Vista Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|x64.ActiveCfg = Windows Vista Debug|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Debug|x64.Build.0 = Windows Vista Debug|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Release|Win32.ActiveCfg = Windows Vista Release|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Release|Win32.Build.0 = Windows Vista Release|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Release|Win32.Deploy.0 = Windows Vista Release|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Release|x64.ActiveCfg = Windows Vista Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Release|x64.Build.0 = Windows Vista Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|Win32.Deploy.0 = Windows 7 Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Debug|x64.Deploy.0 = Windows 7 Debug|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|Win32.Deploy.0 = Windows 7 Release|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows 7 Release|x64.Deploy.0 = Windows 7 Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|Win32.Build.0 = Windows 8 Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|Win32.Deploy.0 = Windows 8 Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|x64.ActiveCfg = Windows 8 Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|x64.Build.0 = Windows 8 Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Debug|x64.Deploy.0 = Windows 8 Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|Win32.ActiveCfg = Windows 8 Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|Win32.Build.0 = Windows 8 Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|Win32.Deploy.0 = Windows 8 Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|x64.ActiveCfg = Windows 8 Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|x64.Build.0 = Windows 8 Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Developer Preview Release|x64.Deploy.0 = Windows 8 Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|Win32.Deploy.0 = Windows Vista Debug|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Debug|x64.Deploy.0 = Windows Vista Debug|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|Win32.Deploy.0 = Windows Vista Release|Win32 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 + {9B071A35-897C-477A-AEB7-95F77618A21D}.Windows Vista Release|x64.Deploy.0 = Windows Vista Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/vs2012/xeniface/xeniface.vcxproj b/vs2012/xeniface/xeniface.vcxproj index b0e8ef5..4220f31 100644 --- a/vs2012/xeniface/xeniface.vcxproj +++ b/vs2012/xeniface/xeniface.vcxproj @@ -35,13 +35,11 @@ <CustomBuildStep> <Command>echo "Build Inf" powershell -Command "(Get-Content ..\..\src\xeniface.inf) -replace '@MAJOR_VERSION@', '$(MAJOR_VERSION)' -replace '@MINOR_VERSION@', '$(MINOR_VERSION)' -replace '@MICRO_VERSION@','$(MICRO_VERSION)' -replace '@BUILD_NUMBER@','$(BUILD_NUMBER)' -replace '@COMPANY_NAME@','$(COMPANY_NAME)' -replace '@PRODUCT_NAME@','$(PRODUCT_NAME)' | Set-Content ..\..\vs2012\xeniface.inf" - echo "Build version header" - powershell -Command "(Get-Content ..\..\include\version.hx) -replace '@MAJOR_VERSION@', '$(MAJOR_VERSION)' -replace '@MINOR_VERSION@', '$(MINOR_VERSION)' -replace '@MICRO_VERSION@','$(MICRO_VERSION)' -replace '@BUILD_NUMBER@','$(BUILD_NUMBER)' -replace '@COMPANY_NAME@','$(COMPANY_NAME)' -replace '@PRODUCT_NAME@','$(PRODUCT_NAME)' -replace '@DAY@',%24(Get-Date -format %25%25d) -replace '@MONTH@',%24(Get-Date -format %25%25M) -replace '@YEAR@',%24(Get-Date -format yyyy) -replace '@OBJECT_PREFIX@','$(OBJECT_PREFIX)' | Set-Content ..\..\include\version.h" echo "Modify mof" powershell -Command "(Get-Content ..\..\src\xeniface.mof) -replace '@OBJECT_PREFIX@','$(OBJECT_PREFIX)' | Set-Content ..\..\src\xeniface\wmi.mof" </Command> - <Outputs>..\..\vs2012\xeniface.inf;..\..\include\version.h;..\..\src\xeniface\wmi.mof</Outputs> - <Inputs>..\..\src\xeniface.inf;..\..\include\version.hx;..\..\src\xeniface.mof</Inputs> + <Outputs>..\..\vs2012\xeniface.inf;..\..\src\xeniface\wmi.mof</Outputs> + <Inputs>..\..\src\xeniface.inf;..\..\src\xeniface.mof</Inputs> </CustomBuildStep> <ClCompile> diff --git a/vs2012/xeniface_coinst/xeniface_coinst.vcxproj b/vs2012/xeniface_coinst/xeniface_coinst.vcxproj new file mode 100644 index 0000000..7e2f29d --- /dev/null +++ b/vs2012/xeniface_coinst/xeniface_coinst.vcxproj @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\configs.props" /> + + <PropertyGroup Label="PropertySheets"> + <DriverType>WDM</DriverType> + <PlatformToolset>WindowsApplicationForDrivers8.0</PlatformToolset> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <DriverType>WDM</DriverType> + </PropertyGroup> + <PropertyGroup Label="Globals"> + <Configuration>Windows Vista Debug</Configuration> + <Platform Condition="'$(Platform)' == ''">Win32</Platform> + <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor> + </PropertyGroup> + + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + + <PropertyGroup Label="Globals"> + <ProjectGuid>{85c731ad-2ea2-4049-a542-d2d38ede938c}</ProjectGuid> + </PropertyGroup> + + <Import Project="..\targets.props" /> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + + <PropertyGroup> + <IncludePath>$(IncludePath)</IncludePath> + <RunCodeAnalysis>true</RunCodeAnalysis> + <EnableInf2cat>false</EnableInf2cat> + <CustomBuildBeforeTargets>ClCompile</CustomBuildBeforeTargets> + <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir> + <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir> + </PropertyGroup> + + <ItemDefinitionGroup> + <CustomBuildStep> + <Command>echo "Build version header" + powershell -Command "(Get-Content ..\..\include\version.hx) -replace '@MAJOR_VERSION@', '$(MAJOR_VERSION)' -replace '@MINOR_VERSION@', '$(MINOR_VERSION)' -replace '@MICRO_VERSION@','$(MICRO_VERSION)' -replace '@BUILD_NUMBER@','$(BUILD_NUMBER)' -replace '@COMPANY_NAME@','$(COMPANY_NAME)' -replace '@PRODUCT_NAME@','$(PRODUCT_NAME)' -replace '@DAY@',%24(Get-Date -format %25%25d) -replace '@MONTH@',%24(Get-Date -format %25%25M) -replace '@YEAR@',%24(Get-Date -format yyyy) -replace '@OBJECT_PREFIX@','$(OBJECT_PREFIX)' | Set-Content ..\..\include\version.h" + </Command> + <Outputs>..\..\include\version.h</Outputs> + <Inputs>..\..\include\version.hx</Inputs> + </CustomBuildStep> + + <ClCompile> + <AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>__MODULE__="XENIFACE_COINST";%(PreprocessorDefinitions)</PreprocessorDefinitions> + <WarningLevel>EnableAllWarnings</WarningLevel> + <DisableSpecificWarnings>4127;4711;4548;4820;4668;4255;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + <EnablePREfast>true</EnablePREfast> + <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> + <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> + </ClCompile> + <Link> + <ModuleDefinitionFile>../../src/coinst/xeniface_coinst.def</ModuleDefinitionFile> + <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'"> + <ClCompile> + <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Platform)'=='x64'"> + <ClCompile> + <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> + + <ItemGroup> + <FilesToPackage Include="$(TargetPath)" /> + <FilesToPackage Include="$(OutDir)$(TargetName).pdb" /> + <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\src\coinst\coinst.c" /> + </ItemGroup> + <ItemGroup> + <None Include="..\..\src\coinst\xeniface_coinst.def" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> +</Project> \ No newline at end of file diff --git a/vs2012/xeniface_coinst/xeniface_coinst.vcxproj.user b/vs2012/xeniface_coinst/xeniface_coinst.vcxproj.user new file mode 100644 index 0000000..6a435fd --- /dev/null +++ b/vs2012/xeniface_coinst/xeniface_coinst.vcxproj.user @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <SignMode>TestSign</SignMode> + <TestCertificate>..\..\src\xeniface.pfx</TestCertificate> + <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer> + </PropertyGroup> +</Project> diff --git a/vs2013/package/package.vcxproj b/vs2013/package/package.vcxproj index 5b3d5b3..c83e31b 100644 --- a/vs2013/package/package.vcxproj +++ b/vs2013/package/package.vcxproj @@ -74,6 +74,9 @@ <ProjectReference Include="..\xeniface\xeniface.vcxproj"> <Project>{22166290-65D8-49D2-BB88-33201797C7D8}</Project> </ProjectReference> + <ProjectReference Include="..\xeniface_coinst\xeniface_coinst.vcxproj"> + <Project>{85c731ad-2ea2-4049-a542-d2d38ede938c}</Project> + </ProjectReference> </ItemGroup> <ItemGroup> <FilesToPackage Include="$(KIT)\Redist\DIFx\dpinst\EngMui\x86\dpinst.exe" Condition="'$(Platform)'=='Win32'" /> diff --git a/vs2013/xeniface.sln b/vs2013/xeniface.sln index 5d210d6..413b86a 100644 --- a/vs2013/xeniface.sln +++ b/vs2013/xeniface.sln @@ -1,13 +1,19 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Express 2013 for Windows Desktop -VisualStudioVersion = 12.0.21005.1 +VisualStudioVersion = 12.0.30723.0 MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xeniface_coinst", "xeniface_coinst\xeniface_coinst.vcxproj", "{85C731AD-2EA2-4049-A542-D2D38EDE938C}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xeniface", "xeniface\xeniface.vcxproj", "{22166290-65D8-49D2-BB88-33201797C7D8}" + ProjectSection(ProjectDependencies) = postProject + {85C731AD-2EA2-4049-A542-D2D38EDE938C} = {85C731AD-2EA2-4049-A542-D2D38EDE938C} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LiteAgent", "liteagent\LiteAgent.vcxproj", "{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{9B071A35-897C-477A-AEB7-95F77618A21D}" ProjectSection(ProjectDependencies) = postProject + {85C731AD-2EA2-4049-A542-D2D38EDE938C} = {85C731AD-2EA2-4049-A542-D2D38EDE938C} {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B} = {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B} EndProjectSection EndProject @@ -31,6 +37,54 @@ Global Windows Vista Release|x64 = Windows Vista Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|Win32.Build.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|Win32.Deploy.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|x64.ActiveCfg = Windows 8 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|x64.Build.0 = Windows 8 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Debug|x64.Deploy.0 = Windows 8 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|Win32.ActiveCfg = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|Win32.Build.0 = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|Win32.Deploy.0 = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|x64.ActiveCfg = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|x64.Build.0 = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Release|x64.Deploy.0 = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|Win32.ActiveCfg = Windows 7 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|Win32.Build.0 = Windows 7 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|Win32.Deploy.0 = Windows 7 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|x64.ActiveCfg = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|x64.Build.0 = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Debug|x64.Deploy.0 = Windows 7 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|Win32.ActiveCfg = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|Win32.Build.0 = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|Win32.Deploy.0 = Windows 7 Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|x64.ActiveCfg = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|x64.Build.0 = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows 7 Release|x64.Deploy.0 = Windows 7 Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|Win32.Build.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|Win32.Deploy.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|x64.ActiveCfg = Windows 8 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|x64.Build.0 = Windows 8 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Debug|x64.Deploy.0 = Windows 8 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|Win32.ActiveCfg = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|Win32.Build.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|Win32.Deploy.0 = Windows 8 Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|x64.ActiveCfg = Windows 8 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|x64.Build.0 = Windows 8 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Developer Preview Release|x64.Deploy.0 = Windows 8 Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|Win32.ActiveCfg = Windows Vista Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|Win32.Build.0 = Windows Vista Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|Win32.Deploy.0 = Windows Vista Debug|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|x64.ActiveCfg = Windows Vista Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|x64.Build.0 = Windows Vista Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Debug|x64.Deploy.0 = Windows Vista Debug|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|Win32.ActiveCfg = Windows Vista Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|Win32.Build.0 = Windows Vista Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|Win32.Deploy.0 = Windows Vista Release|Win32 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|x64.ActiveCfg = Windows Vista Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|x64.Build.0 = Windows Vista Release|x64 + {85C731AD-2EA2-4049-A542-D2D38EDE938C}.Windows Vista Release|x64.Deploy.0 = Windows Vista Release|x64 {22166290-65D8-49D2-BB88-33201797C7D8}.Debug|Win32.ActiveCfg = Windows 8 Debug|Win32 {22166290-65D8-49D2-BB88-33201797C7D8}.Debug|Win32.Build.0 = Windows 8 Debug|Win32 {22166290-65D8-49D2-BB88-33201797C7D8}.Debug|Win32.Deploy.0 = Windows 8 Debug|Win32 diff --git a/vs2013/xeniface/xeniface.vcxproj b/vs2013/xeniface/xeniface.vcxproj index 843e85e..65743d4 100644 --- a/vs2013/xeniface/xeniface.vcxproj +++ b/vs2013/xeniface/xeniface.vcxproj @@ -64,13 +64,11 @@ <CustomBuildStep> <Command>echo "Build Inf" powershell -Command "(Get-Content ..\..\src\xeniface.inf) -replace '@MAJOR_VERSION@', '$(MAJOR_VERSION)' -replace '@MINOR_VERSION@', '$(MINOR_VERSION)' -replace '@MICRO_VERSION@','$(MICRO_VERSION)' -replace '@BUILD_NUMBER@','$(BUILD_NUMBER)' -replace '@COMPANY_NAME@','$(COMPANY_NAME)' -replace '@PRODUCT_NAME@','$(PRODUCT_NAME)' | Set-Content ..\..\vs2013\xeniface.inf" - echo "Build version header" - powershell -Command "(Get-Content ..\..\include\version.hx) -replace '@MAJOR_VERSION@', '$(MAJOR_VERSION)' -replace '@MINOR_VERSION@', '$(MINOR_VERSION)' -replace '@MICRO_VERSION@','$(MICRO_VERSION)' -replace '@BUILD_NUMBER@','$(BUILD_NUMBER)' -replace '@COMPANY_NAME@','$(COMPANY_NAME)' -replace '@PRODUCT_NAME@','$(PRODUCT_NAME)' -replace '@DAY@',%24(Get-Date -format %25%25d) -replace '@MONTH@',%24(Get-Date -format %25%25M) -replace '@YEAR@',%24(Get-Date -format yyyy) -replace '@OBJECT_PREFIX@','$(OBJECT_PREFIX)' | Set-Content ..\..\include\version.h" echo "Modify mof" powershell -Command "(Get-Content ..\..\src\xeniface.mof) -replace '@OBJECT_PREFIX@','$(OBJECT_PREFIX)' | Set-Content ..\..\src\xeniface\wmi.mof" </Command> - <Outputs>..\..\vs2013\xeniface.inf;..\..\include\version.h;..\..\src\xeniface\wmi.mof</Outputs> - <Inputs>..\..\src\xeniface.inf;..\..\include\version.hx;..\..\src\xeniface.mof</Inputs> + <Outputs>..\..\vs2013\xeniface.inf;..\..\src\xeniface\wmi.mof</Outputs> + <Inputs>..\..\src\xeniface.inf;..\..\src\xeniface.mof</Inputs> </CustomBuildStep> <ClCompile> <PreprocessorDefinitions>__MODULE__="XENIFACE";POOL_NX_OPTIN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions> diff --git a/vs2013/xeniface_coinst/xeniface_coinst.vcxproj b/vs2013/xeniface_coinst/xeniface_coinst.vcxproj new file mode 100644 index 0000000..b577dc8 --- /dev/null +++ b/vs2013/xeniface_coinst/xeniface_coinst.vcxproj @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="..\configs.props" /> + <PropertyGroup Label="PropertySheets"> + <DriverType>WDM</DriverType> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <DriverType>WDM</DriverType> + </PropertyGroup> + <PropertyGroup Label="Globals"> + <Configuration>Windows Vista Debug</Configuration> + <Platform Condition="'$(Platform)' == ''">Win32</Platform> + <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows 8 Release|x64'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows 8 Release|Win32'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows Vista Debug|x64'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows Vista Debug|Win32'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows Vista Release|x64'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows Vista Release|Win32'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows 7 Release|x64'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows 7 Release|Win32'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows 7 Debug|Win32'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows 7 Debug|x64'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows 8 Debug|x64'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Windows 8 Debug|Win32'"> + <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset> + </PropertyGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{85c731ad-2ea2-4049-a542-d2d38ede938c}</ProjectGuid> + </PropertyGroup> + <Import Project="..\targets.props" /> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <PropertyGroup> + <IncludePath>$(IncludePath)</IncludePath> + <RunCodeAnalysis>true</RunCodeAnalysis> + <EnableInf2cat>false</EnableInf2cat> + <CustomBuildBeforeTargets>ClCompile</CustomBuildBeforeTargets> + <IntDir>..\$(ProjectName)\$(ConfigurationName)\$(Platform)\</IntDir> + <OutDir>..\$(ConfigurationName)\$(Platform)\</OutDir> + </PropertyGroup> + <ItemDefinitionGroup> + <CustomBuildStep> + <Command>echo "Build version header" + powershell -Command "(Get-Content ..\..\include\version.hx) -replace '@MAJOR_VERSION@', '$(MAJOR_VERSION)' -replace '@MINOR_VERSION@', '$(MINOR_VERSION)' -replace '@MICRO_VERSION@','$(MICRO_VERSION)' -replace '@BUILD_NUMBER@','$(BUILD_NUMBER)' -replace '@COMPANY_NAME@','$(COMPANY_NAME)' -replace '@PRODUCT_NAME@','$(PRODUCT_NAME)' -replace '@DAY@',%24(Get-Date -format %25%25d) -replace '@MONTH@',%24(Get-Date -format %25%25M) -replace '@YEAR@',%24(Get-Date -format yyyy) -replace '@OBJECT_PREFIX@','$(OBJECT_PREFIX)' | Set-Content ..\..\include\version.h" + </Command> + <Outputs>..\..\include\version.h</Outputs> + <Inputs>..\..\include\version.hx</Inputs> + </CustomBuildStep> + + <ClCompile> + <AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>__MODULE__="XENIFACE_COINST";%(PreprocessorDefinitions)</PreprocessorDefinitions> + <WarningLevel>EnableAllWarnings</WarningLevel> + <DisableSpecificWarnings>4127;4711;4548;4820;4668;4255;6001;6054;28196;%(DisableSpecificWarnings)</DisableSpecificWarnings> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + <EnablePREfast>true</EnablePREfast> + <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary> + <RuntimeLibrary Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary> + </ClCompile> + <Link> + <ModuleDefinitionFile>../../src/coinst/xeniface_coinst.def</ModuleDefinitionFile> + <AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies> + </Link> + <ResourceCompile> + <AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'"> + <ClCompile> + <PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Platform)'=='x64'"> + <ClCompile> + <PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemDefinitionGroup> + <ItemGroup> + <FilesToPackage Include="$(TargetPath)" /> + <FilesToPackage Include="$(OutDir)$(TargetName).pdb" /> + <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\src\coinst\coinst.c" /> + </ItemGroup> + <ItemGroup> + <None Include="..\..\src\coinst\xeniface_coinst.def" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> +</Project> \ No newline at end of file diff --git a/vs2013/xeniface_coinst/xeniface_coinst.vcxproj.user b/vs2013/xeniface_coinst/xeniface_coinst.vcxproj.user new file mode 100644 index 0000000..6a435fd --- /dev/null +++ b/vs2013/xeniface_coinst/xeniface_coinst.vcxproj.user @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <SignMode>TestSign</SignMode> + <TestCertificate>..\..\src\xeniface.pfx</TestCertificate> + <TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer> + </PropertyGroup> +</Project> -- 2.1.1 _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |