; 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. ; ; ; 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. ; .py, .pyw, .pyc and .pyo extensions are registered. ; PROBLEM: Inno uninstall does not restore their previous registry ; associations (if any). Wise did. This will make life ; difficult for alpha (etc) testers. ; The Python install is fully functional for "typical" uses. ; Mark Hammond's Win32 extensions are included. ;;; Experimental .NET support is included via Python.NET ; ; ; ; Limitations and Workarounds ; --------------------------- ; With Inno Setup it is not so easy to do different things on NT/2000 ; depending on whether the user has Admin privileges. It can be done, ; using Check parameters to call the script function IsAdminUserLoggedOn. ; Or, without resorting to scripting, it can be done by building two ; installers (one *requiring* Admin privileges, the other not doing ; anything that needs Admin privileges). ; ; Although Inno Setup includes a full scripting language, Innerfuse ; Pascal Script, there is no concept of compile-time variables / ; preprocessing. However, there's an add-on called ISPP (Inno Setup ; Pre-processor) which can help with that. ; ; ; ; How to Compile ; -------------- ; If you have not already done so, download Inno Setup 4 and install it. ; You can get it from http://www.jrsoftware.org/. ; ; You may also want to download and install the very handy ISTool GUI, ; which provides a nice graphical environment to maintain the script and ; compile / test the setup wizard. ; ; ; Now, as for this script: ; ; This setup script compiles against the directory tree of an "installed" ; Python distribution, as layed out by the WISE installers for Python and ; Win32all. It currently works with the directory layout used for Python ; 2.3/2.4, which is slightly different than previous versions. It could ; be modified to work against the Python and Win32all source trees, if ; that were needed for a custom build of Python. However, currently that ; is not what it does! ; ; After having installed Python and Win32all from their respective WISE ; installers, create a copy of the installation directory to hack on. ; ; Copy this setup script to your copy of the Python install directoy. ; ; You can remove the following files from your new copy of the Python ; install directory, since they are leftovers from the WISE installer: ; UNWISE.EXE; INSTALL.LOG ; Lib\site-packages\UnWisePW32.exe; W32INST.LOG ; ; To avoid unintentionally including non-redistributable versions of ; system files in your installer, the installer does not take anything ; from system32. Instead, some additional directories must be created ; within the Python directory tree: ; ; In your copy of the Python install directoy, create a subdirectory ; sysdir. Copy the files python24.dll, PythonCOM24.dll, and ; PyWinTypes24.dll from system32 to the new sysdir folder. ; ; Obtain the latest vcredist.exe (it's included with Visual Studio 6 ; Service Pack 5, but search microsoft knowledge base if you don't ; have it on-hand). Underneath sysdir, create another subdirectory ; called vcredist, and unpack the contents of vcredist.exe there: ; vcredist.exe /C /T:Full\Path\To\Setup-Python24\sysdir\vcredist ; ; Now you're ready to compile the installer. Double-click on the file, ; and probably either Inno Setup or ISTool will pop up, depending on ; which you have configured. ; ; Update the script if appropriate, e.g. mention the correct version ; numbers in AppVerName, AppID, AppVersion, and OutputBaseFileName ; ; Click the compile button, and you're in business. ; ; ; PYC and PYO Files ; ----------------- ; You "could" remove all .pyc / .pyo files from your copy of the Python ; install directory to reduce the size of your installer. Scripts are ; be compiled on demand, and the .pyc files saved back to disk if the ; user has write privileges, so the extra files are not strictly ; necessary. ; ; On the other hand, if Python is run exclusively as a user who does ; not have write access to the Python installation directory, start-up ; times might be longer than they would be if the .pyc files were there. ; ; The Python WISE installer optionally runs a script that pre-compiles ; the modules in the Lib directory, and the Win32all installer always ; performs this action for its scripts. It should be possible to ; arrange for something similar to happen with Inno Setup through an ; entry in the InstallRun section. ; ; For now, being lazy, I am just letting the Python WISE installer ; pre-compile the scripts, and including all of the generated .pyc ; files in my installer. This only adds about a megabyte to the size ; of the installer (assuming you use bzip compression in solid mode). ; Python.NET support is commented out since it doesn't seem to work. [Setup] AppName=Python and Win32 Extensions AppVerName=Python 2.4.2 and Win32 Extensions 205 AppId=Python24_{{01E5E020-AD18-45FA-BB7B-99E4F715CB6D} AppVersion=2.4.2.205 AppCopyright=Python is Copyright © 2001, 2002, 2003, 2004, 2005 Python Software Foundation. Win32 COM Framework is Copyright © 1996-2001 Greg Stein and Mark Hammond. Other Win32 Extensions are Copyright © 1994-2001 Mark Hammond. ;;;AppCopyright=Python is Copyright © 2001, 2002, 2003, 2004, 2005 Python Software Foundation. Win32 COM Framework is Copyright © 1996-2001 Greg Stein and Mark Hammond. Other Win32 Extensions are Copyright © 1994-2001 Mark Hammond. Python.NET 1.0 RC2 is Copyright © 2005 Zope Corporation. ; Default install dir; value of {app} later (unless user overrides). ; {sd} = system root drive, probably "C:" ; {pf} = default program files folder, probable "C:\Program Files" DefaultDirName={sd}\Python24 ; Start menu folder name; value of {group} later (unless user overrides). DefaultGroupName=Python 2.4 ; Point SourceDir to one above PCBuild = src. ; means this script can run unchanged from anyone's CVS tree, no matter ; what they called the top-level directories. SourceDir=. OutputDir=.. OutputBaseFilename=Python-2.4.2-Win32-205-Setup AppPublisher=Python Software Foundation AppPublisherURL=http://www.python.org AppSupportURL=http://www.python.org AppUpdatesURL=http://www.python.org ChangesAssociations=true UninstallLogMode=new AllowNoIcons=true PrivilegesRequired=poweruser UninstallDisplayIcon={app}\py.ico Compression=lzma SolidCompression=true InfoBeforeFile=LICENSE.txt UninstallFilesDir={app}\uninst ShowTasksTreeLines=false ;The fewer screens the better; leave this commented. ;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 and Win32 Extensions; Types: normal; Flags: fixed Name: docs; Description: Python documentation (HTML); Types: normal ;--- tk is rolled it into main, so it is guaranteed to be installed ;--- Name: tk; Description: TCL/TK, tkinter, and IDLE; Types: normal Name: tools; Description: Python utility scripts (Tools\); Types: normal Name: test; Description: Python test suite (Lib\test\) ;Name: extras; Description: Experimental Extras (ctypes, .NET); MinVersion: 4.1.1998,4.0.1381sp6 ;;;Name: dotnet; Description: Experimental .NET Support; MinVersion: 4.1.1998,4.0.1381sp6 [Tasks] Name: extensions; Description: Register file associations (.py, .pyw, .pyc, .pyo, .pys); Components: main Name: comserver; Description: Register Python COM server and ActiveX Scripting Engine; Components: main [Files] ; Caution: Use backslash, not forward slash, for subdirectories. ; begin VC system files Source: sysdir\vcredist\asycfilt.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall; OnlyBelowVersion: 4.9,5 Source: sysdir\vcredist\atla.dll; DestName: atl.dll; DestDir: {sys}; MinVersion: 4,0; Flags: restartreplace uninsneveruninstall regserver; OnlyBelowVersion: 4.9,0 Source: sysdir\vcredist\atlu.dll; DestName: atl.dll; DestDir: {sys}; MinVersion: 0,4; Flags: restartreplace uninsneveruninstall regserver; OnlyBelowVersion: 0,5 Source: sysdir\vcredist\comcat.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall regserver; OnlyBelowVersion: 4.9,5 Source: sysdir\vcredist\mfc42.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall regserver; OnlyBelowVersion: 4.9,5 Source: sysdir\vcredist\mfc42u.dll; DestDir: {sys}; MinVersion: 0,4; Flags: restartreplace uninsneveruninstall regserver; OnlyBelowVersion: 0,5 Source: sysdir\vcredist\msvcp60.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall; OnlyBelowVersion: 4.9,5 Source: sysdir\vcredist\msvcirt.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall; OnlyBelowVersion: 4.9,5 Source: sysdir\vcredist\msvcrt.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall; OnlyBelowVersion: 4.9,5 Source: sysdir\vcredist\oleaut32.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall regserver; OnlyBelowVersion: 4.9,5 Source: sysdir\vcredist\olepro32.dll; DestDir: {sys}; Flags: restartreplace uninsneveruninstall regserver; OnlyBelowVersion: 4.9,5 Source: sysdir\vcredist\stdole2.tlb; DestDir: {sys}; Flags: restartreplace uninsneveruninstall regtypelib; OnlyBelowVersion: 4.9,5 ; end VC system files ; Compared to the standard lines from Inno Setup home page, I added the OnlyBelowVersion ; attributes since you are not supposed to update system DLLs on ME, 2000, XP. Also, the ; CopyMode: alwaysskipifsameorolder attribute is no longer available but is now the default. ; The ones that are included in the standard WISE installers are msvcrt, msvcirt, and mfc42. ; The others could be commented out, in theory. Also, the WISE installers seems to be ; configured to skip these altogether if the user is not an administrator. I don't think ; that's necessary here since the installer itself requires a minimum of Power User status. Source: LICENSE.txt; DestDir: {app}; Flags: ignoreversion Source: README.txt; DestDir: {app}; Flags: ignoreversion Source: NEWS.txt; DestDir: {app}; Flags: ignoreversion Source: *.ico; DestDir: {app}; Components: main; Flags: ignoreversion Source: python.exe; DestDir: {app}; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete Source: pythonw.exe; DestDir: {app}; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete Source: w9xpopen.exe; DestDir: {app}; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ; Source: pythonwin.exe; DestDir: {app}; Components: main; Flags: ignoreversion ;;;; Python.NET ;;;;Source: LICENSE_PythonDotNET.txt; DestDir: {app}; Components: dotnet; Flags: ignoreversion ;;;;Source: README_PythonDotNET.txt; DestDir: {app}; Components: dotnet; Flags: ignoreversion ;;; ;;;Source: PythonNet\*.*; DestDir: {app}\PythonNet; Components: dotnet; Flags: recursesubdirs ignoreversion sortfilesbyextension uninsrestartdelete ;;;Source: CLR.dll; DestDir: {app}; Components: dotnet; Flags: ignoreversion restartreplace uninsrestartdelete ;;;Source: Python.Runtime.dll; DestDir: {app}; Components: dotnet; Flags: ignoreversion restartreplace uninsrestartdelete ;;;;Need a copy here too, since pythonwin moved ;;;Source: Python.Runtime.dll; DestDir: {app}\lib\site-packages\pythonwin; Components: dotnet; Flags: ignoreversion restartreplace uninsrestartdelete Source: DLLs\*.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete Source: DLLs\*.dll; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete Source: libs\*.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion Source: libs\*.a; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: DLLs\_bsddb.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\_csv.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\_socket.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\_sre.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\_ssl.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\_symtable.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\_testcapi.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\_winreg.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\bz2.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\datetime.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\mmap.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\parser.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\pyexpat.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\select.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\unicodedata.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\winsound.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: DLLs\zlib.pyd; DestDir: {app}\DLLs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete ;Source: libs\_sre.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\_csv.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\_socket.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\_bsddb.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\_ssl.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\_symtable.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\_testcapi.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\_winreg.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\bz2.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\datetime.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\mmap.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\parser.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\pyexpat.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\select.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\unicodedata.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\winsound.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\zlib.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion Source: sysdir\python24.dll; DestDir: {sys}; Components: main; Flags: restartreplace sharedfile restartreplace uninsrestartdelete ;Source: libs\python24.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion restartreplace uninsrestartdelete Source: lib\site-packages\pywin32_system32\PyWinTypes24.dll; DestDir: {sys}; Components: main; Flags: restartreplace sharedfile restartreplace uninsrestartdelete Source: lib\site-packages\pywin32_system32\pythoncom24.dll; DestDir: {sys}; Components: main; Flags: restartreplace sharedfile restartreplace uninsrestartdelete ;Is it intentional that these import libs are no longer included in win32all 200+? ;(Yes, they are now included in site-packages\win32\libs.) ;Source: libs\PyWinTypes.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion ;Source: libs\PythonCOM.lib; DestDir: {app}\libs; Components: main; Flags: ignoreversion Source: Lib\*.py*; DestDir: {app}\Lib; Components: main; Flags: ignoreversion sortfilesbyextension Source: Lib\bsddb\*.*; DestDir: {app}\Lib\bsddb; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\compiler\*.*; DestDir: {app}\Lib\compiler; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\curses\*.*; DestDir: {app}\Lib\curses; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\distutils\*.*; DestDir: {app}\Lib\distutils; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\email\*.*; DestDir: {app}\Lib\email; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\encodings\*.*; DestDir: {app}\Lib\encodings; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\hotshot\*.*; DestDir: {app}\Lib\hotshot; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\idlelib\*.*; DestDir: {app}\Lib\idlelib; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\lib-old\*.*; DestDir: {app}\Lib\lib-old; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\lib-tk\*.*; DestDir: {app}\Lib\lib-tk; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\logging\*.*; DestDir: {app}\Lib\logging; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\test\*.*; DestDir: {app}\Lib\test; Components: test; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\xml\*.*; DestDir: {app}\Lib\xml; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Lib\site-packages\README.txt; DestDir: {app}\Lib\site-packages; Components: main; Flags: ignoreversion Source: Lib\site-packages\pythoncom.*; DestDir: {app}\Lib\site-packages; Components: main; Flags: ignoreversion sortfilesbyextension uninsrestartdelete Source: Lib\site-packages\PyWin32.chm; DestDir: {app}\Lib\site-packages; Components: docs; Flags: ignoreversion uninsrestartdelete Source: Lib\site-packages\pythonwin\*.*; DestDir: {app}\Lib\site-packages\Pythonwin; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension uninsrestartdelete Source: Lib\site-packages\win32\*.*; DestDir: {app}\Lib\site-packages\win32; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension uninsrestartdelete Source: Lib\site-packages\win32com\*.*; DestDir: {app}\Lib\site-packages\win32com; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension uninsrestartdelete Source: Lib\site-packages\win32comext\*.*; DestDir: {app}\Lib\site-packages\win32comext; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension uninsrestartdelete ;Source: Lib\site-packages\pywin32_system32\*.*; DestDir: {app}\Lib\site-packages\Pythonwin; Components: main; Flags: recursesubdirs ignoreversion Source: Lib\site-packages\isapi\*.*; DestDir: {app}\Lib\site-packages\isapi; Components: main; Flags: recursesubdirs ignoreversion sortfilesbyextension uninsrestartdelete ;Source: Lib\site-packages\ctypes\*.*; DestDir: {app}\Lib\site-packages\ctypes; Components: extras; Flags: recursesubdirs ignoreversion sortfilesbyextension ;Source: Lib\site-packages\comtypes\*.*; DestDir: {app}\Lib\site-packages\comtypes; Components: extras; Flags: recursesubdirs ignoreversion sortfilesbyextension ;Source: Lib\site-packages\_ctypes*.pyd; DestDir: {app}\Lib\site-packages\; Components: extras; Flags: ignoreversion restartreplace uninsrestartdelete Source: tcl\*.*; DestDir: {app}\tcl; Components: main; Flags: recursesubdirs ignoreversion uninsrestartdelete Source: include\*.h; DestDir: {app}\include; Components: main; Flags: ignoreversion Source: Tools\i18n\*.*; DestDir: {app}\Tools\i18n; Components: tools; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Tools\pynche\*.*; DestDir: {app}\Tools\pynche; Components: tools; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Tools\scripts\*.*; DestDir: {app}\Tools\Scripts; Components: tools; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Tools\versioncheck\*.*; DestDir: {app}\Tools\versioncheck; Components: tools; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Tools\webchecker\*.*; DestDir: {app}\Tools\webchecker; Components: tools; Flags: recursesubdirs ignoreversion sortfilesbyextension Source: Doc\*.*; DestDir: {app}\Doc; Components: docs; Flags: recursesubdirs ignoreversion sortfilesbyextension [Icons] Name: {group}\Python (command line); Filename: {app}\python.exe; WorkingDir: {app}; Components: main Name: {group}\Pythonwin; Filename: {app}\lib\site-packages\pythonwin\Pythonwin.exe; WorkingDir: {app}\lib\site-packages; Components: main ;Python Manual used to be in plain HTML until 2.3 but are now in CHM format as of 2.3.x. Name: {group}\Python Documentation; Filename: {app}\Doc\Python24.chm; WorkingDir: {app}\Doc; Components: docs Name: {group}\Win32 Extensions Help; Filename: {app}\Lib\site-packages\PyWin32.chm; WorkingDir: {app}\Lib\site-packages; Components: docs Name: {group}\Module Docs; Filename: {app}\pythonw.exe; WorkingDir: {app}; Parameters: """{app}\Tools\Scripts\pydocgui.pyw"""; Components: tools Name: {group}\IDLE (Python GUI); Filename: {app}\pythonw.exe; WorkingDir: {app}; Parameters: """{app}\Lib\idlelib\idle.pyw"""; Components: main ;This one is included in the Win32 Extensions help, but seems important enough to also get a start menu entry. Name: {group}\COM Documentation Index; Filename: {app}\Lib\site-packages\win32com\HTML\docindex.html; WorkingDir: {app}\Lib\site-packages\win32com\HTML; Components: docs ;These two are referenced from the TOC of the Win32 Extensions help, and I see no reason to give them a start menu entry as well. ;Name: {group}\Pythonwin Readme; Filename: {app}\Lib\site-packages\Pythonwin\readme.htm; WorkingDir: {app}\Lib\site-packages\Pythonwin; Components: docs ;Name: {group}\Python COM Readme; Filename: {app}\Lib\site-packages\win32com\readme.htm; WorkingDir: {app}\Lib\site-packages\win32com; Components: docs [Registry] Root: HKCR; Subkey: Python.File; ValueType: string; ValueName: ; ValueData: Python File; Flags: uninsdeletekey ;Root: HKCR; Subkey: Python.File\AutoRegister; ValueType: string; ValueName: ; ValueData: {sys}\PythonCOM24.dll Root: HKCR; Subkey: Python.File\DefaultIcon; ValueType: string; ValueName: ; ValueData: {app}\Py.ico Root: HKCR; Subkey: Python.CompiledFile; ValueType: string; ValueName: ; ValueData: Compiled Python File; Flags: uninsdeletekey Root: HKCR; Subkey: Python.CompiledFile\DefaultIcon; ValueType: string; ValueName: ; ValueData: {app}\pyc.ico Root: HKCR; Subkey: Python.NoConFile; ValueType: string; ValueName: ; ValueData: Python File (no console); Flags: uninsdeletekey Root: HKCR; Subkey: Python.NoConFile\DefaultIcon; ValueType: string; ValueName: ; ValueData: {app}\Py.ico ; Python Registry Keys Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.4\PythonPath; ValueName: ; ValueType: string; ValueData: "{app}\Lib;{app}\DLLs;{app}\Lib\lib-tk" Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.4\PythonPath\pywin32; ValueName: ; ValueType: string; ValueData: "{app}\lib\site-packages\win32;{app}\lib\site-packages\win32\lib;{app}\lib\site-packages\Pythonwin" Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.4\Modules Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.4\InstallPath; ValueName: ; ValueData: {app}; ValueType: string Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.4\InstallPath\InstallGroup; ValueName: ; ValueType: string; ValueData: {group} Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.4\Help Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.4\Help\Main Python Documentation; ValueName: ; ValueType: string; ValueData: {app}\Doc\Python24.chm; Components: docs Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.4\Help\Pythonwin Reference; ValueName: ; ValueType: string; ValueData: {app}\lib\site-packages\PyWin32.chm; Components: docs Root: HKLM; Subkey: SOFTWARE\Python\PythonCore\2.4; Flags: uninsdeletekey Root: HKLM; Subkey: SOFTWARE\Python\PythonCore; Flags: uninsdeletekeyifempty ; Python\Pythonwin\Build is not set by current Pywin32 installers, but ArcGIS looks for it so let's set it... Root: HKLM; Subkey: SOFTWARE\Python\Pythonwin\Build; ValueName: ; ValueType: string; ValueData: 205; Flags: createvalueifdoesntexist uninsdeletekeyifempty Root: HKLM; Subkey: SOFTWARE\Python\Pythonwin; Flags: uninsdeletekeyifempty ; Clean up if no Python left. Root: HKLM; Subkey: SOFTWARE\Python; Flags: uninsdeletekeyifempty ; Additional COM server / activeX scripting stuff (Win32all no longer does regsvr32) ; Thinking about adding a task to make this optional; see the comserver task. ;Root: HKCR; SubKey: Python.File\AutoRegister; ValueType: string; ValueName: ; ValueData: {sys}\PythonCOM24.dll ;This one is no longer there in build 204. Not sure what it was for. Tasks: comserver; Root: HKCR; SubKey: Python; ValueType: string; ValueName: ; ValueData: Python ActiveX Scripting Engine; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; SubKey: Python\CLSID; ValueType: string; ValueName: ; ValueData: {{DF630910-1C1D-11d0-AE36-8C0F5E000000} Tasks: comserver; Root: HKCR; SubKey: Python\CurVer; ValueType: string; ValueName: ; ValueData: Python.AXScript.2 Tasks: comserver; Root: HKCR; SubKey: Python\OLEScript; ValueType: string; ValueName: ; ValueData: Tasks: comserver; Root: HKCR; SubKey: Python.AXScript.2; ValueType: string; ValueName: ; ValueData: Python ActiveX Scripting Engine; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; SubKey: Python.AXScript.2\CLSID; ValueType: string; ValueName: ; ValueData: {{DF630910-1C1D-11d0-AE36-8C0F5E000000} Tasks: comserver; Root: HKCR; SubKey: Python.Dictionary; ValueType: string; ValueName: ; ValueData: Python Dictionary; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; SubKey: Python.Dictionary\CLSID; ValueType: string; ValueName: ; ValueData: {{39b61048-c755-11d0-86fa-00c04fc2e03e} Tasks: comserver; Root: HKCR; SubKey: Python.Dictionary.1; ValueType: string; ValueName: ; ValueData: Python Dictionary; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; SubKey: Python.Dictionary.1\CLSID; ValueType: string; ValueName: ; ValueData: {{39b61048-c755-11d0-86fa-00c04fc2e03e} Tasks: comserver; Root: HKCR; SubKey: Python.Dictionary\CurVer; ValueType: string; ValueName: ; ValueData: Python.Dictionary.1 Tasks: comserver; Root: HKCR; SubKey: Python.Interpreter; ValueType: string; ValueName: ; ValueData: Python Interpreter; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; SubKey: Python.Interpreter\CLSID; ValueType: string; ValueName: ; ValueData: {{30BD3490-2632-11cf-AD5B-524153480001} Tasks: comserver; Root: HKCR; SubKey: Python.Interpreter\CurVer; ValueType: string; ValueName: ; ValueData: Python.Interpreter.2 Tasks: comserver; Root: HKCR; SubKey: Python.Interpreter.2; ValueType: string; ValueName: ; ValueData: Python Interpreter; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; SubKey: Python.Interpreter.2\CLSID; ValueType: string; ValueName: ; ValueData: {{30BD3490-2632-11cf-AD5B-524153480001} Tasks: comserver; Root: HKCR; SubKey: AppID\{{DF630910-1C1D-11d0-AE36-8C0F5E000000}; ValueType: string; ValueName: ; ValueData: Python; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; SubKey: AppID\{{30BD3490-2632-11cf-AD5B-524153480001}; ValueType: string; ValueName: ; ValueData: Python.Interpreter; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; SubKey: AppID\{{39b61048-c755-11d0-86fa-00c04fc2e03e}; ValueType: string; ValueName: ; ValueData: Python.Dictionary; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; SubKey: CLSID\{{30BD3490-2632-11cf-AD5B-524153480001}; ValueType: string; ValueName: ; ValueData: Python Interpreter; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; SubKey: CLSID\{{30BD3490-2632-11cf-AD5B-524153480001}\Debugging; ValueType: string; ValueName: ; ValueData: 0 Tasks: comserver; Root: HKCR; SubKey: CLSID\{{30BD3490-2632-11cf-AD5B-524153480001}\InprocServer32; ValueType: string; ValueName: ; ValueData: pythoncom24.dll Tasks: comserver; Root: HKCR; SubKey: CLSID\{{30BD3490-2632-11cf-AD5B-524153480001}\InprocServer32; ValueType: string; ValueName: ThreadingModel; ValueData: both Tasks: comserver; Root: HKCR; SubKey: CLSID\{{30BD3490-2632-11cf-AD5B-524153480001}\LocalServer32; ValueType: string; ValueName: ; ValueData: """{app}\pythonw.exe"" ""{app}\lib\site-packages\win32com\server\localserver.py"" {{30BD3490-2632-11cf-AD5B-524153480001}" Tasks: comserver; Root: HKCR; SubKey: CLSID\{{30BD3490-2632-11cf-AD5B-524153480001}\ProgID; ValueType: string; ValueName: ; ValueData: Python.Interpreter.2 Tasks: comserver; Root: HKCR; SubKey: CLSID\{{30BD3490-2632-11cf-AD5B-524153480001}\PythonCOM; ValueType: string; ValueName: ; ValueData: win32com.servers.interp.Interpreter Tasks: comserver; Root: HKCR; SubKey: CLSID\{{30BD3490-2632-11cf-AD5B-524153480001}\VersionIndependentProgID; ValueType: string; ValueName: ; ValueData: Python.Interpreter Tasks: comserver; Root: HKCR; SubKey: CLSID\{{30BD3490-2632-11cf-AD5B-524153480001}\Implemented Categories\{{B3EF80D0-68E2-11D0-A689-00C04FD658FF} Tasks: comserver; Root: HKCR; SubKey: Component Categories\{{B3EF80D0-68E2-11D0-A689-00C04FD658FF}; ValueType: string; ValueName: 409; ValueData: Python COM Server; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; Subkey: Python.ScriptFile; ValueType: string; ValueName: ; ValueData: Python Active Scripting File; Flags: uninsdeletekey Tasks: comserver; Root: HKCR; Subkey: Python.ScriptFile\ScriptEngine; ValueType: string; ValueName: ScriptEngine; ValueData: Python ; File associations ; .py Tasks: extensions; Root: HKCR; Subkey: .py; ValueType: string; ValueName: ; ValueData: Python.File; Flags: uninsdeletekey Tasks: extensions; Root: HKCR; Subkey: .py; ValueType: string; ValueName: Content Type; ValueData: text/plain Tasks: extensions; Root: HKCR; Subkey: Python.File\shell\open\command; ValueType: string; ValueName: ; ValueData: """{app}\python.exe"" ""%1"" %*" Tasks: extensions; Root: HKCR; Subkey: Python.File\shell\Edit\command; ValueType: string; ValueName: ; ValueData: """{app}\lib\site-packages\pythonwin\Pythonwin.exe"" /edit ""%1""" Tasks: extensions; Root: HKCR; Subkey: Python.File\shell\Edit with IDLE\command; ValueType: string; ValueName: ; ValueData: """{app}\pythonw.exe"" ""{app}\Lib\idlelib\idle.pyw"" -n -e ""%1""" ; .pyc and .pyo Tasks: extensions; Root: HKCR; Subkey: .pyc; ValueType: string; ValueName: ; ValueData: Python.CompiledFile; Flags: uninsdeletekey Tasks: extensions; Root: HKCR; Subkey: .pyo; ValueType: string; ValueName: ; ValueData: Python.CompiledFile; Flags: uninsdeletekey Tasks: extensions; Root: HKCR; Subkey: Python.CompiledFile\shell\open\command; ValueType: string; ValueName: ; ValueData: """{app}\python.exe"" ""%1"" %*" ; .pyw Tasks: extensions; Root: HKCR; Subkey: .pyw; ValueType: string; ValueName: ; ValueData: Python.NoConFile; Flags: uninsdeletekey Tasks: extensions; Root: HKCR; Subkey: .pyw; ValueType: string; ValueName: Content Type; ValueData: text/plain Tasks: extensions; Root: HKCR; Subkey: Python.NoConFile\shell\open\command; ValueType: string; ValueName: ; ValueData: """{app}\pythonw.exe"" ""%1"" %*" Tasks: extensions; Root: HKCR; Subkey: Python.NoConFile\shell\Edit\command; ValueType: string; ValueName: ; ValueData: """{app}\lib\site-packages\pythonwin\Pythonwin.exe"" /edit ""%1""" Tasks: extensions; Root: HKCR; Subkey: Python.NoConFile\shell\Edit with IDLE\command; ValueType: string; ValueName: ; ValueData: """{app}\pythonw.exe"" ""{app}\Lib\idlelib\idle.pyw"" -n -e ""%1""" ; .pys Tasks: extensions; Root: HKCR; Subkey: .pys; ValueType: string; ValueName: ; ValueData: Python.ScriptFile; Flags: uninsdeletekey Tasks: extensions; Root: HKCR; Subkey: Python.ScriptFile\shell\Edit\command; ValueType: string; ValueName: ; ValueData: """{app}\lib\site-packages\pythonwin\Pythonwin.exe"" /edit ""%1""" Tasks: extensions; Root: HKCR; Subkey: Python.ScriptFile\shell\Edit with IDLE\command; ValueType: string; ValueName: ; ValueData: """{app}\pythonw.exe"" ""{app}\Lib\idlelib\idle.pyw"" -n -e ""%1""" Tasks: extensions; Root: HKCR; Subkey: Python.ScriptFile\shell\Open\command; ValueType: string; ValueName: ; ValueData: """{sys}\WScript.exe"" """"%1"" %*" Tasks: extensions; Root: HKCR; Subkey: Python.ScriptFile\shell\Open with Command Prompt\command; ValueType: string; ValueName: ; ValueData: """{sys}\CScript.exe"" """"%1"" %*" [UninstallDelete] Name: {app}\Lib\bsddb\*.pyc; Type: files Name: {app}\Lib\bsddb\*.pyo; Type: files Name: {app}\Lib\bsddb; Type: dirifempty Name: {app}\Lib\compiler\*.pyc; Type: files Name: {app}\Lib\compiler\*.pyo; Type: files Name: {app}\Lib\compiler; Type: dirifempty Name: {app}\Lib\distutils\command\*.pyc; Type: files Name: {app}\Lib\distutils\command\*.pyo; Type: files Name: {app}\Lib\distutils\command; Type: dirifempty Name: {app}\Lib\distutils\*.pyc; Type: files Name: {app}\Lib\distutils\*.pyo; Type: files Name: {app}\Lib\distutils; Type: dirifempty Name: {app}\Lib\email\test\*.pyc; Type: files Name: {app}\Lib\email\test\*.pyo; Type: files Name: {app}\Lib\email\test; Type: dirifempty Name: {app}\Lib\email\*.pyc; Type: files Name: {app}\Lib\email\*.pyo; Type: files Name: {app}\Lib\email; Type: dirifempty Name: {app}\Lib\encodings\*.pyc; Type: files Name: {app}\Lib\encodings\*.pyo; Type: files Name: {app}\Lib\encodings; Type: dirifempty Name: {app}\Lib\hotshot\*.pyc; Type: files Name: {app}\Lib\hotshot\*.pyo; Type: files Name: {app}\Lib\hotshot; Type: dirifempty Name: {app}\Lib\idlelib\*.pyc; Type: files Name: {app}\Lib\idlelib\*.pyo; Type: files Name: {app}\Lib\idlelib; Type: dirifempty Name: {app}\Lib\lib-old\*.pyc; Type: files Name: {app}\Lib\lib-old\*.pyo; Type: files Name: {app}\Lib\lib-old; Type: dirifempty Name: {app}\Lib\lib-tk\*.pyc; Type: files Name: {app}\Lib\lib-tk\*.pyo; Type: files Name: {app}\Lib\lib-tk; Type: dirifempty Name: {app}\Lib\test\*.pyc; Type: files Name: {app}\Lib\test\*.pyo; Type: files Name: {app}\Lib\test; Type: dirifempty Name: {app}\Lib\xml\dom\*.pyc; Type: files Name: {app}\Lib\xml\dom\*.pyo; Type: files Name: {app}\Lib\xml\dom; Type: dirifempty Name: {app}\Lib\xml\parsers\*.pyc; Type: files Name: {app}\Lib\xml\parsers\*.pyo; Type: files Name: {app}\Lib\xml\parsers; Type: dirifempty Name: {app}\Lib\xml\sax\*.pyc; Type: files Name: {app}\Lib\xml\sax\*.pyo; Type: files Name: {app}\Lib\xml\sax; Type: dirifempty Name: {app}\Lib\xml\*.pyc; Type: files Name: {app}\Lib\xml\*.pyo; Type: files Name: {app}\Lib\xml; Type: dirifempty Name: {app}\Lib\site-packages\Pythonwin; Type: filesandordirs Name: {app}\Lib\site-packages\win32; Type: filesandordirs Name: {app}\Lib\site-packages\win32com; Type: filesandordirs Name: {app}\Lib\site-packages\win32comext; Type: filesandordirs Name: {app}\Lib\site-packages\pythoncom.pyc; Type: files Name: {app}\Lib\site-packages\pythoncom.pyo; Type: files ;Name: {app}\Lib\site-packages\ctypes; Type: filesandordirs ;Name: {app}\Lib\site-packages\comtypes; Type: filesandordirs Name: {app}\Lib\site-packages; Type: dirifempty Name: {app}\Lib\*.pyc; Type: files Name: {app}\Lib\*.pyo; Type: files Name: {app}\Lib; Type: dirifempty Name: {app}\Tools\pynche\*.pyc; Type: files Name: {app}\Tools\pynche\*.pyo; Type: files Name: {app}\Tools\pynche; Type: dirifempty Name: {app}\Tools\i18n\*.pyc; Type: files Name: {app}\Tools\i18n\*.pyo; Type: files Name: {app}\Tools\i18n; Type: dirifempty Name: {app}\Tools\scripts\*.pyc; Type: files Name: {app}\Tools\scripts\*.pyo; Type: files Name: {app}\Tools\scripts; Type: dirifempty Name: {app}\Tools\versioncheck\*.pyc; Type: files Name: {app}\Tools\versioncheck\*.pyo; Type: files Name: {app}\Tools\versioncheck; Type: dirifempty Name: {app}\Tools\webchecker\*.pyc; Type: files Name: {app}\Tools\webchecker\*.pyo; Type: files Name: {app}\Tools\webchecker; Type: dirifempty Name: {app}\Tools; Type: dirifempty ; pywin32.pth is intentionally skipped; it could be written ; in an AfterInstall parameter function, but it's easier to ; just add it to the registry. ; [Code] ; Program Setup; ; ; Function CheckAdminLoggedOn(): Boolean; ; begin ; Result := IsAdminLoggedOn(); ; end; ; ; Function CheckPowerUserLoggedOn(): Boolean; ; begin ; Result := IsPowerUserLoggedOn Or IsAdminLoggedOn(); ; end; ; ; begin ; end.