diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm
index 55de9e5..2289426 100644
--- a/src/tools/msvc/Install.pm
+++ b/src/tools/msvc/Install.pm
@@ -91,7 +91,6 @@ sub Install
 	}
 
 	CopySolutionOutput($conf, $target);
-	lcopy($target . '/lib/libpq.dll', $target . '/bin/libpq.dll');
 	my $sample_files = [];
 	my @top_dir      = ("src");
 	@top_dir = ("src\\bin", "src\\interfaces") if ($insttype eq "client");
@@ -290,6 +289,9 @@ sub CopySolutionOutput
 		{
 			croak "Could not parse $pf.$vcproj\n";
 		}
+		# Few libraries required to be placed in bin directory instead of lib because of
+		# Windows Dll search path order
+		$dir = "bin" if ($pf eq 'libpq' || $pf eq 'libecpg' || $pf eq 'libecpg_compat' || $pf eq 'libpgtypes');
 		lcopy("$conf\\$pf\\$pf.$ext", "$target\\$dir\\$pf.$ext")
 		  || croak "Could not copy $pf.$ext\n";
 		lcopy("$conf\\$pf\\$pf.pdb", "$target\\symbols\\$pf.pdb")
