diff --git a/tools/update_version.php b/tools/update_version.php
index 9c3c9c3c..a793f8b3 100644
--- a/tools/update_version.php
+++ b/tools/update_version.php
@@ -307,10 +307,6 @@ version_replace(6, $data_dirname . 'win32/vs2015/libzint.vcxproj', '/ZINT_VERSIO
version_replace(6, $data_dirname . 'win32/vs2015/zint.vcxproj', '/ZINT_VERSION="/', '/ZINT_VERSION="[0-9.]+"/', 'ZINT_VERSION="' . $v_str . '"');
-// win32/vs2015/vsx/libzintMD.vcxproj
-
-version_replace(1, $data_dirname . 'win32/vs2015/vsx/libzintMD.vcxproj', '/ZINT_VERSION="/', '/ZINT_VERSION="[0-9.]+"/', 'ZINT_VERSION="' . $v_str . '"');
-
// win32/vs2017/libzint.vcxproj
version_replace(2, $data_dirname . 'win32/vs2017/libzint.vcxproj', '/ZINT_VERSION="/', '/ZINT_VERSION="[0-9.]+"/', 'ZINT_VERSION="' . $v_str . '"');
diff --git a/win32/libzint.vcxproj b/win32/libzint.vcxproj
new file mode 100644
index 00000000..f5aded69
--- /dev/null
+++ b/win32/libzint.vcxproj
@@ -0,0 +1,222 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {5C08DC40-8F7D-475E-AA3C-814DED735A4B}
+ libzint_png_qr
+ Win32Proj
+ 10.0
+
+
+
+ DynamicLibrary
+ v142
+ MultiByte
+ false
+
+
+ DynamicLibrary
+ MultiByte
+ v142
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>12.0.30501.0
+
+
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ true
+ zint
+
+
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+ false
+ zint
+
+
+
+ Disabled
+ ..\..\zlib;..\..\lpng;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;ZINT_VERSION="2.13.0";BUILD_ZINT_DLL;DEBUG;%(PreprocessorDefinitions)
+ true
+
+ EnableFastChecks
+ true
+ MultiThreadedDebugDLL
+ false
+
+ Level3
+ ProgramDatabase
+ 4018;4244;4305;%(DisableSpecificWarnings)
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+
+
+ false
+
+
+ libpng.lib;zlib.lib;%(AdditionalDependencies)
+ $(OutDir)zint.dll
+ ..\..\lpng;..\..\zlib;%(AdditionalLibraryDirectories)
+ libcmtd.lib;msvcrt.lib;%(IgnoreSpecificDefaultLibraries)
+ true
+ Windows
+ MachineX86
+ false
+
+
+
+
+ MaxSpeed
+ false
+ ..\..\zlib;..\..\lpng;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;ZINT_VERSION="2.13.0";BUILD_ZINT_DLL;%(PreprocessorDefinitions)
+ true
+
+ MultiThreadedDLL
+ false
+ false
+
+ Level3
+
+ 4018;4244;4305;%(DisableSpecificWarnings)
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+
+
+ false
+
+
+ libpng.lib;zlib.lib;%(AdditionalDependencies)
+ $(OutDir)zint.dll
+ ..\..\lpng;..\..\zlib;%(AdditionalLibraryDirectories)
+ false
+ Windows
+ true
+ true
+ MachineX86
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/win32/zint.sln b/win32/zint.sln
new file mode 100644
index 00000000..2eb8c3e0
--- /dev/null
+++ b/win32/zint.sln
@@ -0,0 +1,36 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.33627.172
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zint", "zint.vcxproj", "{3169C7FA-E52C-4BFC-B7BB-E55EBA133770}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzint", "libzint.vcxproj", "{5C08DC40-8F7D-475E-AA3C-814DED735A4B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{C246B2E9-C3A0-4505-BECA-1FDFC59C7BE5}"
+ ProjectSection(SolutionItems) = preProject
+ ..\.editorconfig = ..\.editorconfig
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {3169C7FA-E52C-4BFC-B7BB-E55EBA133770}.Debug|x86.ActiveCfg = Debug|Win32
+ {3169C7FA-E52C-4BFC-B7BB-E55EBA133770}.Debug|x86.Build.0 = Debug|Win32
+ {3169C7FA-E52C-4BFC-B7BB-E55EBA133770}.Release|x86.ActiveCfg = Release|Win32
+ {3169C7FA-E52C-4BFC-B7BB-E55EBA133770}.Release|x86.Build.0 = Release|Win32
+ {5C08DC40-8F7D-475E-AA3C-814DED735A4B}.Debug|x86.ActiveCfg = Debug|Win32
+ {5C08DC40-8F7D-475E-AA3C-814DED735A4B}.Debug|x86.Build.0 = Debug|Win32
+ {5C08DC40-8F7D-475E-AA3C-814DED735A4B}.Release|x86.ActiveCfg = Release|Win32
+ {5C08DC40-8F7D-475E-AA3C-814DED735A4B}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {5E69DD0C-82B3-4BAF-936A-E44D5C5A75D7}
+ EndGlobalSection
+EndGlobal
diff --git a/win32/zint.vcxproj b/win32/zint.vcxproj
new file mode 100644
index 00000000..42ee5ee4
--- /dev/null
+++ b/win32/zint.vcxproj
@@ -0,0 +1,107 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {3169C7FA-E52C-4BFC-B7BB-E55EBA133770}
+ zint
+ Win32Proj
+ 10.0
+
+
+
+ Application
+ v142
+ MultiByte
+ false
+
+
+ Application
+ v143
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>12.0.30501.0
+
+
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+
+
+ $(SolutionDir)$(Configuration)\
+ $(Configuration)\
+
+
+
+ Disabled
+ ..\backend;%(AdditionalIncludeDirectories)
+ WIN32;_WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;ZINT_VERSION="2.13.0";ZINT_DLL;%(PreprocessorDefinitions)
+ true
+
+ EnableFastChecks
+ true
+ MultiThreadedDebugDLL
+ true
+
+ Level3
+ EditAndContinue
+
+
+ true
+
+
+
+
+ MaxSpeed
+ ..\backend;%(AdditionalIncludeDirectories)
+ WIN32;_WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;ZINT_VERSION="2.13.0";ZINT_DLL;%(PreprocessorDefinitions)
+ true
+
+ MultiThreaded
+ false
+ false
+
+ Level3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {5c08dc40-8f7d-475e-aa3c-814ded735a4b}
+ false
+
+
+
+
+
+
\ No newline at end of file