[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[win-pv-devel] [PATCH 2/3] xenagent: get event logging working properly



The xenagent build does not create the necessary DLL for event logging. This
patch re-works the build vcxproj files to create the DLL and adds the
necessary code in package INF file to install it and configure it.

As part of the work the service display name has been changed to match the
module name.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Cc: Owen Smith <owen.smith@xxxxxxxxxx>
---
 src/xenagent/messages.mc         |  64 +++++++++--
 src/xenagent/service.cpp         |  11 +-
 src/xenagent/service.h           |   5 +-
 src/xeniface.inf                 |  20 +++-
 vs2012/package/package.vcxproj   |   7 +-
 vs2012/xenagent/xenagent.vcxproj | 225 ++++++++------------------------------
 vs2012/xeniface.sln              |  60 ++++------
 vs2013/package/package.vcxproj   |   3 +
 vs2013/xenagent/xenagent.vcxproj | 229 ++++++++-------------------------------
 vs2013/xeniface.sln              |  76 ++++++-------
 10 files changed, 239 insertions(+), 461 deletions(-)

diff --git a/src/xenagent/messages.mc b/src/xenagent/messages.mc
index 6b60c8d..a50021a 100644
--- a/src/xenagent/messages.mc
+++ b/src/xenagent/messages.mc
@@ -1,8 +1,52 @@
-SeverityNames=(Informational=0x1)
-FacilityNames=(XenUser=0xd60)
+; // 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.
+
+MessageIdTypedef=DWORD
+
+SeverityNames=(
+       Success=0x0:STATUS_SEVERITY_SUCCESS
+       Informational=0x1:STATUS_SEVERITY_INFORMATIONAL
+       Warning=0x2:STATUS_SEVERITY_WARNING
+       Error=0x3:STATUS_SEVERITY_ERROR
+       )
+
+
+FacilityNames=(
+       System=0x0:FACILITY_SYSTEM
+       Runtime=0x2:FACILITY_RUNTIME
+       Stubs=0x3:FACILITY_STUBS
+       Io=0x4:FACILITY_IO_ERROR_CODE
+       )
 
 MessageId=0x0001
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_POWEROFF
 Language=English
@@ -10,7 +54,7 @@ The tools requested that the local VM shut itself down.
 .
 
 MessageId=0x0002
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_REBOOT
 Language=English
@@ -18,7 +62,7 @@ The tools requested that the local VM reboot.
 .
 
 MessageId=0x0003
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_S4
 Language=English
@@ -26,7 +70,7 @@ The tools requested that the local VM enter power state S4.
 .
 
 MessageId=0x0004
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_S3
 Language=English
@@ -34,7 +78,7 @@ The tools requested that the local VM enter power state S3.
 .
 
 MessageId=0x0005
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_WMI
 Language=English
@@ -42,7 +86,7 @@ The tools noticed that WMI became non-functional.
 .
 
 MessageId=0x0006
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_STARTED
 Language=English
@@ -50,7 +94,7 @@ The tools initiated.
 .
 
 MessageId=0x0007
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_UNSUSPENDED
 Language=English
@@ -58,7 +102,7 @@ The tools returned from suspend.
 .
 
 MessageId=0x0008
-Facility=XenUser
+Facility=System
 Severity=Informational
 SymbolicName=EVENT_XENUSER_UNEXPECTED
 Language=English
diff --git a/src/xenagent/service.cpp b/src/xenagent/service.cpp
index 80aac11..6132fe0 100644
--- a/src/xenagent/service.cpp
+++ b/src/xenagent/service.cpp
@@ -58,7 +58,11 @@ CCritSec::~CCritSec()
     LeaveCriticalSection(m_crit);
 }
 
-int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE ignore, LPSTR lpCmdLine, 
int nCmdShow)
+int CALLBACK WinMain(
+    _In_     HINSTANCE hInstance,
+    _In_opt_ HINSTANCE ignore,
+    _In_     LPSTR     lpCmdLine,
+    _In_     int       nCmdShow)
 {
     if (strlen(lpCmdLine) != 0) {
         if (!strcmp(lpCmdLine, "-i") || !strcmp(lpCmdLine, "\"-i\""))
@@ -446,6 +450,9 @@ void CXenAgent::SetXenTime()
         SetLocalTime(&sys);
 }
 
+#pragma warning(push)
+#pragma warning(disable:28159)
+
 void CXenAgent::OnShutdown()
 {
     CCritSec crit(&m_crit);
@@ -498,6 +505,8 @@ void CXenAgent::OnShutdown()
     }
 }
 
+#pragma warning(pop)
+
 void CXenAgent::OnSuspend()
 {
     CCritSec crit(&m_crit);
diff --git a/src/xenagent/service.h b/src/xenagent/service.h
index 978e51b..975662b 100644
--- a/src/xenagent/service.h
+++ b/src/xenagent/service.h
@@ -34,9 +34,8 @@
 
 #include <version.h>
 
-#define SVC_NAME "xensvc"
-#define SVC_DISPLAYNAME PRODUCT_NAME_STR ## "Interface Service"
-#define SVC_DESC "Monitors and provides various metrics to XenStore"
+#define SVC_NAME        __MODULE__
+#define SVC_DISPLAYNAME SVC_NAME
 
 #include "devicelist.h"
 #include "xenifacedevice.h"
diff --git a/src/xeniface.inf b/src/xeniface.inf
index b2e4e6e..23f44b5 100644
--- a/src/xeniface.inf
+++ b/src/xeniface.inf
@@ -54,7 +54,8 @@ ServiceDestDir.NT.Copy = 11
 %XenIfaceDevice.DeviceDesc% =XenIface_Device, 
XENBUS\VEN_@VENDOR_PREFIX@0002&DEV_IFACE&REV_0800000B
 
 [XenIface_Device.NT$ARCH$]
-CopyFiles=XenIface_Device.NT.Copy, ServiceDestDir.NT.Copy
+CopyFiles=XenIface_Device.NT.Copy
+CopyFiles=ServiceDestDir.NT.Copy
 
 [XenIFace_Device.NT.Copy]
 xeniface.sys
@@ -63,11 +64,12 @@ xeniface.sys
 
xeniface_coinst_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xeniface_coinst.dll
 
 [ServiceDestDir.NT.Copy]
-xenagent.exe
+xenagent_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.exe,xenagent.exe
+xenagent_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll,xenagent.dll
 
 [Xeniface_Device.NT$ARCH$.Services]
 AddService = xeniface, %SPSVCINST_ASSOCSERVICE%, xeniface_Service_Inst
-AddService = xenagent, %XENAGENT_FLAGS%, xenagent_Service_Inst
+AddService = xenagent, %XENAGENT_FLAGS%, 
xenagent_Service_Inst,xenagent_EventLog
 
 [xeniface_Service_Inst]
 DisplayName    = %XenIfaceDevice.DeviceDesc%
@@ -93,7 +95,14 @@ DisplayName    = %xenagent.SVCDESC%
 ServiceType    = 16              ; SERVICE_WIN32_OWN_PROCESS
 StartType      = 2               ; SERVICE_AUTO_START 
 ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
-ServiceBinary  = %11%\xenagent.exe
+ServiceBinary  = 
%11%\xenagent_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.exe
+
+[xenagent_EventLog]
+AddReg=xenagent_EventLog_AddReg
+
+[xenagent_EventLog_AddReg]
+HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\xenagent_@MAJOR_VERSION@_@MINOR_VERSION@_@MICRO_VERSION@_@BUILD_NUMBER@.dll"
+HKR,,TypesSupported,0x00010001,7
 
 [SourceDisksNames]
 1 = %DiskId1%,,,""
@@ -101,6 +110,7 @@ ServiceBinary  = %11%\xenagent.exe
 [SourceDisksFiles]
 xeniface.sys  = 1,,
 xenagent.exe = 1,,
+xenagent.dll = 1,,
 xeniface_coinst.dll=1,,
 
 [Strings]
@@ -109,5 +119,5 @@ Vendor= "@VENDOR_NAME@"
 DiskId1 = "@PRODUCT_NAME@ Interface Package"
 XenIfaceDevice.DeviceDesc = "@PRODUCT_NAME@ Interface"
 XENAGENT_FLAGS= 0x00000800
-xenagent.SVCDESC= "@PRODUCT_NAME@ Interface Service"
+xenagent.SVCDESC= "@PRODUCT_NAME@ Agent"
 
diff --git a/vs2012/package/package.vcxproj b/vs2012/package/package.vcxproj
index 4b59968..4115773 100644
--- a/vs2012/package/package.vcxproj
+++ b/vs2012/package/package.vcxproj
@@ -42,11 +42,14 @@
        </PropertyGroup>
         <ItemGroup>
                 <ProjectReference Include="..\xeniface\xeniface.vcxproj">
-                        
<Project>{22166290-65D8-49D2-BB88-33201797C7D8}</Project>
+                 <Project>{22166290-65D8-49D2-BB88-33201797C7D8}</Project>
                 </ProjectReference>
                 <ProjectReference 
Include="..\xeniface_coinst\xeniface_coinst.vcxproj">
-                        
<Project>{85c731ad-2ea2-4049-a542-d2d38ede938c}</Project>
+                 <Project>{85c731ad-2ea2-4049-a542-d2d38ede938c}</Project>
                 </ProjectReference>
+               <ProjectReference Include="..\xenagent\xenagent.vcxproj">
+                 <Project>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</Project>
+               </ProjectReference>
         </ItemGroup>
        <ItemGroup>
                <FilesToPackage 
Include="$(KIT)\Redist\DIFx\dpinst\EngMui\x86\dpinst.exe" 
Condition="'$(Platform)'=='Win32'" />
diff --git a/vs2012/xenagent/xenagent.vcxproj b/vs2012/xenagent/xenagent.vcxproj
index 37db3fd..67df832 100644
--- a/vs2012/xenagent/xenagent.vcxproj
+++ b/vs2012/xenagent/xenagent.vcxproj
@@ -1,213 +1,80 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>xenagent</RootNamespace>
-    <ProjectName>xenagent</ProjectName>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" 
Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v110</PlatformToolset>
+  <Import Project="..\configs.props" />
+  <PropertyGroup Label="PropertySheets">
     <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" 
Label="Configuration">
+    <PlatformToolset>WindowsApplicationForDrivers8.0</PlatformToolset>
     <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v110</PlatformToolset>
-    <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" 
Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v110</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>MultiByte</CharacterSet>
+  <PropertyGroup Label="Globals">
+    <Configuration>Windows Vista Debug</Configuration>
+    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
+    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" 
Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v110</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>MultiByte</CharacterSet>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</ProjectGuid>
   </PropertyGroup>
+  <Import Project="..\targets.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </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" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" 
Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" 
Label="LocalAppDataPlatform" />
-  </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" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" 
Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" 
Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <LinkIncremental>false</LinkIncremental>
+  <PropertyGroup>
+    <IncludePath>$(IncludePath)</IncludePath>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <EnableInf2cat>false</EnableInf2cat>
   </PropertyGroup>
-
   <PropertyGroup>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
+    <CustomBuildAfterTargets>Link</CustomBuildAfterTargets>
   </PropertyGroup>
-
-  <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      
<AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      
<AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <CustomBuildStep>
-        <Command>xcopy /y $(TargetPath) 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\
-            xcopy /y $(TargetDir)xenagent.pdb 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-    </CustomBuildStep>
-    <CustomBuildStep>
-      <Message>Copying output files</Message>
-      
<Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
-    </CustomBuildStep>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+  <ItemDefinitionGroup>
     <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<PreprocessorDefinitions>WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;__MODULE__="XENAGENT";%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      
<AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <EnablePREfast>true</EnablePREfast>
+      <RuntimeLibrary 
Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
+      <RuntimeLibrary 
Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
     </ClCompile>
     <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      
<AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
-    <CustomBuildStep>
-        <Command>xcopy /y $(TargetPath) 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\
-            xcopy /y $(TargetDir)xenagent.pdb 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-    </CustomBuildStep>
-    <CustomBuildStep>
-      <Message>Copying output files</Message>
-      
<Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
-    </CustomBuildStep>
+    <ResourceCompile>
+      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
   </ItemDefinitionGroup>
-  <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
     <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      
<PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      
<AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <BrowseInformation>true</BrowseInformation>
-      <PreprocessToFile>false</PreprocessToFile>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      
<AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
     <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Command>xcopy /y $(TargetPath) 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\
-          xcopy /y $(TargetDir)xenagent.pdb 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-      
<Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
+      <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+      <Inputs>$(IntDir)$(TargetName).res</Inputs>
+      <Command>link -machine:x86 -dll -noentry -out:%(Outputs) 
%(Inputs)</Command>
     </CustomBuildStep>
   </ItemDefinitionGroup>
-  <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
     <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      
<PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      
<AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <BrowseInformation>true</BrowseInformation>
-      <PreprocessToFile>false</PreprocessToFile>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      
<AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
     <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Command>xcopy /y $(TargetPath) 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\
-          xcopy /y $(TargetDir)xenagent.pdb 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-      
<Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
+      <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+      <Inputs>$(IntDir)$(TargetName).res</Inputs>
+      <Command>link -machine:x64 -dll -noentry -out:%(Outputs) 
%(Inputs)</Command>
     </CustomBuildStep>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\src\xenagent\service.cpp"/>
-    <ClCompile Include="..\..\src\xenagent\devicelist.cpp"/>
-    <ClCompile Include="..\..\src\xenagent\xenifacedevice.cpp"/>
+    <FilesToPackage Include="$(TargetPath)" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).dll" />
+    <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" 
/>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\..\src\xenagent\service.h" />
-    <ClInclude Include="..\..\src\xenagent\devicelist.h" />
-    <ClInclude Include="..\..\src\xenagent\xenifacedevice.h" />
+    <MessageCompile Include="..\..\src\xenagent\messages.mc" />
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="..\..\src\xenagent\messages.mc">
-      <FileType>Document</FileType>
-      <Command>mc %(FullPath)</Command>
-      <Outputs>%(Filename).rc;%(Filename).h</Outputs>
-       </CustomBuild>
+    <ClCompile Include="..\..\src\xenagent\service.cpp"/>
+    <ClCompile Include="..\..\src\xenagent\devicelist.cpp"/>
+    <ClCompile Include="..\..\src\xenagent\xenifacedevice.cpp"/>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\..\src\xenagent\xenagent.rc" />
@@ -216,6 +83,4 @@
     <Image Include="..\..\src\xenagent\xen.ico" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
 </Project>
diff --git a/vs2012/xeniface.sln b/vs2012/xeniface.sln
index 9700ce3..2e2ae87 100644
--- a/vs2012/xeniface.sln
+++ b/vs2012/xeniface.sln
@@ -127,42 +127,30 @@ 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
-               {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
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|x64.ActiveCfg = 
Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.ActiveCfg 
= Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.Build.0 = 
Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.Deploy.0 = 
Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|x64.ActiveCfg = 
Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|x64.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|x64.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Debug|x64.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Release|x64.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|x64.ActiveCfg = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|x64.Build.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|x64.Deploy.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|Win32.Deploy.0 = Release|Win32
-               {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
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|Win32.ActiveCfg = Windows 7 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|Win32.Build.0 = Windows 7 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|x64.ActiveCfg = Windows 7 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|x64.Build.0 = Windows 7 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|Win32.ActiveCfg = Windows 7 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|Win32.Build.0 = Windows 7 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|x64.ActiveCfg = Windows 7 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|x64.Build.0 = Windows 7 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|Win32.ActiveCfg = Windows Vista Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|Win32.Build.0 = Windows Vista Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|x64.ActiveCfg = Windows Vista Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|x64.Build.0 = Windows Vista Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|Win32.ActiveCfg = Windows Vista Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|Win32.Build.0 = Windows Vista Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|x64.ActiveCfg = Windows Vista Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|x64.Build.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
diff --git a/vs2013/package/package.vcxproj b/vs2013/package/package.vcxproj
index c83e31b..341122b 100644
--- a/vs2013/package/package.vcxproj
+++ b/vs2013/package/package.vcxproj
@@ -77,6 +77,9 @@
     <ProjectReference Include="..\xeniface_coinst\xeniface_coinst.vcxproj">
       <Project>{85c731ad-2ea2-4049-a542-d2d38ede938c}</Project>
     </ProjectReference>
+    <ProjectReference Include="..\xenagent\xenagent.vcxproj">
+      <Project>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</Project>
+    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <FilesToPackage Include="$(KIT)\Redist\DIFx\dpinst\EngMui\x86\dpinst.exe" 
Condition="'$(Platform)'=='Win32'" />
diff --git a/vs2013/xenagent/xenagent.vcxproj b/vs2013/xenagent/xenagent.vcxproj
index 4f5db55..fe5761e 100644
--- a/vs2013/xenagent/xenagent.vcxproj
+++ b/vs2013/xenagent/xenagent.vcxproj
@@ -1,217 +1,80 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
+<Project DefaultTargets="Build" ToolsVersion="12.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
+  <Import Project="..\configs.props" />
   <PropertyGroup Label="Globals">
-    <ProjectGuid>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>xenagent</RootNamespace>
-    <ProjectName>xenagent</ProjectName>
+    <Configuration>Windows Vista Debug</Configuration>
+    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
+    <DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
   </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" 
Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
+  <PropertyGroup Label="PropertySheets">
     <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" 
Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
     <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" 
Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" 
Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>WindowsApplicationForDrivers8.1</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>MultiByte</CharacterSet>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}</ProjectGuid>
   </PropertyGroup>
+  <Import Project="..\targets.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </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" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" 
Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" 
Label="LocalAppDataPlatform" />
-  </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" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" 
Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" 
Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" 
Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-    <OutDir>$(SolutionDir)$(Platform)\$(ConfigurationName)\</OutDir>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-    <OutDir>$(SolutionDir)$(Platform)\$(ConfigurationName)\</OutDir>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <LinkIncremental>false</LinkIncremental>
+  <PropertyGroup>
+    <IncludePath>$(IncludePath)</IncludePath>
+    <RunCodeAnalysis>true</RunCodeAnalysis>
+    <EnableInf2cat>false</EnableInf2cat>
   </PropertyGroup>
   <PropertyGroup>
-    <IncludePath>..\..\include;$(IncludePath)</IncludePath>
+    <CustomBuildAfterTargets>Link</CustomBuildAfterTargets>
   </PropertyGroup>
-  <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+  <ItemDefinitionGroup>
     <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      
<PreprocessorDefinitions>WIN32;_WINDOWS;_CRT_SECURE_NO_WARNINGS;__MODULE__="XENAGENT";%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      
<AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;$(SDK_INC_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderFile />
-      <PrecompiledHeaderOutputFile />
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <EnablePREfast>true</EnablePREfast>
+      <RuntimeLibrary 
Condition="'$(UseDebugLibraries)'=='true'">MultiThreadedDebug</RuntimeLibrary>
+      <RuntimeLibrary 
Condition="'$(UseDebugLibraries)'=='false'">MultiThreaded</RuntimeLibrary>
     </ClCompile>
     <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      
<AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      
<AdditionalDependencies>powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
-    <CustomBuildStep>
-      <Command>xcopy /y $(TargetPath) 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\
-            xcopy /y $(TargetDir)xenagent.pdb 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-    </CustomBuildStep>
-    <CustomBuildStep>
-      <Message>Copying output files</Message>
-      
<Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
-    </CustomBuildStep>
+    <ResourceCompile>
+      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
   </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+  <ItemDefinitionGroup Condition="'$(Platform)'=='Win32'">
     <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      
<AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;$(SDK_INC_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeaderFile />
-      <PrecompiledHeaderOutputFile />
+      
<PreprocessorDefinitions>__i386__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      
<AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <CustomBuildStep>
-      <Command>xcopy /y $(TargetPath) 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\
-            xcopy /y $(TargetDir)xenagent.pdb 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-    </CustomBuildStep>
     <CustomBuildStep>
-      <Message>Copying output files</Message>
-      
<Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
+      <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+      <Inputs>$(IntDir)$(TargetName).res</Inputs>
+      <Command>link -machine:x86 -dll -noentry -out:%(Outputs) 
%(Inputs)</Command>
     </CustomBuildStep>
   </ItemDefinitionGroup>
-  <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+  <ItemDefinitionGroup Condition="'$(Platform)'=='x64'">
     <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      
<PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      
<AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;$(SDK_INC_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <BrowseInformation>true</BrowseInformation>
-      <PreprocessToFile>false</PreprocessToFile>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      
<PreprocessorDefinitions>__x86_64__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      
<AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
     <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Command>xcopy /y $(TargetPath) 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\
-          xcopy /y $(TargetDir)xenagent.pdb 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-      
<Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
-    </CustomBuildStep>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup 
Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      
<PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <SDLCheck>true</SDLCheck>
-      
<AdditionalIncludeDirectories>..\..\include;$(SolutionDir)\xenagent;$(SDK_INC_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <BrowseInformation>true</BrowseInformation>
-      <PreprocessToFile>false</PreprocessToFile>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      
<AdditionalDependencies>Powrprof.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-    <CustomBuildStep>
-      <Message>Copying output files</Message>
-      <Command>xcopy /y $(TargetPath) 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\
-          xcopy /y $(TargetDir)xenagent.pdb 
$(SolutionDir)\..\xeniface\$(PlatformTarget)\</Command>
-      
<Outputs>$(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetFileName);(SolutionDir)\..\xeniface\$(PlatformTarget)$(TargetName).pdb;%(Outputs)</Outputs>
-      <Inputs>$(TargetPath);$(TargetDir)$(TargetName).pdb</Inputs>
+      <Outputs>$(TargetDir)$(TargetName).dll</Outputs>
+      <Inputs>$(IntDir)$(TargetName).res</Inputs>
+      <Command>link -machine:x64 -dll -noentry -out:%(Outputs) 
%(Inputs)</Command>
     </CustomBuildStep>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="..\..\src\xenagent\service.cpp"/>
-    <ClCompile Include="..\..\src\xenagent\devicelist.cpp"/>
-    <ClCompile Include="..\..\src\xenagent\xenifacedevice.cpp"/>
+    <FilesToPackage Include="$(TargetPath)" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).pdb" />
+    <FilesToPackage Include="$(OutDir)$(TargetName).dll" />
+    <FilesToPackage Include="@(Inf->'%(CopyOutput)')" Condition="'@(Inf)'!=''" 
/>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="..\..\src\xenagent\service.h" />
-    <ClInclude Include="..\..\src\xenagent\devicelist.h" />
-    <ClInclude Include="..\..\src\xenagent\xenifacedevice.h" />
+    <MessageCompile Include="..\..\src\xenagent\messages.mc" />
   </ItemGroup>
   <ItemGroup>
-    <CustomBuild Include="..\..\src\xenagent\messages.mc">
-      <FileType>Document</FileType>
-      <Command>mc %(FullPath)</Command>
-      <Outputs>%(Filename).rc;%(Filename).h</Outputs>
-    </CustomBuild>
+    <ClCompile Include="..\..\src\xenagent\service.cpp"/>
+    <ClCompile Include="..\..\src\xenagent\devicelist.cpp"/>
+    <ClCompile Include="..\..\src\xenagent\xenifacedevice.cpp"/>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\..\src\xenagent\xenagent.rc" />
@@ -220,6 +83,4 @@
     <Image Include="..\..\src\xenagent\xen.ico" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/vs2013/xeniface.sln b/vs2013/xeniface.sln
index 1068a3a..16216ad 100644
--- a/vs2013/xeniface.sln
+++ b/vs2013/xeniface.sln
@@ -127,46 +127,42 @@ 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
-               {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
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Debug|x64.ActiveCfg = 
Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.ActiveCfg 
= Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.Build.0 = 
Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|Win32.Deploy.0 = 
Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Release|x64.ActiveCfg = 
Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|x64.ActiveCfg = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|x64.Build.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|x64.Deploy.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|x64.ActiveCfg = Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|x64.Build.0 = Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|x64.Deploy.0 = Release|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Debug|x64.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Release|Win32.Deploy.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Developer 
Preview Release|x64.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|Win32.ActiveCfg = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|Win32.Build.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|Win32.Deploy.0 = Debug|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|x64.ActiveCfg = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|x64.Build.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|x64.Deploy.0 = Debug|x64
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|Win32.ActiveCfg = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|Win32.Build.0 = Release|Win32
-               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|Win32.Deploy.0 = Release|Win32
-               {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
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|Win32.ActiveCfg = Windows 7 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|Win32.Build.0 = Windows 7 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|Win32.Deploy.0 = Windows 7 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|x64.ActiveCfg = Windows 7 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|x64.Build.0 = Windows 7 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Debug|x64.Deploy.0 = Windows 7 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|Win32.ActiveCfg = Windows 7 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|Win32.Build.0 = Windows 7 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|Win32.Deploy.0 = Windows 7 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|x64.ActiveCfg = Windows 7 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|x64.Build.0 = Windows 7 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 7 
Release|x64.Deploy.0 = Windows 7 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Debug|x64.Deploy.0 = Windows 8 Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|Win32.Deploy.0 = Windows 8 Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows 8 
Release|x64.Deploy.0 = Windows 8 Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|Win32.ActiveCfg = Windows Vista Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|Win32.Build.0 = Windows Vista Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|Win32.Deploy.0 = Windows Vista Debug|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|x64.ActiveCfg = Windows Vista Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|x64.Build.0 = Windows Vista Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Debug|x64.Deploy.0 = Windows Vista Debug|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|Win32.ActiveCfg = Windows Vista Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|Win32.Build.0 = Windows Vista Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|Win32.Deploy.0 = Windows Vista Release|Win32
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|x64.ActiveCfg = Windows Vista Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.Windows Vista 
Release|x64.Build.0 = Windows Vista Release|x64
+               {2E61D2CC-865E-442C-8C83-B8DAFD7BBD3B}.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
-- 
2.1.1


_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.