This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: bdist_msi duplicates directories with names in ALL CAPS to a bogus location
Type: behavior Stage: resolved
Components: Distutils, Library (Lib), Windows Versions: Python 3.7, Python 3.6, Python 3.2, Python 3.3, Python 3.4, Python 3.5, Python 2.7
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: Ivan.Pozdeev, dstufft, eric.araujo, paul.moore, steve.dower, tim.golden, zach.ware
Priority: normal Keywords: patch

Created on 2016-04-16 22:06 by Ivan.Pozdeev, last changed 2022-04-11 14:58 by admin. This issue is now closed.

File name Uploaded Description Edit
mercurial-3.3.2.log.gz Ivan.Pozdeev, 2016-04-16 22:06 MSI debug log of a faulty installation
bdist_msi.patch Ivan.Pozdeev, 2016-11-11 06:41 Patch for all branches review
Messages (2)
msg263591 - (view) Author: Ivan Pozdeev (Ivan.Pozdeev) * Date: 2016-04-16 22:06
If a package has directories with names in APP CAPS, distutils.commands.bdist_msi creates properties for them that are also in all caps.

Such properties are handled specially by MSI and are called "public properties (

Due to the way bdist_msi-produced .msi's work, this ultimately results in subtrees of these directories being duplicated to a bogus location (the root directory of the drive on which the .msi being installed is).

E.g. in the attached example, all <python>\Lib\mercurial\locale\<code>\LC_MESSAGES subtrees got duplicated to D:\Lib\<etc>.

See for details (including a high-level description of how bdist_msi packages work).
msg386358 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2021-02-03 18:21
Distutils is now deprecated (see PEP 632) and all tagged issues are being closed. From now until removal, only release blocking issues will be considered for distutils.

If this issue does not relate to distutils, please remove the component and reopen it. If you believe it still requires a fix, most likely the issue should be re-reported at
Date User Action Args
2022-04-11 14:58:29adminsetgithub: 70973
2021-02-03 18:21:27steve.dowersetstatus: open -> closed
resolution: out of date
messages: + msg386358

stage: resolved
2016-11-17 08:07:06Ivan.Pozdeevsetversions: + Python 3.7
2016-11-11 06:42:34Ivan.Pozdeevsetfiles: - bdist_msi.patch
2016-11-11 06:41:47Ivan.Pozdeevsetfiles: + bdist_msi.patch
2016-04-17 13:13:36Ivan.Pozdeevsetfiles: + bdist_msi.patch
keywords: + patch
2016-04-16 22:06:30Ivan.Pozdeevcreate