From 67b9adaa87f834dd68bd12df04225a96ff17e1b2 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Sun, 5 Aug 2001 04:12:30 +0000 Subject: [PATCH] New runtime vrbl DOADMIN. When false, we never try to write under HKLM, and install the Python and MS runtime DLLs into the Python dir instead of a system dir. Initial value is taken from new compiler vrbl _DOADMIN_ (default true), and forced to false if the user doesn't have admin privs. This makes it possible to *test* non-admin installs on machines where the distinction doesn't exist (like my home box), via just changing _DOADMIN_. It may also be useful for users who don't *want* an installer to scribble into their system dir (for example, me(! most days)), but that would require adding more GUI to let them get at it. --- PCbuild/Uninstal.wse | 7 ++++--- PCbuild/python20.wse | 46 ++++++++++++++++++++++++++++++++------------ 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/PCbuild/Uninstal.wse b/PCbuild/Uninstal.wse index 5e0347c347f..216dd30c350 100644 --- a/PCbuild/Uninstal.wse +++ b/PCbuild/Uninstal.wse @@ -25,7 +25,7 @@ item: Remark Text=Note from Tim: This is a verbatim copy of Wise's Uninstal.wse, altered at the end to write end item: Remark - Text=uninstall info under HKCU instead of HKLM if the user doesn't have Admin privs. + Text=uninstall info under HKCU instead of HKLM if our DOADMIN var is false. end item: Remark end @@ -433,8 +433,9 @@ end item: Check Configuration Flags=10111011 end -item: Check Configuration - Flags=10111111 +item: If/While Statement + Variable=DOADMIN + Value=1 end item: Remark Text=Write uninstall info under HKLM. This if/else/end block added by Tim. diff --git a/PCbuild/python20.wse b/PCbuild/python20.wse index 7ad564f5ad7..47b3dc374d9 100644 --- a/PCbuild/python20.wse +++ b/PCbuild/python20.wse @@ -25,7 +25,7 @@ item: Global Version Copyright=©2001 Python Software Foundation Version Company=PythonLabs at Zope Corporation Crystal Format=10111100101100000010001001001001 - Step View=&All + Step View=&Properties Variable Name1=_WISE_ Variable Description1=WISE root directory Variable Default1=C:\PROGRAM FILES\WISE INSTALLMASTER 8.1 @@ -52,6 +52,15 @@ item: Global Variable Description6=Python minor version number; the 3 in 2.3 Variable Default6=2 Variable Flags6=00001000 + Variable Name7=_DOADMIN_ + Variable Description7=The initial value for %DOADMIN%. + Variable Description7=When 0, we never try to write under HKLM, + Variable Description7=and install the Python + MS runtime DLLs in + Variable Description7=the Python directory instead of the system dir. + Variable Default7=1 + Variable Values7=1 + Variable Values7=0 + Variable Flags7=00001010 end item: Set Variable Variable=PYVER_STRING @@ -113,12 +122,20 @@ item: Set Variable end item: Remark end +item: Set Variable + Variable=DOADMIN + Value=%_DOADMIN_% +end item: Remark Text=Give non-admin users a chance to abort. end item: Check Configuration Flags=10011111 end +item: Set Variable + Variable=DOADMIN + Value=0 +end item: Display Message Title=Doing non-admin install Text=The current login does not have Administrator Privileges on this machine. Python will install its registry information into the per-user area only for the current login, instead of into the per-machine area for every account on this machine. Some advanced uses of Python may not work as a result (for example, running a Python script as a service). @@ -266,8 +283,9 @@ end item: Remark Text=E: register file extensions (requires Admin privs) end -item: Check Configuration - Flags=10111111 +item: If/While Statement + Variable=DOADMIN + Value=1 end item: Set Variable Variable=COMPONENTS @@ -1307,8 +1325,9 @@ item: Remark end item: Remark end -item: Check Configuration - Flags=10111111 +item: If/While Statement + Variable=DOADMIN + Value=1 end item: Set Variable Variable=DLLDEST @@ -2089,8 +2108,9 @@ end item: Remark Text=Write to HKLM for admin, else HKCU. Keep these blocks otherwise identical! end -item: Check Configuration - Flags=10111111 +item: If/While Statement + Variable=DOADMIN + Value=1 end item: Edit Registry Total Keys=1 @@ -2181,8 +2201,9 @@ item: If/While Statement Value=B Flags=00001010 end -item: Check Configuration - Flags=10111111 +item: If/While Statement + Variable=DOADMIN + Value=1 end item: Edit Registry Total Keys=1 @@ -2219,8 +2240,9 @@ end item: Remark Text=Installation Expert, it only shows up in the "If" block below. Keep in synch! end -item: Check Configuration - Flags=10111111 +item: If/While Statement + Variable=DOADMIN + Value=1 end item: Edit Registry Total Keys=1 @@ -2285,7 +2307,7 @@ end item: Remark end item: Remark - Text=Populate Start Menu + Text=Populate Start Menu group end item: Remark end