Opened 15 years ago

Closed 8 years ago

#11236 closed Bug (wontfix)

Can't build a windows msi installer

Reported by: mr_pink Owned by: nobody
Component: Packaging Version: dev
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

Description

Using "python setup.py 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 msilib.py

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 setup.py 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 (9)

comment:1 by Alex Gaynor, 15 years ago

Triage Stage: UnreviewedAccepted

comment:2 by Julien Phalip, 13 years ago

Severity: Normal
Type: Bug

comment:3 by Aymeric Augustin, 12 years ago

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:

0.1.0

the first, experimental release of a package

1.0.1a2

the second alpha release of the first patch version of 1.0

comment:4 by Aymeric Augustin, 12 years ago

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 by Aymeric Augustin, 12 years ago

Resolution: fixed
Status: newclosed

In [17351]:

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

comment:6 by Aymeric Augustin, 12 years ago

Resolution: fixed
Status: closedreopened

Hum, python.exe setup.py 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 "setup.py", line 98, in <module>
    'Topic :: Software Development :: Libraries :: Python Modules',
  File "C:\Python27\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "C:\Python27\lib\distutils\command\bdist_msi.py", line 255, in run
    self.add_files()
  File "C:\Python27\lib\distutils\command\bdist_msi.py", line 318, in add_files
    db.Commit()
_msi.MSIError: 1: 2263 2: _Tables 3: -2147287032

comment:7 by Aymeric Augustin, 11 years ago

Status: reopenednew

comment:8 by Aymeric Augustin, 10 years ago

Component: UncategorizedPackaging

comment:9 by Tim Graham, 8 years ago

Resolution: wontfix
Status: newclosed

I'm going to close this ticket given a lack of motivation of why we need an MSI installer and the fact that we likely don't have anyone interested in debugging that error. If someone is motivated and can fix it, feel free to reopen.

Note: See TracTickets for help on using tickets.
Back to Top