classification
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
process
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 2021-02-03 18:21 by steve.dower. This issue is now closed.

Files
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 (http://www.advancedinstaller.com/user-guide/properties.html).

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 https://bz.mercurial-scm.org/show_bug.cgi?id=5192 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 https://github.com/pypa/setuptools
History
Date User Action Args
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