diff --git a/contrib/win32/mercurial.iss b/contrib/win32/mercurial.iss
index a2d178b3a1b4227e5e7d48d2b3fa5ab1171ca59b_Y29udHJpYi93aW4zMi9tZXJjdXJpYWwuaXNz..f8aead51aec0e0584722f2814040599dc4f6c286_Y29udHJpYi93aW4zMi9tZXJjdXJpYWwuaXNz 100644
--- a/contrib/win32/mercurial.iss
+++ b/contrib/win32/mercurial.iss
@@ -70,6 +70,6 @@
 Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt
 Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local')
 #if ARCH == "x64"
-Source: dist\*.dll; Destdir: {app}
-Source: dist\*.pyd; Destdir: {app}
+Source: dist\lib\*.dll; Destdir: {app}\lib
+Source: dist\lib\*.pyd; Destdir: {app}\lib
 #else
@@ -75,3 +75,5 @@
 #else
+Source: dist\w9xpopen.exe; DestDir: {app}
+#endif
 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
 Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
@@ -76,5 +78,3 @@
 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
 Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
-Source: dist\w9xpopen.exe; DestDir: {app}
-#endif
 Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
@@ -80,5 +80,5 @@
 Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
-Source: dist\library.zip; DestDir: {app}
+Source: dist\lib\library.zip; DestDir: {app}\lib
 Source: dist\add_path.exe; DestDir: {app}
 Source: doc\*.html; DestDir: {app}\Docs
 Source: doc\style.css; DestDir: {app}\Docs