Kaydet (Commit) b5c61a89 authored tarafından Tim Peters's avatar Tim Peters

Leave the Inno script in better shape. Added registration of .py etc

extensions -- but Inno uninstall doesn't restore previous ones (if any),
so that's another step backwards.
üst c7cdc637
...@@ -8,19 +8,23 @@ ...@@ -8,19 +8,23 @@
; you may not recognize instantly: click it. You're done. It builds ; 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 ; the installer into PCBuild/Python-2.2a1.exe. Size and speed of the
; installer are competitive with the Wise installer; Inno uninstall ; installer are competitive with the Wise installer; Inno uninstall
; seems much quicker than Wise. ; seems much quicker than Wise (but also feebler, and the uninstall
; log is in some un(human)readable binary format).
; ;
; What's Done ; What's Done
; ----------- ; -----------
; All the usual Windows Python files are installed by this now. ; All the usual Windows Python files are installed by this now.
; All the usual Windows Python Start menu entries are created and ; All the usual Windows Python Start menu entries are created and
; work fine. ; work fine.
; The Python install is fully functional for "typical" uses (e.g., ; .py, .pyw, .pyc and .pyo extensions are registered.
; nothing I ever do with Python requires more than this). ; 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.
; ;
; What's Not Done ; What's Not Done
; --------------- ; ---------------
; No registry entries are written. ; None of "Mark Hammond's" registry entries are written.
; No installation of files is done into the system dir: ; No installation of files is done into the system dir:
; The MS DLLs aren't handled at all by this yet. ; The MS DLLs aren't handled at all by this yet.
; Python22.dll is unpacked into the main Python dir. ; Python22.dll is unpacked into the main Python dir.
...@@ -38,9 +42,11 @@ ...@@ -38,9 +42,11 @@
; write a very simple Python program to *produce* this script. ; write a very simple Python program to *produce* this script.
[Setup] [Setup]
; Note: we *want* the version number to show up everywhere.
; Which of these controls App Path??? ; Which of these controls App Path???
AppName=Python 2.2 alpha 1 AppName=Python 2.2 alpha 1
AppVerName=Python 2.2 alpha 1 AppVerName=Python 2.2 alpha 1
AppId=Python 2.2
AppVersion=2.2a1 AppVersion=2.2a1
AppCopyright=Copyright 2001 Python Software Foundation AppCopyright=Copyright 2001 Python Software Foundation
...@@ -48,11 +54,9 @@ AppCopyright=Copyright ...@@ -48,11 +54,9 @@ AppCopyright=Copyright
; {sd} = system root drive, probably "C:". ; {sd} = system root drive, probably "C:".
DefaultDirName={sd}\Python22 DefaultDirName={sd}\Python22
; Start menu folder name. ; Start menu folder name; value of {group} later (unless user overrides).
DefaultGroupName=Python 2.2 DefaultGroupName=Python 2.2
AppId=Python 2.2
; Point SourceDir to one above PCBuild = src. ; Point SourceDir to one above PCBuild = src.
; YAY! That actually worked: means this script can run unchanged from anyone's ; 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 ; CVS tree, no matter what they called the top-level directories. Wise
...@@ -61,7 +65,7 @@ SourceDir=.. ...@@ -61,7 +65,7 @@ SourceDir=..
OutputDir=PCBuild OutputDir=PCBuild
OutputBaseFilename=Python-2.2a1 OutputBaseFilename=Python-2.2a1
AppPublisher=PythonLabs at Digicool AppPublisher=PythonLabs at Digital Creations
AppPublisherURL=http://www.python.org AppPublisherURL=http://www.python.org
AppSupportURL=http://www.python.org AppSupportURL=http://www.python.org
AppUpdatesURL=http://www.python.org AppUpdatesURL=http://www.python.org
...@@ -69,8 +73,11 @@ AppUpdatesURL=http://www.python.org ...@@ -69,8 +73,11 @@ AppUpdatesURL=http://www.python.org
AlwaysCreateUninstallIcon=yes AlwaysCreateUninstallIcon=yes
ChangesAssociations=yes ChangesAssociations=yes
UninstallLogMode=new UninstallLogMode=new
; The fewer screens the better; leave these commented.
;LicenseFile=LICENSE ;LicenseFile=LICENSE
;InfoBeforeFile=Misc\NEWS ;InfoBeforeFile=Misc\NEWS
; uncomment the following line if you want your installation to run on NT 3.51 too. ; uncomment the following line if you want your installation to run on NT 3.51 too.
; MinVersion=4,3.51 ; MinVersion=4,3.51
...@@ -78,10 +85,14 @@ UninstallLogMode=new ...@@ -78,10 +85,14 @@ UninstallLogMode=new
Name: normal; Description: "Select desired components"; Flags: iscustom Name: normal; Description: "Select desired components"; Flags: iscustom
[Components] [Components]
Name: main; Description: "Python interpreter and library"; Types: normal Name: main; Description: "Python interpreter, library and Tk"; Types: normal
Name: docs; Description: "Python documentation (HTML)"; Types: normal Name: docs; Description: "Python documentation (HTML)"; Types: normal
Name: tools; Description: "Python utility scripts"; Types: normal Name: tools; Description: "Python utility scripts (Tools\)"; Types: normal
Name: test; Description: "Python test suite (Lib\test\)"; Types: normal Name: test; Description: "Python test suite (Lib\test\)"; Types: normal
[Tasks]
Name: startmenu; Description: "Create Start menu shortcuts"; Components: main docs tools
Name: extensions; Description: "Register file extensions (.py, .pyw, .pyc, .pyo)"; Components: main
[Files] [Files]
; Caution: Using forward slashes instead screws up in amazing ways. ; Caution: Using forward slashes instead screws up in amazing ways.
...@@ -199,8 +210,32 @@ Source: Lib\test\audiotest.au; DestDir: "{app}\Lib\test"; CopyMode: alway ...@@ -199,8 +210,32 @@ Source: Lib\test\audiotest.au; DestDir: "{app}\Lib\test"; CopyMode: alway
Source: Lib\test\output\*.*; DestDir: "{app}\Lib\test\output"; CopyMode: alwaysoverwrite; Components: test Source: Lib\test\output\*.*; DestDir: "{app}\Lib\test\output"; CopyMode: alwaysoverwrite; Components: test
[Icons] [Icons]
Name: "{group}\IDLE (Python GUI)"; Filename: "{app}\pythonw.exe"; WorkingDir: "{app}"; Parameters: "{app}\Tools\idle\idle.pyw" Tasks: startmenu; Name: "{group}\IDLE (Python GUI)"; Filename: "{app}\pythonw.exe"; WorkingDir: "{app}"; Parameters: """{app}\Tools\idle\idle.pyw"""; Components: tools
Name: "{group}\Module Docs"; Filename: "{app}\pythonw.exe"; WorkingDir: "{app}"; Parameters: "{app}\Tools\Scripts\pydoc.pyw" Tasks: startmenu; Name: "{group}\Module Docs"; Filename: "{app}\pythonw.exe"; WorkingDir: "{app}"; Parameters: """{app}\Tools\Scripts\pydoc.pyw"""; Components: tools
Name: "{group}\Python (command line)"; Filename: "{app}\python.exe"; WorkingDir: "{app}" Tasks: startmenu; Name: "{group}\Python (command line)"; Filename: "{app}\python.exe"; WorkingDir: "{app}"; Components: main
Name: "{group}\Python Manuals"; Filename: "{app}\Doc\index.html"; WorkingDir: "{app}" Tasks: startmenu; Name: "{group}\Python Manuals"; Filename: "{app}\Doc\index.html"; WorkingDir: "{app}"; Components: docs
[Registry]
; Register .py
Tasks: extensions; Root: HKCR; Subkey: ".py"; ValueType: string; ValueName: ""; ValueData: "Python File"; Flags: uninsdeletevalue
Tasks: extensions; Root: HKCR; Subkey: ".py"; ValueType: string; ValueName: "Content Type"; ValueData: "text/plain"; Flags: uninsdeletevalue
Tasks: extensions; Root: HKCR; Subkey: "Python File"; ValueType: string; ValueName: ""; ValueData: "Python File"; Flags: uninsdeletekey
Tasks: extensions; Root: HKCR; Subkey: "Python File\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\Py.ico"
Tasks: extensions; Root: HKCR; Subkey: "Python File\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\python.exe"" ""%1"" %*"
; Register .pyc
Tasks: extensions; Root: HKCR; Subkey: ".pyc"; ValueType: string; ValueName: ""; ValueData: "Python CompiledFile"; Flags: uninsdeletevalue
Tasks: extensions; Root: HKCR; Subkey: "Python CompiledFile"; ValueType: string; ValueName: ""; ValueData: "Compiled Python File"; Flags: uninsdeletekey
Tasks: extensions; Root: HKCR; Subkey: "Python CompiledFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\pyc.ico"
Tasks: extensions; Root: HKCR; Subkey: "Python CompiledFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\python.exe"" ""%1"" %*"
; Register .pyo
Tasks: extensions; Root: HKCR; Subkey: ".pyo"; ValueType: string; ValueName: ""; ValueData: "Python CompiledFile"; Flags: uninsdeletevalue
; Register .pyw
Tasks: extensions; Root: HKCR; Subkey: ".pyw"; ValueType: string; ValueName: ""; ValueData: "Python NoConFile"; Flags: uninsdeletevalue
Tasks: extensions; Root: HKCR; Subkey: ".pyw"; ValueType: string; ValueName: "Content Type"; ValueData: "text/plain"; Flags: uninsdeletevalue
Tasks: extensions; Root: HKCR; Subkey: "Python NoConFile"; ValueType: string; ValueName: ""; ValueData: "Python File (no console)"; Flags: uninsdeletekey
Tasks: extensions; Root: HKCR; Subkey: "Python NoConFile\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\Py.ico"
Tasks: extensions; Root: HKCR; Subkey: "Python NoConFile\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\pythonw.exe"" ""%1"" %*"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment