2001-04-30 14:32:18 -04:00
"""
This script will generate a setup script for InnoSetup and then run it
to make the installer executable . If all goes right the proper versions
of Python and wxWindows ( including hybrid / final settings ) will all be
calculated based on what wxc . pyd imports and an appropriate installer
will be created .
"""
2003-03-25 01:35:27 -05:00
import sys , os , time
2001-04-30 14:32:18 -04:00
KEEP_TEMPS = 0
2002-06-12 21:35:19 -04:00
ISCC = r " %s \ InnoSetup2Ex \ ISCC.exe %s "
2001-04-30 14:32:18 -04:00
#----------------------------------------------------------------------
ISS_Template = r '''
; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[ Setup ]
AppName = wxPython
2001-05-23 11:05:41 -04:00
AppVerName = wxPython % ( VERSION ) s for Python % ( PYTHONVER ) s
2002-08-24 17:44:30 -04:00
OutputBaseFilename = wxPythonWIN32 - % ( VERSION ) s - % ( PYVER ) s
2003-03-25 01:35:27 -05:00
AppCopyright = Copyright <EFBFBD> 2003 Total Control Software
2001-11-19 21:30:58 -05:00
DefaultDirName = { code : GetInstallDir | c : \DoNotInstallHere }
2001-04-30 14:32:18 -04:00
DefaultGroupName = wxPython % ( SHORTVER ) s for Python % ( PYTHONVER ) s
AlwaysCreateUninstallIcon = yes
; ; SourceDir = .
; ; OutputDir is relative to SourceDir
OutputDir = dist
WizardStyle = modern
UninstallStyle = modern
DisableStartupPrompt = true
2003-03-25 01:35:27 -05:00
Compression = bzip
2001-04-30 14:32:18 -04:00
DirExistsWarning = no
DisableReadyMemo = true
DisableReadyPage = true
; ; DisableDirPage = true
2003-03-25 01:35:27 -05:00
DisableProgramGroupPage = no
2001-04-30 14:32:18 -04:00
DisableAppendDir = true
2001-05-23 11:05:41 -04:00
UsePreviousAppDir = no
UsePreviousGroup = no
2001-04-30 14:32:18 -04:00
UninstallFilesDir = { app } \wxPython
AppPublisherURL = http : / / wxPython . org /
LicenseFile = licence \licence . txt
CodeFile = % ( IFSFILE ) s
2003-03-25 01:35:27 -05:00
; ; WizardDebug = yes
2001-04-30 14:32:18 -04:00
; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; ; [ Dirs ]
; ; Name : " {app} \"
; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[ Components ]
Name : core ; Description : " wxPython modules and library " ; Types : full compact custom ; Flags : fixed
Name : docs ; Description : " Documentation " ; Types : full
Name : demo ; Description : " Demo application " ; Types : full
Name : samples ; Description : " Sample applications " ; Types : full
Name : tools ; Description : " Tools " ; Types : full
; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[ Files ]
2001-05-06 01:03:24 -04:00
Source : " %(SYSDIR)s \ MSVCRT.dll " ; DestDir : " {sys} " ; CopyMode : alwaysskipifsameorolder ; Flags : sharedfile uninsneveruninstall restartreplace ; Components : core
Source : " %(SYSDIR)s \ MSVCIRT.dll " ; DestDir : " {sys} " ; CopyMode : alwaysskipifsameorolder ; Flags : sharedfile uninsneveruninstall restartreplace ; Components : core
2002-08-28 13:49:58 -04:00
Source : " %(SYSDIR)s \ MSVCP60.dll " ; DestDir : " {sys} " ; CopyMode : alwaysskipifsameorolder ; Flags : sharedfile uninsneveruninstall restartreplace ; Components : core
2001-04-30 14:32:18 -04:00
Source : " %(WXDIR)s \ lib \ %(WXDLL)s " ; DestDir : " {app} \ wxPython " ; Components : core
2002-03-26 20:10:28 -05:00
% ( MSLU ) s
2001-04-30 14:32:18 -04:00
Source : " wxPython \ wxc.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
Source : " wxPython \ gridc.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
2001-09-04 02:35:05 -04:00
Source : " wxPython \ helpc.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
2001-04-30 14:32:18 -04:00
Source : " wxPython \ htmlc.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
Source : " wxPython \ calendarc.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
2002-08-28 13:49:58 -04:00
Source : " wxPython \ wizardc.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
2001-04-30 14:32:18 -04:00
Source : " wxPython \ glcanvasc.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
Source : " wxPython \ oglc.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
Source : " wxPython \ stc_c.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
2001-07-05 13:46:57 -04:00
Source : " wxPython \ xrcc.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
2001-11-25 04:10:01 -05:00
Source : " wxPython \ gizmosc.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
2002-07-03 18:05:30 -04:00
Source : " wxPython \ iewinc.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
2001-12-10 17:44:38 -05:00
Source : " wxPython \ dllwidget_c.pyd " ; DestDir : " {app} \ wxPython " ; Components : core
2001-04-30 14:32:18 -04:00
Source : " wxPython \ *.py " ; DestDir : " {app} \ wxPython " ; Components : core
Source : " wxPython \ lib \ *.py " ; DestDir : " {app} \ wxPython \ lib " ; Components : core
2002-03-21 13:05:10 -05:00
Source : " wxPython \ lib \ *.wdr " ; DestDir : " {app} \ wxPython \ lib " ; Components : core
2001-04-30 14:32:18 -04:00
Source : " wxPython \ lib \ editor \ *.py " ; DestDir : " {app} \ wxPython \ lib \ editor " ; Components : core
Source : " wxPython \ lib \ editor \ *.txt " ; DestDir : " {app} \ wxPython \ lib \ editor " ; Components : core
2001-05-18 18:26:19 -04:00
Source : " wxPython \ lib \ mixins \ *.py " ; DestDir : " {app} \ wxPython \ lib \ mixins " ; Components : core
2001-09-04 02:35:05 -04:00
Source : " wxPython \ lib \ PyCrust \ *.py " ; DestDir : " {app} \ wxPython \ lib \ PyCrust " ; Components : core
Source : " wxPython \ lib \ PyCrust \ *.txt " ; DestDir : " {app} \ wxPython \ lib \ PyCrust " ; Components : core
Source : " wxPython \ lib \ PyCrust \ *.ico " ; DestDir : " {app} \ wxPython \ lib \ PyCrust " ; Components : core
2003-03-25 01:35:27 -05:00
Source : " wxPython \ lib \ PyCrust \ wxd \ *.py " ; DestDir : " {app} \ wxPython \ lib \ PyCrust \ wxd " ; Components : core
Source : " wxPython \ lib \ colourchooser \ *.py " ; DestDir : " {app} \ wxPython \ lib \ colourchooser " ; Components : core
% ( LOCALE ) s
2001-04-30 14:32:18 -04:00
Source : " demo \ *.py " ; DestDir : " {app} \ wxPython \ demo " ; Components : demo
Source : " demo \ *.xml " ; DestDir : " {app} \ wxPython \ demo " ; Components : demo
Source : " demo \ *.txt " ; DestDir : " {app} \ wxPython \ demo " ; Components : demo
2002-01-28 18:10:22 -05:00
Source : " demo \ *.ico " ; DestDir : " {app} \ wxPython \ demo " ; Components : demo
2002-03-21 13:05:10 -05:00
Source : " demo \ *.wdr " ; DestDir : " {app} \ wxPython \ demo " ; Components : demo
2001-04-30 14:32:18 -04:00
Source : " demo \b itmaps \ *.gif " ; DestDir : " {app} \ wxPython \ demo \b itmaps " ; Components : demo
Source : " demo \b itmaps \ *.bmp " ; DestDir : " {app} \ wxPython \ demo \b itmaps " ; Components : demo
Source : " demo \b itmaps \ *.jpg " ; DestDir : " {app} \ wxPython \ demo \b itmaps " ; Components : demo
Source : " demo \b itmaps \ *.png " ; DestDir : " {app} \ wxPython \ demo \b itmaps " ; Components : demo
Source : " demo \b itmaps \ *.ico " ; DestDir : " {app} \ wxPython \ demo \b itmaps " ; Components : demo
2001-11-19 21:30:58 -05:00
Source : " demo \b mp_source \ *.gif " ; DestDir : " {app} \ wxPython \ demo \b mp_source " ; Components : demo
Source : " demo \b mp_source \ *.bmp " ; DestDir : " {app} \ wxPython \ demo \b mp_source " ; Components : demo
; ; Source : " demo \b mp_source \ *.jpg " ; DestDir : " {app} \ wxPython \ demo \b mp_source " ; Components : demo
Source : " demo \b mp_source \ *.png " ; DestDir : " {app} \ wxPython \ demo \b mp_source " ; Components : demo
Source : " demo \b mp_source \ *.ico " ; DestDir : " {app} \ wxPython \ demo \b mp_source " ; Components : demo
2001-04-30 14:32:18 -04:00
Source : " demo \ data \ *.htm " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
Source : " demo \ data \ *.html " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
Source : " demo \ data \ *.py " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
Source : " demo \ data \ *.png " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
Source : " demo \ data \ *.bmp " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
Source : " demo \ data \ *.i " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
2001-09-04 02:00:45 -04:00
; ; Source : " demo \ data \ *.h " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
2001-04-30 14:32:18 -04:00
Source : " demo \ data \ *.txt " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
2001-05-18 18:02:56 -04:00
Source : " demo \ data \ *.wav " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
2001-07-05 13:46:57 -04:00
Source : " demo \ data \ *.wdr " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
2001-07-04 22:16:20 -04:00
Source : " demo \ data \ *.xrc " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
2002-04-05 15:55:53 -05:00
Source : " demo \ data \ *.gif " ; DestDir : " {app} \ wxPython \ demo \ data " ; Components : demo
2001-04-30 14:32:18 -04:00
2001-12-06 14:59:37 -05:00
Source : " demo \ dllwidget \ *.cpp " ; DestDir : " {app} \ wxPython \ demo \ dllwidget " ; Components : demo
Source : " demo \ dllwidget \ *.py " ; DestDir : " {app} \ wxPython \ demo \ dllwidget " ; Components : demo
Source : " demo \ dllwidget \ Makefile " ; DestDir : " {app} \ wxPython \ demo \ dllwidget " ; Components : demo
Source : " demo \ dllwidget \ makefile.* " ; DestDir : " {app} \ wxPython \ demo \ dllwidget " ; Components : demo
2001-04-30 14:32:18 -04:00
Source : " README.txt " ; DestDir : " {app} \ wxPython \ docs " ; Flags : isreadme ; Components : core
Source : " CHANGES.txt " ; DestDir : " {app} \ wxPython \ docs " ; Components : core
Source : " licence \ *.txt " ; DestDir : " {app} \ wxPython \ docs \ licence " ; Components : core
Source : " %(WXDIR)s \ docs \ htmlhelp \ wx.chm " ; DestDir : " {app} \ wxPython \ docs " ; Components : docs
Source : " %(WXDIR)s \ docs \ htmlhelp \ ogl.chm " ; DestDir : " {app} \ wxPython \ docs " ; Components : docs
2002-08-08 14:28:21 -04:00
Source : " wxPython \t ools \ *.py " ; DestDir : " {app} \ wxPython \t ools " ; Components : tools
2003-03-25 01:35:27 -05:00
Source : " wxPython \t ools \ XRCed \ *.txt " ; DestDir : " {app} \ wxPython \t ools \ XRCed " ; Components : tools
Source : " wxPython \t ools \ XRCed \ sawfishrc " ; DestDir : " {app} \ wxPython \t ools \ XRCed " ; Components : tools
2002-08-08 14:28:21 -04:00
Source : " wxPython \t ools \ XRCed \ *.py " ; DestDir : " {app} \ wxPython \t ools \ XRCed " ; Components : tools
Source : " wxPython \t ools \ XRCed \ *.xrc " ; DestDir : " {app} \ wxPython \t ools \ XRCed " ; Components : tools
Source : " wxPython \t ools \ XRCed \ *.ico " ; DestDir : " {app} \ wxPython \t ools \ XRCed " ; Components : tools
Source : " wxPython \t ools \ XRCed \ *.sh " ; DestDir : " {app} \ wxPython \t ools \ XRCed " ; Components : tools
2002-08-08 16:14:13 -04:00
Source : " scripts \ *.bat " ; DestDir : " { code:GetPythonDir} \ Scripts " ; Components : tools
Source : " scripts \ *.py " ; DestDir : " { code:GetPythonDir} \ Scripts " ; Components : tools
2003-03-25 01:35:27 -05:00
Source : " scripts \ helpviewer " ; DestDir : " { code:GetPythonDir} \ Scripts " ; Components : tools
2002-08-08 16:14:13 -04:00
Source : " scripts \ img2png " ; DestDir : " { code:GetPythonDir} \ Scripts " ; Components : tools
Source : " scripts \ img2py " ; DestDir : " { code:GetPythonDir} \ Scripts " ; Components : tools
Source : " scripts \ img2xpm " ; DestDir : " { code:GetPythonDir} \ Scripts " ; Components : tools
Source : " scripts \ xrced " ; DestDir : " { code:GetPythonDir} \ Scripts " ; Components : tools
2002-08-08 19:02:41 -04:00
Source : " scripts \ pyshell " ; DestDir : " { code:GetPythonDir} \ Scripts " ; Components : tools
Source : " scripts \ pycrust " ; DestDir : " { code:GetPythonDir} \ Scripts " ; Components : tools
2003-03-25 01:35:27 -05:00
Source : " scripts \ pycwrap " ; DestDir : " { code:GetPythonDir} \ Scripts " ; Components : tools
2001-04-30 14:32:18 -04:00
Source : " samples \ doodle \ *.py " ; DestDir : " {app} \ wxPython \ samples \ doodle " ; Components : samples
Source : " samples \ doodle \ *.txt " ; DestDir : " {app} \ wxPython \ samples \ doodle " ; Components : samples
Source : " samples \ doodle \ sample.ddl " ; DestDir : " {app} \ wxPython \ samples \ doodle " ; Components : samples
Source : " samples \ doodle \ superdoodle.iss " ; DestDir : " {app} \ wxPython \ samples \ doodle " ; Components : samples
2001-08-28 15:21:45 -04:00
2001-04-30 14:32:18 -04:00
Source : " samples \ wxProject \ *.txt " ; DestDir : " {app} \ wxPython \ samples \ wxProject " ; Components : samples
Source : " samples \ wxProject \ *.py " ; DestDir : " {app} \ wxPython \ samples \ wxProject " ; Components : samples
2001-09-06 17:19:48 -04:00
Source : " samples \ StyleEditor \ *.txt " ; DestDir : " {app} \ wxPython \ samples \ StyleEditor " ; Components : samples
Source : " samples \ StyleEditor \ *.py " ; DestDir : " {app} \ wxPython \ samples \ StyleEditor " ; Components : samples
2001-08-28 15:21:45 -04:00
Source : " samples \ StyleEditor \ *.cfg " ; DestDir : " {app} \ wxPython \ samples \ StyleEditor " ; Components : samples
2001-09-06 17:19:48 -04:00
Source : " samples \ pySketch \ *.py " ; DestDir : " {app} \ wxPython \ samples \ pySketch " ; Components : samples
Source : " samples \ pySketch \ images \ *.bmp " ; DestDir : " {app} \ wxPython \ samples \ pySketch \ images " ; Components : samples
2001-11-30 21:25:39 -05:00
Source : " samples \f rogedit \ *.py " ; DestDir : " {app} \ wxPython \ samples \f rogedit " ; Components : samples
2001-04-30 14:32:18 -04:00
2002-05-02 00:45:47 -04:00
Source : " samples \ embedded \ *.py " ; DestDir : " {app} \ wxPython \ samples \ embedded " ; Components : samples
Source : " samples \ embedded \ *.cpp " ; DestDir : " {app} \ wxPython \ samples \ embedded " ; Components : samples
Source : " samples \ embedded \ *.txt " ; DestDir : " {app} \ wxPython \ samples \ embedded " ; Components : samples
Source : " samples \ embedded \ *.vc " ; DestDir : " {app} \ wxPython \ samples \ embedded " ; Components : samples
Source : " samples \ embedded \ *.unx " ; DestDir : " {app} \ wxPython \ samples \ embedded " ; Components : samples
Source : " samples \ embedded \ *.ico " ; DestDir : " {app} \ wxPython \ samples \ embedded " ; Components : samples
Source : " samples \ embedded \ *.xpm " ; DestDir : " {app} \ wxPython \ samples \ embedded " ; Components : samples
2003-03-25 01:35:27 -05:00
Source : " src \ winxp.manifest " ; DestDir : " { code:GetPythonDir} " ; DestName : " python.exe.manifest " ; Components : core
Source : " src \ winxp.manifest " ; DestDir : " { code:GetPythonDir} " ; DestName : " pythonw.exe.manifest " ; Components : core
2002-08-08 16:14:13 -04:00
; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[ Run ]
; ; Recreate the tool scripts to use the paths on the users machine
2002-08-28 13:49:58 -04:00
Filename : " { code:GetPythonDir} \ python.exe " ; Parameters : " { code:GetPythonDir} \ Lib \ compileall.py {app} \ wxPython " ; Description : " Compile Python .py files to .pyc " ; Flags : postinstall ; Components : core
Filename : " { code:GetPythonDir} \ python.exe " ; Parameters : " CreateBatchFiles.py " ; WorkingDir : " { code:GetPythonDir} \ Scripts " ; Description : " Create batch files for tool scripts " ; Flags : postinstall ; Components : tools
2002-08-08 16:14:13 -04:00
2001-04-30 14:32:18 -04:00
; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[ Icons ]
2002-01-28 18:10:22 -05:00
Name : " {group} \ Run the DEMO " ; Filename : " { code:GetPythonDir} \ pythonw.exe " ; WorkingDir : " {app} \ wxPython \ demo " ; Parameters : " demo.py " ; IconFilename : " {app} \ wxPython \ demo \ wxpdemo.ico " ; Components : core
2002-08-08 19:02:41 -04:00
Name : " {group} \ PyCrust " ; Filename : " { code:GetPythonDir} \ pythonw.exe " ; WorkingDir : " c: \" ; Parameters: " { code : GetPythonDir } \Scripts \pycrust " ; IconFilename: " { app } \wxPython \lib \PyCrust \PyCrust . ico " ; Components: core
Name : " {group} \ PyShell " ; Filename : " { code:GetPythonDir} \ pythonw.exe " ; WorkingDir : " c: \" ; Parameters: " { code : GetPythonDir } \Scripts \pyshell " ; IconFilename: " { app } \wxPython \lib \PyCrust \PyCrust . ico " ; Components: core
2001-12-10 17:44:38 -05:00
Name : " {group} \ wxWindows Reference " ; Filename : " {app} \ wxPython \ docs \ wx.chm " ; Components : docs
Name : " {group} \ wxOGL Reference " ; Filename : " {app} \ wxPython \ docs \ ogl.chm " ; Components : docs
Name : " {group} \ licence.txt " ; Filename : " {app} \ wxPython \ docs \ licence \ licence.txt " ; Components : core
Name : " {group} \ README.txt " ; Filename : " {app} \ wxPython \ docs \ README.txt " ; Components : core
Name : " {group} \ CHANGES.txt " ; Filename : " {app} \ wxPython \ docs \ CHANGES.txt " ; Components : core
2001-04-30 14:32:18 -04:00
Name : " {group} \ Sample Apps " ; Filename : " {app} \ wxPython \ samples " ; Components : samples
2002-08-08 19:02:41 -04:00
Name : " {group} \ Resource Editor " ; Filename : " { code:GetPythonDir} \ pythonw.exe " ; WorkingDir : " c: \" ; Parameters: " { code : GetPythonDir } \Scripts \xrced " ; IconFilename: " { app } \wxPython \Tools \XRCed \xrced . ico " ; Components: tools
2001-04-30 14:32:18 -04:00
; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[ UninstallDelete ]
Type : files ; Name : " {app} \ wxPython \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ *.pyo " ;
2002-07-06 20:13:24 -04:00
Type : files ; Name : " {app} \ wxPython \ *.pyd " ;
2001-04-30 14:32:18 -04:00
Type : files ; Name : " {app} \ wxPython \ lib \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ lib \ *.pyo " ;
Type : files ; Name : " {app} \ wxPython \ lib \ editor \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ lib \ editor \ *.pyo " ;
2001-07-06 16:15:35 -04:00
Type : files ; Name : " {app} \ wxPython \ lib \ mixins \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ lib \ mixins \ *.pyo " ;
2001-12-10 17:44:38 -05:00
Type : files ; Name : " {app} \ wxPython \ lib \ PyCrust \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ lib \ PyCrust \ *.pyo " ;
2003-03-25 01:35:27 -05:00
Type : files ; Name : " {app} \ wxPython \ lib \ PyCrust \ decor \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ lib \ PyCrust \ decor \ *.pyo " ;
Type : files ; Name : " {app} \ wxPython \ lib \ PyCrust \ wxd \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ lib \ PyCrust \ wxd \ *.pyo " ;
Type : files ; Name : " {app} \ wxPython \ lib \ colourchooser \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ lib \ colourchooser \ *.pyo " ;
2002-08-08 16:14:13 -04:00
Type : files ; Name : " {app} \ wxPython \t ools \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \t ools \ *.pyo " ;
Type : files ; Name : " {app} \ wxPython \t ools \ XRCed \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \t ools \ XRCed \ *.pyo " ;
2001-04-30 14:32:18 -04:00
Type : files ; Name : " {app} \ wxPython \ demo \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ demo \ *.pyo " ;
Type : files ; Name : " {app} \ wxPython \ demo \ data \ showTips " ;
Type : files ; Name : " {app} \ wxPython \t ools \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \t ools \ *.pyo " ;
2001-09-04 02:35:05 -04:00
Type : files ; Name : " {app} \ wxPython \t ools \ XRCed \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \t ools \ XRCed \ *.pyo " ;
2001-04-30 14:32:18 -04:00
Type : files ; Name : " {app} \ wxPython \ samples \ doodle \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ samples \ doodle \ *.pyo " ;
Type : files ; Name : " {app} \ wxPython \ samples \ wxProject \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ samples \ wxProject \ *.pyo " ;
2001-08-28 15:21:45 -04:00
Type : files ; Name : " {app} \ wxPython \ samples \ StyleEditor \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ samples \ StyleEditor \ *.pyo " ;
2001-11-30 21:25:39 -05:00
Type : files ; Name : " {app} \ wxPython \ samples \f rogedit \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ samples \f rogedit \ *.pyo " ;
2002-08-28 13:49:58 -04:00
Type : files ; Name : " {app} \ wxPython \ demo \ data \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ demo \ data \ *.pyo " ;
Type : files ; Name : " {app} \ wxPython \ demo \ dllwidget \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ demo \ dllwidget \ *.pyo " ;
Type : files ; Name : " {app} \ wxPython \ samples \ embedded \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ samples \ embedded \ *.pyo " ;
Type : files ; Name : " {app} \ wxPython \ samples \ pySketch \ *.pyc " ;
Type : files ; Name : " {app} \ wxPython \ samples \ pySketch \ *.pyo " ;
2001-04-30 14:32:18 -04:00
'''
#----------------------------------------------------------------------
2001-08-28 15:21:45 -04:00
2001-04-30 14:32:18 -04:00
IFS_Template = r """
program Setup ;
var
PythonDir : String ;
2001-11-19 21:30:58 -05:00
InstallDir : String ;
2001-04-30 14:32:18 -04:00
2003-03-25 01:35:27 -05:00
2001-04-30 14:32:18 -04:00
function InitializeSetup ( ) : Boolean ;
begin
if not RegQueryStringValue ( HKEY_LOCAL_MACHINE ,
' Software \ Python \ PythonCore \ %(PYTHONVER)s \ InstallPath ' ,
' ' , PythonDir ) then begin
2001-07-27 23:07:18 -04:00
if not RegQueryStringValue ( HKEY_CURRENT_USER ,
' Software \ Python \ PythonCore \ %(PYTHONVER)s \ InstallPath ' ,
' ' , PythonDir ) then begin
2003-03-25 01:35:27 -05:00
MsgBox ( ' No installation of Python %(PYTHONVER)s found in registry. ' + #13 +
' Be sure to enter a pathname that places wxPython on the PYTHONPATH ' ,
2001-07-27 23:07:18 -04:00
mbConfirmation , MB_OK ) ;
2001-09-04 02:35:05 -04:00
PythonDir := ' C: \ Put a directory on PYTHONPATH here \' ;
2001-08-28 15:21:45 -04:00
end ;
end ;
2001-11-19 21:30:58 -05:00
InstallDir := PythonDir ;
% ( IF22 ) s
2001-08-28 15:21:45 -04:00
Result := true ;
2001-04-30 14:32:18 -04:00
end ;
function GetPythonDir ( Default : String ) : String ;
begin
Result := PythonDir ;
end ;
2001-11-19 21:30:58 -05:00
function GetInstallDir ( Default : String ) : String ;
begin
Result := InstallDir ;
end ;
2003-03-25 01:35:27 -05:00
function NextButtonClick ( CurPage : Integer ) : Boolean ;
var
FileName : string ;
ResultCode : Integer ;
begin
Result := True ;
if CurPage < > wpSelectDir then Exit ;
FileName := WizardDirValue ( ) + ' \ wxPython \ unins000.exe ' ;
if FileExists ( FileName ) then begin
ResultCode := MsgBox ( ' A prior wxPython installation was found in this directory. It ' + #13 +
' is recommended that it be uninstalled first. ' + #13#13 +
' Should I do it? ' ,
mbConfirmation , MB_YESNO ) ;
if ResultCode = IDYES then begin
InstExec ( FileName , ' /SILENT ' , WizardDirValue ( ) + ' \ wxPython ' , True , False , SW_SHOWNORMAL , ResultCode ) ;
end ;
end ;
end ;
2001-04-30 14:32:18 -04:00
begin
end .
"""
#----------------------------------------------------------------------
def find_DLLs ( ) :
WXDLL = PYTHONVER = None
proc = os . popen ( r " dumpbin /imports wxPython \ wxc.pyd " , " r " )
lines = proc . readlines ( )
proc . close ( )
for line in lines :
if line [ : 6 ] == " wx " :
2003-03-25 01:35:27 -05:00
WXDLL = line . strip ( )
2001-04-30 14:32:18 -04:00
if line [ : 10 ] == " python " :
PYTHONVER = line [ 10 ] + ' . ' + line [ 11 ]
if WXDLL and PYTHONVER :
return WXDLL , PYTHONVER
2003-03-25 01:35:27 -05:00
#----------------------------------------------------------------------
locale_template = ' Source: " %s " ; DestDir: " {app} \ %s " ; Components: core '
def build_locale_string ( ) :
stringlst = [ ]
def walk_helper ( lst , dirname , files ) :
for f in files :
filename = os . path . join ( dirname , f )
if not os . path . isdir ( filename ) :
lst . append ( locale_template % ( filename , dirname ) )
os . path . walk ( ' wxPython \\ locale ' , walk_helper , stringlst )
return ' \n ' . join ( stringlst )
2001-04-30 14:32:18 -04:00
#----------------------------------------------------------------------
def main ( ) :
verglob = { }
execfile ( " wxPython/__version__.py " , verglob )
VERSION = verglob [ " ver " ]
SHORTVER = VERSION [ : 3 ]
WXDLL , PYTHONVER = find_DLLs ( )
PYVER = " Py " + PYTHONVER [ 0 ] + PYTHONVER [ 2 ]
WXDIR = os . environ [ " WXWIN " ]
WXPYDIR = os . path . join ( WXDIR , " wxPython " )
SYSDIR = r " C: \ WINNT \ SYSTEM32 "
ISSFILE = " __wxPython.iss "
IFSFILE = " __wxPython.ifs "
2003-03-25 01:35:27 -05:00
LOCALE = build_locale_string ( )
2001-04-30 14:32:18 -04:00
2001-11-19 21:30:58 -05:00
if PYTHONVER > = " 2.2 " :
IF22 = r " InstallDir := InstallDir + ' \ Lib \ site-packages ' ; "
else :
IF22 = " "
2001-04-30 14:32:18 -04:00
2002-08-24 21:53:43 -04:00
# Starting with 2.3.3 the hybrid build is the release build too, so
# no need to label it that way.
2003-03-25 01:35:27 -05:00
##if WXDLL.find("h") != -1:
2002-08-24 21:53:43 -04:00
## PYVER = PYVER + "-hybrid"
2001-04-30 14:32:18 -04:00
2002-03-26 16:55:33 -05:00
MSLU = ' '
2002-03-26 20:10:28 -05:00
if len ( sys . argv ) > 1 and sys . argv [ 1 ] == " UNICODE=1 " :
MSLU = r ' Source: " %(WXDIR)s \ lib \ unicows.dll " ; DestDir: " { code:GetPythonDir} " ; Components: core ' % vars ( )
2002-03-26 16:55:33 -05:00
2001-04-30 14:32:18 -04:00
f = open ( ISSFILE , " w " )
f . write ( ISS_Template % vars ( ) )
f . close ( )
f = open ( IFSFILE , " w " )
f . write ( IFS_Template % vars ( ) )
f . close ( )
2002-06-12 21:35:19 -04:00
os . system ( ISCC % ( os . environ [ ' TOOLS ' ] , ISSFILE ) )
2001-04-30 14:32:18 -04:00
if not KEEP_TEMPS :
2003-03-25 01:35:27 -05:00
time . sleep ( 1 )
2001-04-30 14:32:18 -04:00
os . remove ( ISSFILE )
os . remove ( IFSFILE )
#----------------------------------------------------------------------
if __name__ == " __main__ " :
main ( )
#----------------------------------------------------------------------