diff --git a/build/VStudio/winfsp_sys.vcxproj b/build/VStudio/winfsp_sys.vcxproj
index a95777fc..2e9e9a38 100644
--- a/build/VStudio/winfsp_sys.vcxproj
+++ b/build/VStudio/winfsp_sys.vcxproj
@@ -196,6 +196,71 @@
_WIN64;_AMD64_=1;AMD64;%(PreprocessorDefinitions)
+
+
+ Document
+ set DriverFile=$(TargetFileName)
+set Provider="$(MyCompanyName)"
+set CatalogFile=driver-$(PlatformTarget).cat
+
+setlocal EnableDelayedExpansion
+if exist $(OutDir)driver-$(PlatformTarget).inf del $(OutDir)driver-$(PlatformTarget).inf
+for /f "delims=" %%l in (%(FullPath)) do (
+ set line=%%l
+ echo !line! >>$(OutDir)driver-$(PlatformTarget).inf
+)
+
+stampinf -v $(MyVersion) -f $(OutDir)driver-$(PlatformTarget).inf
+ false
+ set DriverFile=$(TargetFileName)
+set Provider="$(MyCompanyName)"
+set CatalogFile=driver-$(PlatformTarget).cat
+
+setlocal EnableDelayedExpansion
+if exist $(OutDir)driver-$(PlatformTarget).inf del $(OutDir)driver-$(PlatformTarget).inf
+for /f "delims=" %%l in (%(FullPath)) do (
+ set line=%%l
+ echo !line! >>$(OutDir)driver-$(PlatformTarget).inf
+)
+
+stampinf -v $(MyVersion) -f $(OutDir)driver-$(PlatformTarget).inf
+ false
+ set DriverFile=$(TargetFileName)
+set Provider="$(MyCompanyName)"
+set CatalogFile=driver-$(PlatformTarget).cat
+
+setlocal EnableDelayedExpansion
+if exist $(OutDir)driver-$(PlatformTarget).inf del $(OutDir)driver-$(PlatformTarget).inf
+for /f "delims=" %%l in (%(FullPath)) do (
+ set line=%%l
+ echo !line! >>$(OutDir)driver-$(PlatformTarget).inf
+)
+
+stampinf -v $(MyVersion) -f $(OutDir)driver-$(PlatformTarget).inf
+ false
+ set DriverFile=$(TargetFileName)
+set Provider="$(MyCompanyName)"
+set CatalogFile=driver-$(PlatformTarget).cat
+
+setlocal EnableDelayedExpansion
+if exist $(OutDir)driver-$(PlatformTarget).inf del $(OutDir)driver-$(PlatformTarget).inf
+for /f "delims=" %%l in (%(FullPath)) do (
+ set line=%%l
+ echo !line! >>$(OutDir)driver-$(PlatformTarget).inf
+)
+
+stampinf -v $(MyVersion) -f $(OutDir)driver-$(PlatformTarget).inf
+ false
+ Writing driver-$(PlatformTarget).inf
+ $(OutDir)driver-$(PlatformTarget).inf
+ Writing driver-$(PlatformTarget).inf
+ $(OutDir)driver-$(PlatformTarget).inf
+ Writing driver-$(PlatformTarget).inf
+ $(OutDir)driver-$(PlatformTarget).inf
+ Writing driver-$(PlatformTarget).inf
+ $(OutDir)driver-$(PlatformTarget).inf
+
+
diff --git a/build/VStudio/winfsp_sys.vcxproj.filters b/build/VStudio/winfsp_sys.vcxproj.filters
index cbe042c7..6f0377e2 100644
--- a/build/VStudio/winfsp_sys.vcxproj.filters
+++ b/build/VStudio/winfsp_sys.vcxproj.filters
@@ -112,4 +112,9 @@
Source
+
+
+ Source
+
+
\ No newline at end of file
diff --git a/src/sys/driver.inf.in b/src/sys/driver.inf.in
new file mode 100644
index 00000000..2304337e
--- /dev/null
+++ b/src/sys/driver.inf.in
@@ -0,0 +1,21 @@
+[Version]
+Signature = "$WINDOWS NT$"
+Class = Volume
+ClassGuid = {71a27cdd-812a-11d0-bec7-08002be2092f}
+CatalogFile = !CatalogFile!
+Provider = !Provider!
+
+[DestinationDirs]
+DefaultDestDir = 12
+
+[DefaultInstall]
+CopyFiles = Driver.CopyFiles
+
+[Driver.CopyFiles]
+!DriverFile!
+
+[SourceDisksFiles]
+!DriverFile! = 1
+
+[SourceDisksNames]
+1 = Disk1
diff --git a/tools/build.bat b/tools/build.bat
index c7e5bef4..22d6a496 100755
--- a/tools/build.bat
+++ b/tools/build.bat
@@ -28,6 +28,27 @@ for %%f in (build\%Configuration%\winfsp-x64.sys build\%Configuration%\winfsp-x8
if errorlevel 1 set /a signfail=signfail+1
)
+pushd build\%Configuration%
+for %%a in (x64 x86) do (
+ echo .OPTION EXPLICIT >driver-%%a.ddf
+ echo .Set CabinetFileCountThreshold=0 >>driver-%%a.ddf
+ echo .Set FolderFileCountThreshold=0 >>driver-%%a.ddf
+ echo .Set FolderSizeThreshold=0 >>driver-%%a.ddf
+ echo .Set MaxCabinetSize=0 >>driver-%%a.ddf
+ echo .Set MaxDiskFileCount=0 >>driver-%%a.ddf
+ echo .Set MaxDiskSize=0 >>driver-%%a.ddf
+ echo .Set CompressionType=MSZIP >>driver-%%a.ddf
+ echo .Set Cabinet=on >>driver-%%a.ddf
+ echo .Set Compress=on >>driver-%%a.ddf
+ echo .Set CabinetNameTemplate=driver-%%a.cab >>driver-%%a.ddf
+ echo .Set DiskDirectory1=. >>driver-%%a.ddf
+ echo .Set DestinationDir=winfsp >>driver-%%a.ddf
+ echo driver-%%a.inf >>driver-%%a.ddf
+ echo winfsp-%%a.sys >>driver-%%a.ddf
+ makecab /F driver-%%a.ddf
+)
+popd
+
devenv winfsp.sln /build "Installer.%Configuration%|x86"
if errorlevel 1 goto fail