Opened 6 years ago

Last modified 2 years ago

#11236 new Bug

Can't build a windows msi installer

Reported by: mr_pink Owned by: nobody
Component: Packaging Version: master
Severity: Normal Keywords: setup msi
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no


Using "python bdist_msi" it should be possible to build a django msi installer. Whilst I doubt this is high on the list of priorities it seems like quite an easy fix.

I discovered two issues, the first is the version numbering - it is rejected unless it matches a certain pattern. So 1.1 beta should be, for example, 1.1b1.

Secondly contrib.gis causes a problem with the code in

as city.$DB_BACKEND.sql all get shortened to city.sql, and there is an assertion that names must be unique. Therefore these files would need renaming.

I suspect that the hack that looks for 'bdist_wininst' to include data files might have to be expanded to look for bdist_msi too.

Tested using python2.5

Change History (8)

comment:1 Changed 6 years ago by Alex

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Triage Stage changed from Unreviewed to Accepted

comment:2 Changed 5 years ago by julien

  • Severity set to Normal
  • Type set to Bug

comment:3 Changed 4 years ago by aaugustin

  • Easy pickings unset
  • UI/UX unset

The issue with contrib.gis was somehow resolved since this ticket was filed. The issue with the version number still exists.

Distutils' docs say:

It is recommended that versions take the form major.minor[.patch[.sub]].

Encoding the version information is an art in itself. Python packages generally adhere to the version format major.minor[.patch][sub]. The major number is 0 for initial, experimental releases of software. It is incremented for releases that represent major milestones in a package. The minor number is incremented when important new features are added to the package. The patch number increments when bug-fix releases are made. Additional trailing version information is sometimes used to indicate sub-releases. These are “a1,a2,...,aN” (for alpha releases, where functionality and API may change), “b1,b2,...,bN” (for beta releases, which only fix bugs) and “pr1,pr2,...,prN” (for final pre-release release testing). Some examples:


the first, experimental release of a package


the second alpha release of the first patch version of 1.0

comment:4 Changed 4 years ago by aaugustin

I just uploaded a patch to #17491 to fix the format of the version number. If that patch is committed, this ticket will probably be fixed.

comment:5 Changed 4 years ago by aaugustin

  • Resolution set to fixed
  • Status changed from new to closed

In [17351]:

Fixed #17491 -- Honored the version number format expected by distutils. Fixed #11236 too.

comment:6 Changed 4 years ago by aaugustin

  • Resolution fixed deleted
  • Status changed from closed to reopened

Hum, python.exe bdist_msi still returns an error:

Writing build\bdist.win32\msi\Lib\site-packages\Django-1.4.0a1-py2.7.egg-info
Traceback (most recent call last):
  File "", line 98, in <module>
    'Topic :: Software Development :: Libraries :: Python Modules',
  File "C:\Python27\lib\distutils\", line 152, in setup
  File "C:\Python27\lib\distutils\", line 953, in run_commands
  File "C:\Python27\lib\distutils\", line 972, in run_command
  File "C:\Python27\lib\distutils\command\", line 255, in run
  File "C:\Python27\lib\distutils\command\", line 318, in add_files
_msi.MSIError: 1: 2263 2: _Tables 3: -2147287032

comment:7 Changed 3 years ago by aaugustin

  • Status changed from reopened to new

comment:8 Changed 2 years ago by aaugustin

  • Component changed from Uncategorized to Packaging
Note: See TracTickets for help on using tickets.
Back to Top