diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm
new file mode 100644
index 40e06f6..ea9b857
*** a/src/tools/msvc/Install.pm
--- b/src/tools/msvc/Install.pm
*************** sub CopyIncludeFiles
*** 582,588 ****
  		'Public headers', $target . '/include/',
  		'src/include/',   'postgres_ext.h',
  		'pg_config.h',    'pg_config_ext.h',
! 		'pg_config_os.h', 'pg_config_manual.h');
  	lcopy('src/include/libpq/libpq-fs.h', $target . '/include/libpq/')
  	  || croak 'Could not copy libpq-fs.h';
  
--- 582,588 ----
  		'Public headers', $target . '/include/',
  		'src/include/',   'postgres_ext.h',
  		'pg_config.h',    'pg_config_ext.h',
! 		'pg_config_os.h', 'dynloader.h', 'pg_config_manual.h');
  	lcopy('src/include/libpq/libpq-fs.h', $target . '/include/libpq/')
  	  || croak 'Could not copy libpq-fs.h';
  
*************** sub CopyIncludeFiles
*** 605,611 ****
  	CopyFiles(
  		'Server headers',
  		$target . '/include/server/',
! 		'src/include/', 'pg_config.h', 'pg_config_ext.h', 'pg_config_os.h');
  	CopyFiles(
  		'Grammar header',
  		$target . '/include/server/parser/',
--- 605,612 ----
  	CopyFiles(
  		'Server headers',
  		$target . '/include/server/',
! 		'src/include/', 'pg_config.h', 'pg_config_ext.h', 'pg_config_os.h',
! 		'dynloader.h');
  	CopyFiles(
  		'Grammar header',
  		$target . '/include/server/parser/',
diff --git a/src/tools/msvc/clean.bat b/src/tools/msvc/clean.bat
new file mode 100755
index e3da6aa..feb0fe5
*** a/src/tools/msvc/clean.bat
--- b/src/tools/msvc/clean.bat
*************** REM Delete files created with GenerateFi
*** 38,43 ****
--- 38,44 ----
  if exist src\include\pg_config.h del /q src\include\pg_config.h
  if exist src\include\pg_config_ext.h del /q src\include\pg_config_ext.h
  if exist src\include\pg_config_os.h del /q src\include\pg_config_os.h
+ if exist src\include\dynloader.h del /q src\include\dynloader.h
  if %DIST%==1 if exist src\backend\parser\gram.h del /q src\backend\parser\gram.h
  if exist src\include\utils\errcodes.h del /q src\include\utils\errcodes.h
  if exist src\include\utils\fmgroids.h del /q src\include\utils\fmgroids.h
