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

[PATCH 2/2] Delete CoInstaller code



With the CoInstaller removed from the INF file, delete the CoInstaller
source code and projects.

Signed-off-by: Owen Smith <owen.smith@xxxxxxxxx>
---
 src/coinst/coinst.c                           | 917 ------------------
 src/coinst/xenvbd_coinst.def                  |  38 -
 src/coinst/xenvbd_coinst.rc                   |  57 --
 vs2015/package/package.vcxproj                |   3 -
 vs2015/xenvbd.sln                             |  21 +-
 vs2015/xenvbd_coinst/xenvbd_coinst.vcxproj    |  62 --
 .../xenvbd_coinst/xenvbd_coinst.vcxproj.user  |   8 -
 vs2017/package/package.vcxproj                |   3 -
 vs2017/xenvbd.sln                             |  24 +-
 vs2017/xenvbd_coinst/xenvbd_coinst.vcxproj    |  62 --
 .../xenvbd_coinst/xenvbd_coinst.vcxproj.user  |   8 -
 vs2019/package/package.vcxproj                |   3 -
 vs2019/xenvbd.sln                             |  24 +-
 vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj    |  68 --
 .../xenvbd_coinst/xenvbd_coinst.vcxproj.user  |   8 -
 vs2022/package/package.vcxproj                |   3 -
 vs2022/xenvbd.sln                             |  24 +-
 vs2022/xenvbd_coinst/xenvbd_coinst.vcxproj    |  68 --
 .../xenvbd_coinst/xenvbd_coinst.vcxproj.user  |   8 -
 19 files changed, 4 insertions(+), 1405 deletions(-)
 delete mode 100644 src/coinst/coinst.c
 delete mode 100644 src/coinst/xenvbd_coinst.def
 delete mode 100644 src/coinst/xenvbd_coinst.rc
 delete mode 100644 vs2015/xenvbd_coinst/xenvbd_coinst.vcxproj
 delete mode 100644 vs2015/xenvbd_coinst/xenvbd_coinst.vcxproj.user
 delete mode 100644 vs2017/xenvbd_coinst/xenvbd_coinst.vcxproj
 delete mode 100644 vs2017/xenvbd_coinst/xenvbd_coinst.vcxproj.user
 delete mode 100644 vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj
 delete mode 100644 vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj.user
 delete mode 100644 vs2022/xenvbd_coinst/xenvbd_coinst.vcxproj
 delete mode 100644 vs2022/xenvbd_coinst/xenvbd_coinst.vcxproj.user

diff --git a/src/coinst/coinst.c b/src/coinst/coinst.c
deleted file mode 100644
index 6c6a09f..0000000
--- a/src/coinst/coinst.c
+++ /dev/null
@@ -1,917 +0,0 @@
-/* Copyright (c) Xen Project.
- * Copyright (c) Cloud Software Group, 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.
- */
-
-#include <windows.h>
-#include <setupapi.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <strsafe.h>
-
-#include <version.h>
-
-#define stringify_literal(_text) #_text
-#define stringify(_text) stringify_literal(_text)
-#define __MODULE__ stringify(PROJECT)
-
-__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 UNPLUG_KEY \
-        SERVICE_KEY(XEN) ## "\\Unplug"
-
-#define CONTROL_KEY "SYSTEM\\CurrentControlSet\\Control"
-
-#define PNP_KEY \
-        CONTROL_KEY ## "\\Pnp"
-
-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_WARNING;
-
-    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 FORCEINLINE PTCHAR
-__GetErrorMessage(
-    IN  DWORD   Error
-    )
-{
-    PTCHAR      Message;
-    ULONG       Index;
-
-    if (!FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
-                       FORMAT_MESSAGE_FROM_SYSTEM |
-                       FORMAT_MESSAGE_IGNORE_INSERTS,
-                       NULL,
-                       Error,
-                       MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-                       (LPTSTR)&Message,
-                       0,
-                       NULL))
-        return NULL;
-
-    for (Index = 0; Message[Index] != '\0'; Index++) {
-        if (Message[Index] == '\r' || Message[Index] == '\n') {
-            Message[Index] = '\0';
-            break;
-        }
-    }
-
-    return Message;
-}
-
-static FORCEINLINE 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 BOOLEAN
-ClearUnplugRequest(
-    IN  PTCHAR      ClassName
-    )
-{
-    HKEY            UnplugKey;
-    HRESULT         Error;
-
-    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                         UNPLUG_KEY,
-                         0,
-                         KEY_ALL_ACCESS,
-                         &UnplugKey);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    Error = RegDeleteValue(UnplugKey, ClassName);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail2;
-    }
-
-    RegCloseKey(UnplugKey);
-
-    return TRUE;
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(UnplugKey);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = __GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-OverrideGroupPolicyOptions(
-    )
-{
-    HKEY        PnpKey;
-    DWORD       Value;
-    HRESULT     Error;
-
-    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                         PNP_KEY,
-                         0,
-                         KEY_ALL_ACCESS,
-                         &PnpKey);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    Value = 0;
-
-    Error = RegSetValueEx(PnpKey,
-                          "DisableCDDB",
-                          0,
-                          REG_DWORD,
-                          (LPBYTE)&Value,
-                          (DWORD)sizeof (DWORD));
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail2;
-    }
-
-    Error = RegSetValueEx(PnpKey,
-                          "DontStartRawDevices",
-                          0,
-                          REG_DWORD,
-                          (LPBYTE)&Value,
-                          (DWORD)sizeof (DWORD));
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail3;
-    }
-
-    RegCloseKey(PnpKey);
-
-    return TRUE;
-
-fail3:
-    Log("fail3");
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(PnpKey);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = __GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-#pragma warning(push)
-#pragma warning(disable:6102) // Using value from failed function call
-
-static BOOLEAN
-IncreaseDiskTimeOut(
-    VOID
-    )
-{
-    HKEY        Key;
-    DWORD       Type;
-    DWORD       Value;
-    DWORD       ValueLength;
-    HRESULT     Error;
-
-    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                         SERVICE_KEY(Disk),
-                         0,
-                         KEY_ALL_ACCESS,
-                         &Key);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    ValueLength = sizeof (DWORD);
-
-    Error = RegQueryValueEx(Key,
-                            "TimeOutValue",
-                            NULL,
-                            &Type,
-                            (LPBYTE)&Value,
-                            &ValueLength);
-    if (Error != ERROR_SUCCESS) {
-        if (Error != ERROR_FILE_NOT_FOUND)
-            goto fail2;
-
-        Type = REG_DWORD;
-        Value = 0;
-    }
-
-    if (Type != REG_DWORD) {
-        SetLastError(ERROR_INVALID_DATA);
-        goto fail3;
-    }
-
-    if (Value >= 120)
-        goto done;
-
-    Value = 120;
-
-    Error = RegSetValueEx(Key,
-                          "TimeOutValue",
-                          0,
-                          REG_DWORD,
-                          (LPBYTE)&Value,
-                          ValueLength);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail4;
-    }
-
-done:
-    RegCloseKey(Key);
-
-    return TRUE;
-
-fail4:
-    Log("fail4\n");
-
-fail3:
-    Log("fail3\n");
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(Key);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = __GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-#pragma warning(pop)
-
-static BOOLEAN
-OverrideSanPolicy(
-    VOID
-    )
-{
-    HKEY        Key;
-    DWORD       Value;
-    HRESULT     Error;
-
-    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                         PARAMETERS_KEY(PARTMGR),
-                         0,
-                         KEY_ALL_ACCESS,
-                         &Key);
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    Value = 1;
-
-    Error = RegSetValueEx(Key,
-                          "SanPolicy",
-                          0,
-                          REG_DWORD,
-                          (LPBYTE)&Value,
-                          (DWORD)sizeof (DWORD));
-    if (Error != ERROR_SUCCESS) {
-        SetLastError(Error);
-        goto fail2;
-    }
-
-    RegCloseKey(Key);
-
-    return TRUE;
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(Key);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = __GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-AllowUpdate(
-    IN  PTCHAR      DriverName,
-    OUT PBOOLEAN    Allow
-    )
-{
-    TCHAR           ServiceKeyName[MAX_PATH];
-    HKEY            ServiceKey;
-    HRESULT         Error;
-    DWORD           ValueLength;
-    DWORD           Value;
-    DWORD           Type;
-
-    Log("====> (%s)", DriverName);
-
-    (VOID) StringCbPrintf(ServiceKeyName,
-                          MAX_PATH,
-                          SERVICES_KEY "\\%s",
-                          DriverName);
-
-    Error = RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                         ServiceKeyName,
-                         0,
-                         KEY_READ,
-                         &ServiceKey);
-    if (Error != ERROR_SUCCESS) {
-        if (Error == ERROR_FILE_NOT_FOUND) {
-            Value = 1;
-            goto done;
-        }
-
-        SetLastError(Error);
-        goto fail1;
-    }
-
-    ValueLength = sizeof (Value);
-
-    Error = RegQueryValueEx(ServiceKey,
-                            "AllowUpdate",
-                            NULL,
-                            &Type,
-                            (LPBYTE)&Value,
-                            &ValueLength);
-    if (Error != ERROR_SUCCESS) {
-        if (Error == ERROR_FILE_NOT_FOUND) {
-            Type = REG_DWORD;
-            Value = 1;
-        } else {
-            SetLastError(Error);
-            goto fail2;
-        }
-    }
-
-    if (Type != REG_DWORD) {
-        SetLastError(ERROR_BAD_FORMAT);
-        goto fail3;
-    }
-
-    RegCloseKey(ServiceKey);
-
-done:
-    if (Value == 0) {
-        Log("DISALLOWED");
-        *Allow = FALSE;
-    }
-
-    Log("<====");
-
-    return TRUE;
-
-fail3:
-    Log("fail3");
-
-fail2:
-    Log("fail2");
-
-    RegCloseKey(ServiceKey);
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-        Message = __GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static BOOLEAN
-AllowInstall(
-    OUT PBOOLEAN    Allow
-    )
-{
-    BOOLEAN         Success;
-    HRESULT         Error;
-
-    Log("====>");
-
-    *Allow = TRUE;
-
-    Success = AllowUpdate("XENVBD", Allow);
-    if (!Success)
-        goto fail1;
-
-    Log("<====");
-
-    return TRUE;
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-        Message = __GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return FALSE;
-}
-
-static FORCEINLINE HRESULT
-__DifInstallPreProcess(
-    IN  HDEVINFO                    DeviceInfoSet,
-    IN  PSP_DEVINFO_DATA            DeviceInfoData,
-    IN  PCOINSTALLER_CONTEXT_DATA   Context
-    )
-{
-    HRESULT                         Error;
-    BOOLEAN                         Success;
-    BOOLEAN                         Allow;
-
-    UNREFERENCED_PARAMETER(DeviceInfoSet);
-    UNREFERENCED_PARAMETER(DeviceInfoData);
-    UNREFERENCED_PARAMETER(Context);
-
-    Log("====>");
-
-    Success = AllowInstall(&Allow);
-    if (!Success)
-        goto fail1;
-
-    if (!Allow) {
-        SetLastError(ERROR_ACCESS_DENIED);
-        goto fail2;
-    }
-
-    Log("<====");
-
-    return NO_ERROR;
-
-fail2:
-    Log("fail2");
-
-fail1:
-    Error = GetLastError();
-
-    {
-        PTCHAR  Message;
-
-        Message = __GetErrorMessage(Error);
-        Log("fail1 (%s)", Message);
-        LocalFree(Message);
-    }
-
-    return Error;
-}
-
-static FORCEINLINE 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("====>");
-
-    (VOID) OverrideGroupPolicyOptions();
-    (VOID) OverrideSanPolicy();
-    (VOID) IncreaseDiskTimeOut();
-
-    Log("<====");
-
-    return NO_ERROR;
-}
-
-static DECLSPEC_NOINLINE 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 FORCEINLINE 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("<===>");
-
-    (VOID) ClearUnplugRequest("DISKS");
-
-    return NO_ERROR; 
-}
-
-static FORCEINLINE 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 DECLSPEC_NOINLINE 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 FORCEINLINE 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/xenvbd_coinst.def b/src/coinst/xenvbd_coinst.def
deleted file mode 100644
index 67c4d82..0000000
--- a/src/coinst/xenvbd_coinst.def
+++ /dev/null
@@ -1,38 +0,0 @@
-; Copyright (c) Xen Project.
-; Copyright (c) Cloud Software Group, 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  XENVBD_COINST
-
-EXPORTS   
-   Entry 
-   Version
-
-   DllMain PRIVATE
diff --git a/src/coinst/xenvbd_coinst.rc b/src/coinst/xenvbd_coinst.rc
deleted file mode 100644
index d3444d4..0000000
--- a/src/coinst/xenvbd_coinst.rc
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (c) Xen Project.
- * Copyright (c) Cloud Software Group, 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.
- */
-
-#include <windows.h>
-#include <ntverp.h>
-
-
-#undef VER_COMPANYNAME_STR
-#undef VER_PRODUCTNAME_STR
-#undef VER_PRODUCTVERSION
-#undef VER_PRODUCTVERSION_STR
-
-#include <version.h>
-
-#define VER_COMPANYNAME_STR         VENDOR_NAME_STR
-#define VER_LEGALCOPYRIGHT_STR      COPYRIGHT_STR
-
-#define VER_PRODUCTNAME_STR         "XENVBD_COINST"
-#define VER_PRODUCTVERSION          
MAJOR_VERSION,MINOR_VERSION,MICRO_VERSION,BUILD_NUMBER
-#define VER_PRODUCTVERSION_STR      MAJOR_VERSION_STR "." MINOR_VERSION_STR 
"." MICRO_VERSION_STR "." BUILD_NUMBER_STR
-
-#define VER_INTERNALNAME_STR        "XENVBD_COINST.DLL"
-#define VER_FILEDESCRIPTION_STR     "XENVBD_COINST"
-
-#define VER_FILETYPE                VFT_DRV
-#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM
-
-#include <common.ver>
diff --git a/vs2015/package/package.vcxproj b/vs2015/package/package.vcxproj
index d816647..4a3a397 100644
--- a/vs2015/package/package.vcxproj
+++ b/vs2015/package/package.vcxproj
@@ -38,9 +38,6 @@
     <ArchiveDir>..\..\$(SolutionName)\x64</ArchiveDir>
   </PropertyGroup>
   <ItemGroup>
-    <ProjectReference Include="..\xenvbd_coinst\xenvbd_coinst.vcxproj">
-      <Project>{50c08437-c1f3-4349-bf6a-7b55a06bf999}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\xencrsh\xencrsh.vcxproj">
       <Project>{58f5bc43-b92e-4a2b-975d-0066eab29092}</Project>
     </ProjectReference>
diff --git a/vs2015/xenvbd.sln b/vs2015/xenvbd.sln
index de1644f..7a350f5 100644
--- a/vs2015/xenvbd.sln
+++ b/vs2015/xenvbd.sln
@@ -20,12 +20,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = 
"xendisk", "xendisk\xendisk.
                {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
        EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvbd_coinst", 
"xenvbd_coinst\xenvbd_coinst.vcxproj", "{50C08437-C1F3-4349-BF6A-7B55A06BF999}"
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", 
"package\package.vcxproj", "{AB8DAED3-9D70-4907-99A3-C643F1FC1972}"
-    ProjectSection(ProjectDependencies) = postProject
+       ProjectSection(ProjectDependencies) = postProject
                {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999} = 
{50C08437-C1F3-4349-BF6A-7B55A06BF999}
                {58F5BC43-B92E-4A2B-975D-0066EAB29092} = 
{58F5BC43-B92E-4A2B-975D-0066EAB29092}
                {EF236371-3145-41B1-99C9-82B33E353F17} = 
{EF236371-3145-41B1-99C9-82B33E353F17}
                {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD} = 
{D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}
@@ -91,22 +88,6 @@ Global
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|Win32.Build.0 = Windows 10 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|x64.ActiveCfg = Windows 10 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|x64.Build.0 = Windows 10 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|Win32.ActiveCfg = Windows 10 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2015/xenvbd_coinst/xenvbd_coinst.vcxproj 
b/vs2015/xenvbd_coinst/xenvbd_coinst.vcxproj
deleted file mode 100644
index 92949f0..0000000
--- a/vs2015/xenvbd_coinst/xenvbd_coinst.vcxproj
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{50C08437-C1F3-4349-BF6A-7B55A06BF999}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      
<DisableSpecificWarnings>4127;4548;4711;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/xenvbd_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" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenvbd_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenvbd_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2015/xenvbd_coinst/xenvbd_coinst.vcxproj.user 
b/vs2015/xenvbd_coinst/xenvbd_coinst.vcxproj.user
deleted file mode 100644
index e4f96db..0000000
--- a/vs2015/xenvbd_coinst/xenvbd_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="14.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-       <PropertyGroup>
-               <SignMode>TestSign</SignMode>
-               <TestCertificate>..\..\src\xenvbd.pfx</TestCertificate>
-               
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-       </PropertyGroup>
-</Project>
diff --git a/vs2017/package/package.vcxproj b/vs2017/package/package.vcxproj
index 51c57a1..1c77308 100644
--- a/vs2017/package/package.vcxproj
+++ b/vs2017/package/package.vcxproj
@@ -38,9 +38,6 @@
     <ArchiveDir>..\..\$(SolutionName)\x64</ArchiveDir>
   </PropertyGroup>
   <ItemGroup>
-    <ProjectReference Include="..\xenvbd_coinst\xenvbd_coinst.vcxproj">
-      <Project>{50c08437-c1f3-4349-bf6a-7b55a06bf999}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\xencrsh\xencrsh.vcxproj">
       <Project>{58f5bc43-b92e-4a2b-975d-0066eab29092}</Project>
     </ProjectReference>
diff --git a/vs2017/xenvbd.sln b/vs2017/xenvbd.sln
index 26d069d..065d4a9 100644
--- a/vs2017/xenvbd.sln
+++ b/vs2017/xenvbd.sln
@@ -17,15 +17,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = 
"xendisk", "xendisk\xendisk.
                {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
        EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvbd_coinst", 
"xenvbd_coinst\xenvbd_coinst.vcxproj", "{50C08437-C1F3-4349-BF6A-7B55A06BF999}"
-       ProjectSection(ProjectDependencies) = postProject
-               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-       EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", 
"package\package.vcxproj", "{AB8DAED3-9D70-4907-99A3-C643F1FC1972}"
-    ProjectSection(ProjectDependencies) = postProject
+       ProjectSection(ProjectDependencies) = postProject
                {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999} = 
{50C08437-C1F3-4349-BF6A-7B55A06BF999}
                {58F5BC43-B92E-4A2B-975D-0066EAB29092} = 
{58F5BC43-B92E-4A2B-975D-0066EAB29092}
                {EF236371-3145-41B1-99C9-82B33E353F17} = 
{EF236371-3145-41B1-99C9-82B33E353F17}
                {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD} = 
{D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}
@@ -91,22 +85,6 @@ Global
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|Win32.Build.0 = Windows 10 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|x64.ActiveCfg = Windows 10 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|x64.Build.0 = Windows 10 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|Win32.ActiveCfg = Windows 10 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2017/xenvbd_coinst/xenvbd_coinst.vcxproj 
b/vs2017/xenvbd_coinst/xenvbd_coinst.vcxproj
deleted file mode 100644
index e792592..0000000
--- a/vs2017/xenvbd_coinst/xenvbd_coinst.vcxproj
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{50C08437-C1F3-4349-BF6A-7B55A06BF999}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      
<DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;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/xenvbd_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" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenvbd_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenvbd_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2017/xenvbd_coinst/xenvbd_coinst.vcxproj.user 
b/vs2017/xenvbd_coinst/xenvbd_coinst.vcxproj.user
deleted file mode 100644
index b017ec2..0000000
--- a/vs2017/xenvbd_coinst/xenvbd_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="15.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-       <PropertyGroup>
-               <SignMode>TestSign</SignMode>
-               <TestCertificate>..\..\src\xenvbd.pfx</TestCertificate>
-               
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-       </PropertyGroup>
-</Project>
diff --git a/vs2019/package/package.vcxproj b/vs2019/package/package.vcxproj
index 987ea18..aedb5d2 100644
--- a/vs2019/package/package.vcxproj
+++ b/vs2019/package/package.vcxproj
@@ -43,9 +43,6 @@
     <ArchiveDir>..\..\$(SolutionName)\x64</ArchiveDir>
   </PropertyGroup>
   <ItemGroup>
-    <ProjectReference Include="..\xenvbd_coinst\xenvbd_coinst.vcxproj">
-      <Project>{50c08437-c1f3-4349-bf6a-7b55a06bf999}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\xencrsh\xencrsh.vcxproj">
       <Project>{58f5bc43-b92e-4a2b-975d-0066eab29092}</Project>
     </ProjectReference>
diff --git a/vs2019/xenvbd.sln b/vs2019/xenvbd.sln
index acc17fc..ad41d7f 100644
--- a/vs2019/xenvbd.sln
+++ b/vs2019/xenvbd.sln
@@ -20,15 +20,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = 
"xendisk", "xendisk\xendisk.
                {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
        EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvbd_coinst", 
"xenvbd_coinst\xenvbd_coinst.vcxproj", "{50C08437-C1F3-4349-BF6A-7B55A06BF999}"
-       ProjectSection(ProjectDependencies) = postProject
-               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-       EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", 
"package\package.vcxproj", "{AB8DAED3-9D70-4907-99A3-C643F1FC1972}"
-    ProjectSection(ProjectDependencies) = postProject
+       ProjectSection(ProjectDependencies) = postProject
                {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999} = 
{50C08437-C1F3-4349-BF6A-7B55A06BF999}
                {58F5BC43-B92E-4A2B-975D-0066EAB29092} = 
{58F5BC43-B92E-4A2B-975D-0066EAB29092}
                {EF236371-3145-41B1-99C9-82B33E353F17} = 
{EF236371-3145-41B1-99C9-82B33E353F17}
                {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD} = 
{D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}
@@ -94,22 +88,6 @@ Global
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|Win32.Build.0 = Windows 10 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|x64.ActiveCfg = Windows 10 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|x64.Build.0 = Windows 10 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|Win32.ActiveCfg = Windows 10 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj 
b/vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj
deleted file mode 100644
index 3bb2fe2..0000000
--- a/vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{50C08437-C1F3-4349-BF6A-7B55A06BF999}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <AdditionalOptions>/ZH:SHA_256 %(AdditionalOptions)</AdditionalOptions>
-      <SDLCheck>true</SDLCheck>
-      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      
<DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;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/xenvbd_coinst.def</ModuleDefinitionFile>
-      
<AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <CETCompat>true</CETCompat>
-    </Link>
-    <ResourceCompile>
-      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
-    <DriverSign>
-      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-    </DriverSign>
-  </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" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenvbd_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenvbd_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj.user 
b/vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj.user
deleted file mode 100644
index b017ec2..0000000
--- a/vs2019/xenvbd_coinst/xenvbd_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="15.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-       <PropertyGroup>
-               <SignMode>TestSign</SignMode>
-               <TestCertificate>..\..\src\xenvbd.pfx</TestCertificate>
-               
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-       </PropertyGroup>
-</Project>
diff --git a/vs2022/package/package.vcxproj b/vs2022/package/package.vcxproj
index e85c516..dea0a97 100644
--- a/vs2022/package/package.vcxproj
+++ b/vs2022/package/package.vcxproj
@@ -43,9 +43,6 @@
     <ArchiveDir>..\..\$(SolutionName)\x64</ArchiveDir>
   </PropertyGroup>
   <ItemGroup>
-    <ProjectReference Include="..\xenvbd_coinst\xenvbd_coinst.vcxproj">
-      <Project>{50c08437-c1f3-4349-bf6a-7b55a06bf999}</Project>
-    </ProjectReference>
     <ProjectReference Include="..\xencrsh\xencrsh.vcxproj">
       <Project>{58f5bc43-b92e-4a2b-975d-0066eab29092}</Project>
     </ProjectReference>
diff --git a/vs2022/xenvbd.sln b/vs2022/xenvbd.sln
index acc17fc..ad41d7f 100644
--- a/vs2022/xenvbd.sln
+++ b/vs2022/xenvbd.sln
@@ -20,15 +20,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = 
"xendisk", "xendisk\xendisk.
                {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
        EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xenvbd_coinst", 
"xenvbd_coinst\xenvbd_coinst.vcxproj", "{50C08437-C1F3-4349-BF6A-7B55A06BF999}"
-       ProjectSection(ProjectDependencies) = postProject
-               {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-       EndProjectSection
-EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", 
"package\package.vcxproj", "{AB8DAED3-9D70-4907-99A3-C643F1FC1972}"
-    ProjectSection(ProjectDependencies) = postProject
+       ProjectSection(ProjectDependencies) = postProject
                {65FA97EA-A569-4FC1-BFE7-D68E109143F7} = 
{65FA97EA-A569-4FC1-BFE7-D68E109143F7}
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999} = 
{50C08437-C1F3-4349-BF6A-7B55A06BF999}
                {58F5BC43-B92E-4A2B-975D-0066EAB29092} = 
{58F5BC43-B92E-4A2B-975D-0066EAB29092}
                {EF236371-3145-41B1-99C9-82B33E353F17} = 
{EF236371-3145-41B1-99C9-82B33E353F17}
                {D7411B2C-2C43-434D-9F56-E10A3D2F5BAD} = 
{D7411B2C-2C43-434D-9F56-E10A3D2F5BAD}
@@ -94,22 +88,6 @@ Global
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
                {EF236371-3145-41B1-99C9-82B33E353F17}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|x64.ActiveCfg = Windows 8 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Debug|x64.Build.0 = Windows 8 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|Win32.ActiveCfg = Windows 8 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|Win32.Build.0 = Windows 8 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|x64.ActiveCfg = Windows 8 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 8 
Release|x64.Build.0 = Windows 8 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|Win32.ActiveCfg = Windows 10 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|Win32.Build.0 = Windows 10 Debug|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|x64.ActiveCfg = Windows 10 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Debug|x64.Build.0 = Windows 10 Debug|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|Win32.ActiveCfg = Windows 10 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|Win32.Build.0 = Windows 10 Release|Win32
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|x64.ActiveCfg = Windows 10 Release|x64
-               {50C08437-C1F3-4349-BF6A-7B55A06BF999}.Windows 10 
Release|x64.Build.0 = Windows 10 Release|x64
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.ActiveCfg = Windows 8 Debug|Win32
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.Build.0 = Windows 8 Debug|Win32
                {AB8DAED3-9D70-4907-99A3-C643F1FC1972}.Windows 8 
Debug|Win32.Deploy.0 = Windows 8 Debug|Win32
diff --git a/vs2022/xenvbd_coinst/xenvbd_coinst.vcxproj 
b/vs2022/xenvbd_coinst/xenvbd_coinst.vcxproj
deleted file mode 100644
index 3bb2fe2..0000000
--- a/vs2022/xenvbd_coinst/xenvbd_coinst.vcxproj
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-  <Import Project="..\configs.props" />
-  <PropertyGroup Label="PropertySheets">
-    <DriverType>WDM</DriverType>
-    <PlatformToolset>WindowsApplicationForDrivers10.0</PlatformToolset>
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{50C08437-C1F3-4349-BF6A-7B55A06BF999}</ProjectGuid>
-  </PropertyGroup>
-  <Import Project="..\targets.props" />
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <PropertyGroup>
-    <RunCodeAnalysis>true</RunCodeAnalysis>
-    <EnableInf2cat>false</EnableInf2cat>
-  </PropertyGroup>
-  <ItemDefinitionGroup>
-    <ClCompile>
-      <AdditionalOptions>/ZH:SHA_256 %(AdditionalOptions)</AdditionalOptions>
-      <SDLCheck>true</SDLCheck>
-      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      
<PreprocessorDefinitions>PROJECT=$(ProjectName);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <WarningLevel>EnableAllWarnings</WarningLevel>
-      
<DisableSpecificWarnings>4127;4548;4711;4820;4668;4255;5045;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/xenvbd_coinst.def</ModuleDefinitionFile>
-      
<AdditionalDependencies>setupapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <CETCompat>true</CETCompat>
-    </Link>
-    <ResourceCompile>
-      
<AdditionalIncludeDirectories>$(SolutionDir)..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
-    <DriverSign>
-      <FileDigestAlgorithm>sha256</FileDigestAlgorithm>
-    </DriverSign>
-  </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" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\src\coinst\coinst.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\..\src\coinst\xenvbd_coinst.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\src\coinst\xenvbd_coinst.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-</Project>
diff --git a/vs2022/xenvbd_coinst/xenvbd_coinst.vcxproj.user 
b/vs2022/xenvbd_coinst/xenvbd_coinst.vcxproj.user
deleted file mode 100644
index b017ec2..0000000
--- a/vs2022/xenvbd_coinst/xenvbd_coinst.vcxproj.user
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="15.0" 
xmlns="http://schemas.microsoft.com/developer/msbuild/2003";>
-       <PropertyGroup>
-               <SignMode>TestSign</SignMode>
-               <TestCertificate>..\..\src\xenvbd.pfx</TestCertificate>
-               
<TimeStampServer>http://timestamp.verisign.com/scripts/timstamp.dll</TimeStampServer>
-       </PropertyGroup>
-</Project>
-- 
2.41.0.windows.3




 


Rackspace

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