Add MSI installer for win32 virtualsmartcard.

Also ignore temporary VS artifacts and removes conflicting snprintf definition with standard definition
This commit is contained in:
Nick Russler
2016-11-08 12:22:56 +01:00
committed by Frank Morgner
parent 77eb263212
commit de515d80d2
15 changed files with 556 additions and 18 deletions

5
.gitignore vendored
View File

@@ -79,3 +79,8 @@ remote-reader/build/*
.idea
.gradle
local.properties
/virtualsmartcard/bin
/virtualsmartcard/obj
/virtualsmartcard/lib
/virtualsmartcard/win32/BixVReader/Release
/virtualsmartcard/win32/Release

3
.gitmodules vendored
View File

@@ -16,3 +16,6 @@
[submodule "ccid/src/OpenSC"]
path = ccid/src/OpenSC
url = https://github.com/frankmorgner/OpenSC
[submodule "virtualsmartcard/win32/DevMsi"]
path = virtualsmartcard/win32/DevMsi
url = https://github.com/nickrussler/DevMsi.git

View File

@@ -31,7 +31,6 @@
#include <winsock2.h>
#include <ws2tcpip.h>
#define close(s) closesocket(s)
#define snprintf _snprintf
#ifndef AI_NUMERICSERV
#define AI_NUMERICSERV 0
#endif

View File

@@ -0,0 +1,56 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BixVReader", "BixVReader\BixVReader.vcxproj", "{1D286E48-DE79-41FF-844B-56ED3764D4DA}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "BixVReaderInstaller", "BixVReaderInstaller\BixVReaderInstaller.wixproj", "{9C30A09E-1A74-4091-93B7-6296F94CE77C}"
ProjectSection(ProjectDependencies) = postProject
{1D286E48-DE79-41FF-844B-56ED3764D4DA} = {1D286E48-DE79-41FF-844B-56ED3764D4DA}
{42C4F882-2757-4C0D-90D9-BC096810163E} = {42C4F882-2757-4C0D-90D9-BC096810163E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DevMsi", "DevMsi\src\DevMsi\DevMsi.vcxproj", "{42C4F882-2757-4C0D-90D9-BC096810163E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Debug|x64.ActiveCfg = Debug|x64
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Debug|x64.Build.0 = Debug|x64
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Debug|x64.Deploy.0 = Debug|x64
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Debug|x86.ActiveCfg = Debug|Win32
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Debug|x86.Build.0 = Debug|Win32
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Debug|x86.Deploy.0 = Debug|Win32
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Release|x64.ActiveCfg = Release|x64
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Release|x64.Build.0 = Release|x64
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Release|x64.Deploy.0 = Release|x64
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Release|x86.ActiveCfg = Release|Win32
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Release|x86.Build.0 = Release|Win32
{1D286E48-DE79-41FF-844B-56ED3764D4DA}.Release|x86.Deploy.0 = Release|Win32
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Debug|x64.ActiveCfg = Debug|x64
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Debug|x64.Build.0 = Debug|x64
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Debug|x86.ActiveCfg = Debug|x86
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Debug|x86.Build.0 = Debug|x86
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Release|x64.ActiveCfg = Release|x64
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Release|x64.Build.0 = Release|x64
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Release|x86.ActiveCfg = Release|x86
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Release|x86.Build.0 = Release|x86
{42C4F882-2757-4C0D-90D9-BC096810163E}.Debug|x64.ActiveCfg = Debug|x64
{42C4F882-2757-4C0D-90D9-BC096810163E}.Debug|x64.Build.0 = Debug|x64
{42C4F882-2757-4C0D-90D9-BC096810163E}.Debug|x86.ActiveCfg = Debug|Win32
{42C4F882-2757-4C0D-90D9-BC096810163E}.Debug|x86.Build.0 = Debug|Win32
{42C4F882-2757-4C0D-90D9-BC096810163E}.Release|x64.ActiveCfg = Release|x64
{42C4F882-2757-4C0D-90D9-BC096810163E}.Release|x64.Build.0 = Release|x64
{42C4F882-2757-4C0D-90D9-BC096810163E}.Release|x86.ActiveCfg = Release|Win32
{42C4F882-2757-4C0D-90D9-BC096810163E}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Binary file not shown.

View File

@@ -0,0 +1,190 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.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="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<None Include="Exports.def" />
<None Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\vpcd\lock.c" />
<ClCompile Include="..\..\src\vpcd\vpcd.c" />
<ClCompile Include="Device.cpp" />
<ClCompile Include="DllMain.cpp" />
<ClCompile Include="Driver.cpp" />
<ClCompile Include="memory.cpp" />
<ClCompile Include="PipeReader.cpp" />
<ClCompile Include="Queue.cpp" />
<ClCompile Include="Reader.cpp" />
<ClCompile Include="sectionLocker.cpp" />
<ClCompile Include="TcpIpReader.cpp" />
<ClCompile Include="VpcdReader.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\vpcd\lock.h" />
<ClInclude Include="..\..\src\vpcd\vpcd.h" />
<ClInclude Include="Device.h" />
<ClInclude Include="Driver.h" />
<ClInclude Include="Internal.h" />
<ClInclude Include="memory.h" />
<ClInclude Include="Queue.h" />
<ClInclude Include="Reader.h" />
<ClInclude Include="Resource.h" />
<ClInclude Include="sectionLocker.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="BixVReader.rc" />
</ItemGroup>
<ItemGroup>
<Inf Include="BixVReader.inf" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{1D286E48-DE79-41FF-844B-56ED3764D4DA}</ProjectGuid>
<TemplateGuid>{2177f19c-eb4c-4687-9e7f-f9eec1f12cf1}</TemplateGuid>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
<Configuration>Debug</Configuration>
<Platform Condition="'$(Platform)' == ''">Win32</Platform>
<RootNamespace>BixVReader</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>WindowsUserModeDriver10.0</PlatformToolset>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfAtl>Static</UseOfAtl>
<UMDF_VERSION_MAJOR>1</UMDF_VERSION_MAJOR>
<DriverTargetPlatform>Desktop</DriverTargetPlatform>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>WindowsUserModeDriver10.0</PlatformToolset>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfAtl>Static</UseOfAtl>
<UMDF_VERSION_MAJOR>1</UMDF_VERSION_MAJOR>
<DriverTargetPlatform>Desktop</DriverTargetPlatform>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>WindowsUserModeDriver10.0</PlatformToolset>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfAtl>Static</UseOfAtl>
<UMDF_VERSION_MAJOR>1</UMDF_VERSION_MAJOR>
<DriverTargetPlatform>Desktop</DriverTargetPlatform>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>WindowsUserModeDriver10.0</PlatformToolset>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfAtl>Static</UseOfAtl>
<UMDF_VERSION_MAJOR>1</UMDF_VERSION_MAJOR>
<DriverTargetPlatform>Desktop</DriverTargetPlatform>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup 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 />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<DebuggerFlavor>DbgengRemoteDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<DebuggerFlavor>DbgengRemoteDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<DebuggerFlavor>DbgengRemoteDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<DebuggerFlavor>DbgengRemoteDebugger</DebuggerFlavor>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WppEnabled>true</WppEnabled>
<WppScanConfigurationData Condition="'%(ClCompile.ScanConfigurationData)' == ''">internal.h</WppScanConfigurationData>
<ExceptionHandling>Sync</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<TreatWarningAsError>false</TreatWarningAsError>
<CallingConvention>
</CallingConvention>
<ShowIncludes>true</ShowIncludes>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<ModuleDefinitionFile>.\Exports.def</ModuleDefinitionFile>
<AdditionalDependencies>Ws2_32.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WppEnabled>true</WppEnabled>
<WppScanConfigurationData Condition="'%(ClCompile.ScanConfigurationData)' == ''">internal.h</WppScanConfigurationData>
<TreatWarningAsError>false</TreatWarningAsError>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<ModuleDefinitionFile>.\Exports.def</ModuleDefinitionFile>
<AdditionalDependencies>Ws2_32.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WppEnabled>true</WppEnabled>
<WppScanConfigurationData Condition="'%(ClCompile.ScanConfigurationData)' == ''">internal.h</WppScanConfigurationData>
<TreatWarningAsError>false</TreatWarningAsError>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<ModuleDefinitionFile>.\Exports.def</ModuleDefinitionFile>
<AdditionalDependencies>Ws2_32.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WppEnabled>true</WppEnabled>
<WppScanConfigurationData Condition="'%(ClCompile.ScanConfigurationData)' == ''">internal.h</WppScanConfigurationData>
<TreatWarningAsError>false</TreatWarningAsError>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<ModuleDefinitionFile>.\Exports.def</ModuleDefinitionFile>
<AdditionalDependencies>Ws2_32.lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<FilesToPackage Include="$(TargetPath)" />
</ItemGroup>
<ItemGroup>
<Midl Include="VirtualSCReader.idl" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Driver Files">
<UniqueIdentifier>{8E41214B-6785-4CFE-B992-037D68949A14}</UniqueIdentifier>
<Extensions>inf;inv;inx;mof;mc;</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<Inf Include="BixVReader.inf">
<Filter>Driver Files</Filter>
</Inf>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Device.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Driver.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Internal.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="memory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Queue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Reader.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="sectionLocker.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\vpcd\lock.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\vpcd\vpcd.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="Exports.def">
<Filter>Source Files</Filter>
</None>
<ClCompile Include="Device.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Driver.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="BixVReader.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<ClCompile Include="DllMain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="memory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="PipeReader.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Queue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Reader.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="sectionLocker.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="TcpIpReader.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="VpcdReader.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\vpcd\lock.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\vpcd\vpcd.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Midl Include="VirtualSCReader.idl">
<Filter>Source Files</Filter>
</Midl>
</ItemGroup>
</Project>

View File

@@ -9,8 +9,7 @@ library VirtualSCReaderDriverLib
{
importlib("stdole2.tlb");
[
uuid(d4112073-d09b-458f-a5aa-35ef21eef5de),
//uuid(10654262-B9BD-4636-8890-F66362CCC207),
uuid(A44A2DF4-DCA4-4767-8EC4-86FE611C2EA7),
helpstring("VirtualSCReader Class")
]
coclass VirtualSCReaderDriver

View File

@@ -55,21 +55,21 @@ DEFINE_GUID(SmartCardReaderGuid, 0x50DD5230, 0xBA8A, 0x11D1, 0xBF,0x5D,0x00,0x00
// Include the type specific headers.
//
class funcTrace {
public:
wchar_t funcN[500];
funcTrace (char *func) {
wchar_t funcName[500];
wsprintf(funcN,L"%S",func);
wsprintf(funcName,L"[BixVReader]IN -> %s",funcN);
OutputDebugString(funcName);
}
~funcTrace () {
wchar_t funcName[500];
wsprintf(funcName,L"[BixVReader]OUT -> %s",funcN);
OutputDebugString(funcName);
}
};
//class funcTrace {
//public:
// TCHAR funcN[500];
// funcTrace (char *func) {
// TCHAR funcName[500];
// wsprintf(funcN, _T("%S"), func);
// wsprintf(funcName, _T("[BixVReader]IN -> %s"), funcN);
// OutputDebugString(funcName);
// }
// ~funcTrace () {
// TCHAR funcName[500];
// wsprintf(funcName, _T("[BixVReader]OUT -> %s"), funcN);
// OutputDebugString(funcName);
// }
//};
//#define inFunc funcTrace _ftrace(__FUNCTION__);
#define inFunc

View File

@@ -0,0 +1,5 @@
/.vs
/obj
/bin
*.sdf

View File

@@ -0,0 +1,9 @@
[Driver]
NumReaders=1
[Reader0]
RPC_TYPE=2
VENDOR_NAME=Virtual Smart Card Architecture
VENDOR_IFD_TYPE=Virtual PCD
TCP_PORT=35963
DECIVE_UNIT=0

View File

@@ -0,0 +1,28 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "BixVReaderInstaller", "BixVReaderInstaller.wixproj", "{9C30A09E-1A74-4091-93B7-6296F94CE77C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Debug|x64.ActiveCfg = Debug|x64
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Debug|x64.Build.0 = Debug|x64
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Debug|x86.ActiveCfg = Debug|x86
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Debug|x86.Build.0 = Debug|x86
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Release|x64.ActiveCfg = Release|x64
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Release|x64.Build.0 = Release|x64
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Release|x86.ActiveCfg = Release|x86
{9C30A09E-1A74-4091-93B7-6296F94CE77C}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.10</ProductVersion>
<ProjectGuid>9c30a09e-1a74-4091-93b7-6296f94ce77c</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>BixVReaderInstaller</OutputName>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<DefineConstants>Debug</DefineConstants>
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup>
<ItemGroup>
<Compile Include="Product.wxs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BixVReader\BixVReader.vcxproj">
<Name>BixVReader</Name>
<Project>{1d286e48-de79-41ff-844b-56ed3764d4da}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
<ProjectReference Include="..\DevMsi\src\DevMsi\DevMsi.vcxproj">
<Name>DevMsi</Name>
<Project>{42c4f882-2757-4c0d-90d9-bc096810163e}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="BixVReader.ini.template" />
</ItemGroup>
<Import Project="$(WixTargetsPath)" />
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<?define BinaryFolder="../binaries"?>
<?if $(sys.BUILDARCH)="x86"?>
<?define ProgramFilesARCHFolder="ProgramFilesFolder"?>
<?define DriverFolderARCH="Win8.1Debug_win32"?>
<?elseif $(sys.BUILDARCH)="x64"?>
<?define ProgramFilesARCHFolder="ProgramFiles64Folder"?>
<?define DriverFolderARCH="Win8.1Debug_x64"?>
<?else?>
<?error Unsupported value of sys.BUILDARCH=$(sys.BUILDARCH)?>
<?endif?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="BixVReaderInstaller-$(sys.BUILDARCH)" Language="1033" Version="1.0.0.0" Manufacturer="FrankMorgner" UpgradeCode="6d60b0e4-c325-4d3b-b727-2f3e0b0a8afa">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.ProgramFilesARCHFolder)">
<Directory Id="INSTALLDIR" Name="BixVReader">
<Component Id="BixVReaderDriver" Guid="60FF3BFF-E235-4F84-8A25-E22CB3164FB1">
<File Id="BixVReader.dll" Source="$(var.BixVReader.TargetDir)BixVReader\BixVReader.dll" />
<File Id="BixVReader.inf" Source="$(var.BixVReader.TargetDir)BixVReader\BixVReader.inf" />
<File Id="WudfUpdate_01009.dll" Source="$(var.BixVReader.TargetDir)BixVReader\WudfUpdate_01011.dll" />
<File Id="wudf.cat" Source="$(var.BixVReader.TargetDir)BixVReader\bixvreader.cat" />
</Component>
</Directory>
</Directory>
<Directory Id="WindowsFolder">
<Component Id="BixVReaderConfiguration">
<File Id="BixVReader.ini" Source="BixVReader.ini.template" Name="BixVReader.ini" />
</Component>
</Directory>
</Directory>
<Binary Id="DevMsi" SourceFile="$(var.DevMsi.TargetPath)" />
<CustomAction Id="AddDevice" BinaryKey="DevMsi" DllEntry="CreateDevnode" Execute="deferred" Impersonate="no" />
<CustomAction Id="AddDevice.SetParam" Return="check" Property="AddDevice" Value='"[INSTALLDIR]BixVReader.inf" root\BixVirtualReader' />
<CustomAction Id="DelDevice" Return="ignore" BinaryKey="DevMsi" DllEntry="RemoveDevnode" Execute="deferred" Impersonate="no" />
<CustomAction Id="DelDevice.SetParam" Return="check" Property="DelDevice" Value="root\BixVirtualReader" />
<Feature Id="ProductFeature" Title="BixVReader" Level="1">
<ComponentRef Id="BixVReaderDriver" />
<ComponentRef Id="BixVReaderConfiguration" />
</Feature>
<InstallExecuteSequence>
<!-- Custom Actions that will be executed if "Installed" -->
<Custom Action ="DelDevice.SetParam" After="InstallFiles">Installed</Custom>
<Custom Action='DelDevice' After="DelDevice.SetParam">Installed</Custom>
<!-- Custom Actions that will be executed if "NOT Installed" -->
<Custom Action ="AddDevice.SetParam" After="DelDevice">NOT REMOVE</Custom>
<Custom Action='AddDevice' After="AddDevice.SetParam">NOT REMOVE</Custom>
</InstallExecuteSequence>
</Product>
</Wix>