diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-07-20 09:32:16 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-07-20 09:32:16 (GMT) |
commit | 7e5dcf6a334c31c46a74ebb4f6d709efbec48d39 (patch) | |
tree | bdcddbde1fd48fded3c714416abb8843fbf64ce8 | |
parent | fae9fb197bd3f27d5f7acb2cd94a1028e529fda3 (diff) | |
download | cpython-7e5dcf6a334c31c46a74ebb4f6d709efbec48d39.zip cpython-7e5dcf6a334c31c46a74ebb4f6d709efbec48d39.tar.gz cpython-7e5dcf6a334c31c46a74ebb4f6d709efbec48d39.tar.bz2 |
A full Inno Setup script for Python, except for the few hard and esoteric
parts Inno has no good answer for (read the comments at the top of the
script).
-rw-r--r-- | PCbuild/python.iss | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/PCbuild/python.iss b/PCbuild/python.iss new file mode 100644 index 0000000..b6bc121 --- /dev/null +++ b/PCbuild/python.iss @@ -0,0 +1,206 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +; This is the whole ball of wax for an Inno installer for Python. +; To use, download Inno Setup from http://www.jrsoftware.org/isdl.htm/, +; install it, and double-click on this file. That launches the Inno +; script compiler. The GUI is extemely simple, and has only one button +; you may not recognize instantly: click it. You're done. It builds +; the installer into PCBuild/Python-2.2a1.exe. Size and speed of the +; installer are competitive with the Wise installer; Inno uninstall +; seems much quicker than Wise. +; +; What's Done +; ----------- +; All the usual Windows Python files are installed by this now. +; All the usual Windows Python Start menu entries are created and +; work fine. +; The Python install is fully functional for "typical" uses (e.g., +; nothing I ever do with Python requires more than this). +; +; What's Not Done +; --------------- +; No registry entries are written. +; No installation of files is done into the system dir: +; The MS DLLs aren't handled at all by this yet. +; Python22.dll is unpacked into the main Python dir. +; +; Inno can't do different things on NT/2000 depending on whether the user +; has Admin privileges, so I don't know how to "solve" either of those, +; short of building two installers (one *requiring* Admin privs, the +; other not doing anything that needs Admin privs). +; +; Inno has no concept of variables, so lots of lines in this file need +; to be fiddled by hand across releases. Simplest way out: stick this +; file in a giant triple-quoted r-string (note that backslashes are +; required all over the place here -- forward slashes DON'T WORK in +; Inno), and use %(yadda)s string interpolation to do substitutions; i.e., +; write a very simple Python program to *produce* this script. + +[Setup] +; Which of these controls App Path??? +AppName=Python 2.2 alpha 1 +AppVerName=Python 2.2 alpha 1 +AppVersion=2.2a1 +AppCopyright=Copyright © 2001 Python Software Foundation + +; Default install dir; value of {app} later (unless user overrides). +; {sd} = system root drive, probably "C:". +DefaultDirName={sd}\Python22 + +; Start menu folder name. +DefaultGroupName=Python 2.2 + +AppId=Python 2.2 + +; Point SourceDir to one above PCBuild = src. +; YAY! That actually worked: means this script can run unchanged from anyone's +; CVS tree, no matter what they called the top-level directories. Wise +; required hardcoded absolute paths all over the place. +SourceDir=.. +OutputDir=PCBuild +OutputBaseFilename=Python-2.2a1 + +AppPublisher=PythonLabs at Digicool +AppPublisherURL=http://www.python.org +AppSupportURL=http://www.python.org +AppUpdatesURL=http://www.python.org + +AlwaysCreateUninstallIcon=yes +ChangesAssociations=yes +UninstallLogMode=new +;LicenseFile=LICENSE +;InfoBeforeFile=Misc\NEWS +; uncomment the following line if you want your installation to run on NT 3.51 too. +; MinVersion=4,3.51 + +[Types] +Name: normal; Description: "Select desired components"; Flags: iscustom + +[Components] +Name: main; Description: "Python interpreter and library"; Types: normal +Name: docs; Description: "Python documentation (HTML)"; Types: normal +Name: tools; Description: "Python utility scripts"; Types: normal +Name: test; Description: "Python test suite (Lib\test\)"; Types: normal + +[Files] +; Caution: Using forward slashes instead screws up in amazing ways. +; Unknown: By the time Components (and other attrs) are added to these lines, they're +; going to get awfully long. But don't see a way to continue logical lines across +; physical lines. + +Source: LICENSE; DestDir: "{app}"; DestName: LICENSE.txt; CopyMode: alwaysoverwrite +Source: README; DestDir: "{app}"; DestName: README.txt; CopyMode: alwaysoverwrite +Source: Misc\News; DestDir: "{app}"; DestName: NEWS.txt; CopyMode: alwaysoverwrite +Source: PC\*.ico; DestDir: "{app}"; CopyMode: alwaysoverwrite; Components: main + + +Source: PCbuild\python.exe; DestDir: "{app}"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\pythonw.exe; DestDir: "{app}"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\w9xpopen.exe; DestDir: "{app}"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\python22.dll; DestDir: "{app}"; CopyMode: alwaysoverwrite; Components: main + +Source: ..\tcl\bin\tcl83.dll; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: ..\tcl\bin\tk83.dll; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: ..\tcl\lib\*.*; DestDir: "{app}\tcl"; CopyMode: alwaysoverwrite; Components: main; Flags: recursesubdirs + +Source: PCbuild\_socket.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\_socket.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\_sre.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\_sre.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\_symtable.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\_symtable.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\_testcapi.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\_testcapi.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\_tkinter.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\_tkinter.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\bsddb.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\bsddb.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\mmap.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\mmap.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\parser.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\parser.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\pyexpat.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\pyexpat.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\select.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\select.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\unicodedata.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\unicodedata.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\_winreg.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\_winreg.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\winsound.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\winsound.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\zlib.pyd; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: PCbuild\zlib.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: PCbuild\python22.lib; DestDir: "{app}\libs"; CopyMode: alwaysoverwrite; Components: main + +Source: ..\expat\bin\xmlparse.dll; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main +Source: ..\expat\bin\xmltok.dll; DestDir: "{app}\DLLs"; CopyMode: alwaysoverwrite; Components: main + +Source: Lib\*.py; DestDir: "{app}\Lib"; CopyMode: alwaysoverwrite; Components: main +Source: Lib\lib-tk\*.py; DestDir: "{app}\Lib\lib-tk"; CopyMode: alwaysoverwrite; Components: main + +Source: Lib\encodings\*.py; DestDir: "{app}\Lib\encodings"; CopyMode: alwaysoverwrite; Components: main +Source: Lib\distutils\*.py; DestDir: "{app}\Lib\distutils"; CopyMode: alwaysoverwrite; Components: main +Source: Lib\xml\*.py; DestDir: "{app}\Lib\xml"; CopyMode: alwaysoverwrite; Flags: recursesubdirs; Components: main +Source: Lib\lib-old\*.py; DestDir: "{app}\Lib\lib-old"; CopyMode: alwaysoverwrite; Components: main +Source: Lib\site-packages\README; DestDir: "{app}\Lib\site-packages"; DestName: README.txt; CopyMode: alwaysoverwrite; Components: main +Source: Include\*.h; DestDir: "{app}\include"; CopyMode: alwaysoverwrite; Components: main +Source: PC\config.h; DestDir: "{app}\include"; CopyMode: alwaysoverwrite; Components: main + +Source: Tools\scripts\*.py; DestDir: "{app}\Tools\Scripts"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\scripts\*.pyw; DestDir: "{app}\Tools\Scripts"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\scripts\*.doc; DestDir: "{app}\Tools\Scripts"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\scripts\README; DestDir: "{app}\Tools\Scripts"; DestName: README.txt; CopyMode: alwaysoverwrite; Components: tools + +Source: Tools\webchecker\*.py; DestDir: "{app}\Tools\webchecker"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\webchecker\README; DestDir: "{app}\Tools\webchecker"; DestName: README.txt; CopyMode: alwaysoverwrite; Components: tools + +Source: Tools\versioncheck\*.py; DestDir: "{app}\Tools\versioncheck"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\versioncheck\README; DestDir: "{app}\Tools\versioncheck"; DestName: README.txt; CopyMode: alwaysoverwrite; Components: tools + +Source: Tools\idle\*.py; DestDir: "{app}\Tools\idle"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\idle\idle.pyw; DestDir: "{app}\Tools\idle"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\idle\*.txt; DestDir: "{app}\Tools\idle"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\idle\Icons\*.*; DestDir: "{app}\Tools\idle\Icons"; CopyMode: alwaysoverwrite; Components: tools + +Source: Tools\compiler\*.py; DestDir: "{app}\Tools\compiler"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\compiler\compiler\*.py; DestDir: "{app}\Tools\compiler\compiler"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\compiler\compiler\*.txt; DestDir: "{app}\Tools\compiler\compiler"; CopyMode: alwaysoverwrite; Components: tools + +Source: Tools\pynche\*.py; DestDir: "{app}\Tools\pynche"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\pynche\pynche.pyw; DestDir: "{app}\Tools\pynche"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\pynche\X\*.txt; DestDir: "{app}\Tools\pynche\X"; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\pynche\README; DestDir: "{app}\Tools\pynche"; DestName: README.txt; CopyMode: alwaysoverwrite; Components: tools +Source: Tools\pynche\pynche; DestDir: "{app}\Tools\pynche"; DestName: pynche.py; CopyMode: alwaysoverwrite; Components: tools + +Source: html\*.*; DestDir: "{app}\Doc"; CopyMode: alwaysoverwrite; Flags: recursesubdirs; Components: docs + +Source: Lib\test\*.py; DestDir: "{app}\Lib\test"; CopyMode: alwaysoverwrite; Components: test +Source: Lib\test\*.uue; DestDir: "{app}\Lib\test"; CopyMode: alwaysoverwrite; Components: test +Source: Lib\test\*.xml; DestDir: "{app}\Lib\test"; CopyMode: alwaysoverwrite; Components: test +Source: Lib\test\*.out; DestDir: "{app}\Lib\test"; CopyMode: alwaysoverwrite; Components: test +Source: Lib\test\audiotest.au; DestDir: "{app}\Lib\test"; CopyMode: alwaysoverwrite; Components: test +Source: Lib\test\output\*.*; DestDir: "{app}\Lib\test\output"; CopyMode: alwaysoverwrite; Components: test + +[Icons] +Name: "{group}\IDLE (Python GUI)"; Filename: "{app}\pythonw.exe"; WorkingDir: "{app}"; Parameters: "{app}\Tools\idle\idle.pyw" +Name: "{group}\Module Docs"; Filename: "{app}\pythonw.exe"; WorkingDir: "{app}"; Parameters: "{app}\Tools\Scripts\pydoc.pyw" +Name: "{group}\Python (command line)"; Filename: "{app}\python.exe"; WorkingDir: "{app}" +Name: "{group}\Python Manuals"; Filename: "{app}\Doc\index.html"; WorkingDir: "{app}" + |