Skip to main content

distutils extension module - create an installer by InnoSetup.

Project description

distutils extension module - create an installer by InnoSetup.

Requirements

Features

  • You can use your customized InnoSetup Script.

  • installer metadata over setup() metadata

  • generate AppId(GUID) from setup() metadata See the innosetup.InnoScript.appid() method.

  • bundle exe and com dll and dependent libs and resources

  • bundle msvcr and mfc and their manifest

  • bundle all installed InnoSetup’s language file (If there is no valid [Languages] section.)

  • create windows exe’s shortcut

  • register com_server and service

  • check the Windows version with Python version

  • fix a problem py2exe.mf misses some modules (ex. win32com.shell)

An example

from distutils.core import setup
import py2exe, innosetup

setup_iss = '''
[Setup]
Compression=lzma/ultra
SolidCompression=yes
'''

# All options are same as py2exe options.
setup(
    name='example',
    version='1.0.0.0',
    license='PSF or other',
    author='you',
    author_email='you@your.domain',
    description='description',
    url='http://www.your.domain/example', # generate AppId from this url
    options={
        'py2exe': {
            # `innosetup` gets the `py2exe`'s options.
            'compressed': True,
            'optimize': 2,
            'bundle_files': 3,
            },
        'innosetup': {
            # user defined iss file path or iss string
            'inno_script': setup_iss, # default is ''
            # bundle msvc files
            'bundle_vcr': True, # default is True
            # zip setup file
            'zip': False, # default is False, bool() or zip file name
            }
        },
    com_server=[
        {'modules': ['your_com_server_module'], 'create_exe': False},
        ],
    # and other metadata ...
    )

Do the command setup.py innosetup. Then you get InnoSetup script file named distdistutils.iss and the installation file named distexample-1.0.0.0.exe.

History

0.5.0.0

  • add DEFAULT_ISS, manifest, srcname, srcnames

  • add zip option

  • fix bundle_files=1 option problem (always bundle pythonXX.dll)

  • add DefaultGroupName, InfoBeforeFile, LicenseFile into [Setup] section

0.4.0.0

  • support service cmdline_style options

  • rewrite codes around iss file

0.3.0.0

  • improve the InnoSetup instllation path detection

  • add inno_setup_exe option

0.2.0.0

  • handle py2exe’s command options

  • add bundle_vcr option

0.1.0.0

  • first release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

innosetup-0.5.0.0.zip (8.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page