diff --git a/Misc/NEWS b/Misc/NEWS
index d3ef4d34ec6..e503547e643 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -162,6 +162,11 @@ Build
- Issue #25825: Update references to the $(LIBPL) installation path on AIX.
This path was changed in 3.2a4.
+Windows
+-------
+
+- Issue #27756: Adds new icons for Python files and processes on Windows.
+ Designs by Cherry Wang.
What's New in Python 3.6.0 alpha 4
==================================
diff --git a/PC/icons/launcher.icns b/PC/icons/launcher.icns
new file mode 100644
index 00000000000..59a917f20d3
Binary files /dev/null and b/PC/icons/launcher.icns differ
diff --git a/PC/icons/launcher.ico b/PC/icons/launcher.ico
new file mode 100644
index 00000000000..c4e3c693dcb
Binary files /dev/null and b/PC/icons/launcher.ico differ
diff --git a/PC/icons/launcher.svg b/PC/icons/launcher.svg
new file mode 100644
index 00000000000..0590b0d2d0d
--- /dev/null
+++ b/PC/icons/launcher.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/PC/icons/py.icns b/PC/icons/py.icns
new file mode 100644
index 00000000000..2dc4e296f81
Binary files /dev/null and b/PC/icons/py.icns differ
diff --git a/PC/icons/py.ico b/PC/icons/py.ico
new file mode 100644
index 00000000000..1d8a79bfb31
Binary files /dev/null and b/PC/icons/py.ico differ
diff --git a/PC/icons/py.svg b/PC/icons/py.svg
new file mode 100644
index 00000000000..0924e83fbc7
--- /dev/null
+++ b/PC/icons/py.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/PC/icons/pyc.icns b/PC/icons/pyc.icns
new file mode 100644
index 00000000000..50da9a16150
Binary files /dev/null and b/PC/icons/pyc.icns differ
diff --git a/PC/icons/pyc.ico b/PC/icons/pyc.ico
new file mode 100644
index 00000000000..74dde81b649
Binary files /dev/null and b/PC/icons/pyc.ico differ
diff --git a/PC/icons/pyc.svg b/PC/icons/pyc.svg
new file mode 100644
index 00000000000..5c3e9e7920b
--- /dev/null
+++ b/PC/icons/pyc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/PC/icons/pyd.icns b/PC/icons/pyd.icns
new file mode 100644
index 00000000000..5d3d24ee256
Binary files /dev/null and b/PC/icons/pyd.icns differ
diff --git a/PC/icons/pyd.ico b/PC/icons/pyd.ico
new file mode 100644
index 00000000000..9f6cb601afb
Binary files /dev/null and b/PC/icons/pyd.ico differ
diff --git a/PC/icons/pyd.svg b/PC/icons/pyd.svg
new file mode 100644
index 00000000000..17eff6a3077
--- /dev/null
+++ b/PC/icons/pyd.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/PC/icons/python.icns b/PC/icons/python.icns
new file mode 100644
index 00000000000..fc53e02f4a9
Binary files /dev/null and b/PC/icons/python.icns differ
diff --git a/PC/icons/python.ico b/PC/icons/python.ico
new file mode 100644
index 00000000000..b8a38ef1599
Binary files /dev/null and b/PC/icons/python.ico differ
diff --git a/PC/icons/python.svg b/PC/icons/python.svg
new file mode 100644
index 00000000000..e23e5a3f636
--- /dev/null
+++ b/PC/icons/python.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/PC/icons/pythonw.icns b/PC/icons/pythonw.icns
new file mode 100644
index 00000000000..9354cf870a9
Binary files /dev/null and b/PC/icons/pythonw.icns differ
diff --git a/PC/icons/pythonw.ico b/PC/icons/pythonw.ico
new file mode 100644
index 00000000000..6195d433475
Binary files /dev/null and b/PC/icons/pythonw.ico differ
diff --git a/PC/icons/pythonw.svg b/PC/icons/pythonw.svg
new file mode 100644
index 00000000000..7cb26074744
--- /dev/null
+++ b/PC/icons/pythonw.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/PC/icons/setup.icns b/PC/icons/setup.icns
new file mode 100644
index 00000000000..6f0e6b01a0d
Binary files /dev/null and b/PC/icons/setup.icns differ
diff --git a/PC/icons/setup.ico b/PC/icons/setup.ico
new file mode 100644
index 00000000000..e54364b3af1
Binary files /dev/null and b/PC/icons/setup.ico differ
diff --git a/PC/icons/setup.svg b/PC/icons/setup.svg
new file mode 100644
index 00000000000..06138568f2c
--- /dev/null
+++ b/PC/icons/setup.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/PC/launcher.ico b/PC/launcher.ico
deleted file mode 100644
index dad7d572ce7..00000000000
Binary files a/PC/launcher.ico and /dev/null differ
diff --git a/PC/py.ico b/PC/py.ico
deleted file mode 100644
index 3357aef1488..00000000000
Binary files a/PC/py.ico and /dev/null differ
diff --git a/PC/pyc.ico b/PC/pyc.ico
deleted file mode 100644
index f7bd2b1cc23..00000000000
Binary files a/PC/pyc.ico and /dev/null differ
diff --git a/PC/pycon.ico b/PC/pycon.ico
deleted file mode 100644
index 1ab629eff26..00000000000
Binary files a/PC/pycon.ico and /dev/null differ
diff --git a/PC/pylauncher.rc b/PC/pylauncher.rc
index a8db0a842f8..3da3445f5fc 100644
--- a/PC/pylauncher.rc
+++ b/PC/pylauncher.rc
@@ -7,9 +7,13 @@
#include
1 RT_MANIFEST "python.manifest"
-1 ICON DISCARDABLE "launcher.ico"
-2 ICON DISCARDABLE "py.ico"
-3 ICON DISCARDABLE "pyc.ico"
+1 ICON DISCARDABLE "icons\launcher.ico"
+2 ICON DISCARDABLE "icons\py.ico"
+3 ICON DISCARDABLE "icons\pyc.ico"
+4 ICON DISCARDABLE "icons\pyd.ico"
+5 ICON DISCARDABLE "icons\python.ico"
+6 ICON DISCARDABLE "icons\pythonw.ico"
+7 ICON DISCARDABLE "icons\setup.ico"
/////////////////////////////////////////////////////////////////////////////
//
diff --git a/PC/python_exe.rc b/PC/python_exe.rc
index 91785a1e064..ae0b029b807 100644
--- a/PC/python_exe.rc
+++ b/PC/python_exe.rc
@@ -7,7 +7,7 @@
#include
1 RT_MANIFEST "python.manifest"
-1 ICON DISCARDABLE "pycon.ico"
+1 ICON DISCARDABLE "icons\python.ico"
/////////////////////////////////////////////////////////////////////////////
diff --git a/PC/pythonw_exe.rc b/PC/pythonw_exe.rc
new file mode 100644
index 00000000000..88bf3592e18
--- /dev/null
+++ b/PC/pythonw_exe.rc
@@ -0,0 +1,49 @@
+// Resource script for Python console EXEs.
+
+#include "python_ver_rc.h"
+
+// Include the manifest file that indicates we support all
+// current versions of Windows.
+#include
+1 RT_MANIFEST "python.manifest"
+
+1 ICON DISCARDABLE "icons\pythonw.ico"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION PYVERSION64
+ PRODUCTVERSION PYVERSION64
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_APP
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "000004b0"
+ BEGIN
+ VALUE "CompanyName", PYTHON_COMPANY "\0"
+ VALUE "FileDescription", "Python\0"
+ VALUE "FileVersion", PYTHON_VERSION
+ VALUE "InternalName", "Python Application\0"
+ VALUE "LegalCopyright", PYTHON_COPYRIGHT "\0"
+ VALUE "OriginalFilename", "pythonw" PYTHON_DEBUG_EXT ".exe\0"
+ VALUE "ProductName", "Python\0"
+ VALUE "ProductVersion", PYTHON_VERSION
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0, 1200
+ END
+END
diff --git a/PCbuild/pythonw.vcxproj b/PCbuild/pythonw.vcxproj
index caed1e8dcfa..e40f66c856b 100644
--- a/PCbuild/pythonw.vcxproj
+++ b/PCbuild/pythonw.vcxproj
@@ -62,7 +62,7 @@
-
+
diff --git a/Tools/msi/bundle/bundle.ico b/Tools/msi/bundle/bundle.ico
deleted file mode 100644
index 1ab629eff26..00000000000
Binary files a/Tools/msi/bundle/bundle.ico and /dev/null differ
diff --git a/Tools/msi/bundle/bundle.wxs b/Tools/msi/bundle/bundle.wxs
index 38307e063cb..c89e6ee4c7d 100644
--- a/Tools/msi/bundle/bundle.wxs
+++ b/Tools/msi/bundle/bundle.wxs
@@ -4,7 +4,7 @@
-
+
diff --git a/Tools/msi/exe/exe_files.wxs b/Tools/msi/exe/exe_files.wxs
index c157f40d329..01385874fa9 100644
--- a/Tools/msi/exe/exe_files.wxs
+++ b/Tools/msi/exe/exe_files.wxs
@@ -69,10 +69,13 @@
-
+
-
+
+
+
+
diff --git a/Tools/msi/launcher/launcher_en-US.wxl b/Tools/msi/launcher/launcher_en-US.wxl
index e4c1aaa9fa2..a7e3827c528 100644
--- a/Tools/msi/launcher/launcher_en-US.wxl
+++ b/Tools/msi/launcher/launcher_en-US.wxl
@@ -11,6 +11,7 @@
Python File
Python File (no console)
Compiled Python File
+ Python Extension Module
Python Zip Application File
Python Zip Application File (no console)
diff --git a/Tools/msi/launcher/launcher_reg.wxs b/Tools/msi/launcher/launcher_reg.wxs
index 981961ab0d8..dace97ee58b 100644
--- a/Tools/msi/launcher/launcher_reg.wxs
+++ b/Tools/msi/launcher/launcher_reg.wxs
@@ -27,14 +27,18 @@
-
+
+
+
+
+
-
+