Massive fiddling to get the install to work at all on a Win2K box under a
plain unprivileged User acct:
+ Had to duplicate Wise's Uninstal.wse script, in order to change the line
at its end that unconditionally tries to write uninstall info under HKLM.
This is our new file Uninstal.wse, which must be included by python20.wse
instead of using Wise's version.
+ In every other case we write to HKLM, also write to HKCU instead (we
were already doing that in *most* places, but not quite all).
+ If the user doesn't have admin privs, the DLLs we usually write to the
system dir are written to the root of the Python installation instead.
That's python22.dll, plus the two MSVC runtime DLLs.
+ Added a new component "Register file extensions". Registering .py etc
is done under HKEY_CLASSES_ROOT, and that also requires admin privs;
i.e., AFAICT it's impossible for an unprivileged user to accomplish this.
In the component selection dialog, if the user doesn't have admin privs
I gray out this new component so the user knows they aren't getting file
extensions.
After all that, Python installs, the Start Menu entries are OK, it runs
its test suite to completion, and the uninstaller works too. Only known
problem so far is that the integration with Win2K's Add/Remove subsystem
isn't quite right yet in this irritating case.
2001-07-30 23:06:21 +00:00
|
|
|
Document Type: WSE
|
|
|
|
item: Global
|
2001-07-31 03:24:55 +00:00
|
|
|
Version=8.14
|
Massive fiddling to get the install to work at all on a Win2K box under a
plain unprivileged User acct:
+ Had to duplicate Wise's Uninstal.wse script, in order to change the line
at its end that unconditionally tries to write uninstall info under HKLM.
This is our new file Uninstal.wse, which must be included by python20.wse
instead of using Wise's version.
+ In every other case we write to HKLM, also write to HKCU instead (we
were already doing that in *most* places, but not quite all).
+ If the user doesn't have admin privs, the DLLs we usually write to the
system dir are written to the root of the Python installation instead.
That's python22.dll, plus the two MSVC runtime DLLs.
+ Added a new component "Register file extensions". Registering .py etc
is done under HKEY_CLASSES_ROOT, and that also requires admin privs;
i.e., AFAICT it's impossible for an unprivileged user to accomplish this.
In the component selection dialog, if the user doesn't have admin privs
I gray out this new component so the user knows they aren't getting file
extensions.
After all that, Python installs, the Start Menu entries are OK, it runs
its test suite to completion, and the uninstaller works too. Only known
problem so far is that the integration with Win2K's Add/Remove subsystem
isn't quite right yet in this irritating case.
2001-07-30 23:06:21 +00:00
|
|
|
Flags=00000100
|
|
|
|
Split=1420
|
|
|
|
Languages=65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
|
|
|
Copy Default=1
|
|
|
|
Japanese Font Name=MS Gothic
|
|
|
|
Japanese Font Size=10
|
|
|
|
Start Gradient=0 0 255
|
|
|
|
End Gradient=0 0 0
|
|
|
|
Windows Flags=00000000000000000000101000001000
|
|
|
|
Message Font=MS Sans Serif
|
|
|
|
Font Size=8
|
|
|
|
Disk Label=GLBS
|
|
|
|
Disk Filename=INSTALL
|
|
|
|
Patch Flags=0000000000000001
|
|
|
|
Patch Threshold=200
|
|
|
|
Patch Memory=4096
|
|
|
|
Per-User Version ID=1
|
|
|
|
Crystal Format=10111100101100000010001001001001
|
2001-07-31 03:24:55 +00:00
|
|
|
Step View=&Properties
|
|
|
|
end
|
|
|
|
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.
|
|
|
|
end
|
Massive fiddling to get the install to work at all on a Win2K box under a
plain unprivileged User acct:
+ Had to duplicate Wise's Uninstal.wse script, in order to change the line
at its end that unconditionally tries to write uninstall info under HKLM.
This is our new file Uninstal.wse, which must be included by python20.wse
instead of using Wise's version.
+ In every other case we write to HKLM, also write to HKCU instead (we
were already doing that in *most* places, but not quite all).
+ If the user doesn't have admin privs, the DLLs we usually write to the
system dir are written to the root of the Python installation instead.
That's python22.dll, plus the two MSVC runtime DLLs.
+ Added a new component "Register file extensions". Registering .py etc
is done under HKEY_CLASSES_ROOT, and that also requires admin privs;
i.e., AFAICT it's impossible for an unprivileged user to accomplish this.
In the component selection dialog, if the user doesn't have admin privs
I gray out this new component so the user knows they aren't getting file
extensions.
After all that, Python installs, the Start Menu entries are OK, it runs
its test suite to completion, and the uninstaller works too. Only known
problem so far is that the integration with Win2K's Add/Remove subsystem
isn't quite right yet in this irritating case.
2001-07-30 23:06:21 +00:00
|
|
|
item: Remark
|
|
|
|
end
|
|
|
|
item: Remark
|
|
|
|
Text= Install Support for uninstalling the application.
|
|
|
|
end
|
|
|
|
item: Remark
|
|
|
|
end
|
|
|
|
item: Set Variable
|
|
|
|
Variable=UNINSTALL_PATH
|
|
|
|
Value=%_LOGFILE_PATH_%
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Set Variable
|
|
|
|
Variable=UNINSTALL_PATH
|
|
|
|
Value=%UNINSTALL_PATH%\UNWISE.EXE
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_EXE_OS_TYPE_
|
|
|
|
Value=WIN32
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\UNWISE32.EXE
|
|
|
|
Destination=%UNINSTALL_PATH%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable Else
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\UNWISE.EXE
|
|
|
|
Destination=%UNINSTALL_PATH%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Remark
|
|
|
|
end
|
|
|
|
item: Remark
|
|
|
|
Text= Install Support for multiple languages
|
|
|
|
end
|
|
|
|
item: Remark
|
|
|
|
end
|
|
|
|
item: Set Variable
|
|
|
|
Variable=UNINSTALL_LANG
|
|
|
|
Value=%UNINSTALL_PATH%
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Set Variable
|
|
|
|
Variable=UNINSTALL_LANG
|
|
|
|
Value=%UNINSTALL_LANG%\UNWISE.INI
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=C
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.FRA
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_C_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.FRA
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=D
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.FRA
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_D_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.FRA
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=E
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.DEU
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_E_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.DEU
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=F
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.PTG
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_F_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.PTG
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=G
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.ESP
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_G_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.ESP
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=H
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.ESP
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_H_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.ESP
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=I
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.ITA
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_I_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.ITA
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=J
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.DAN
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_J_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.DAN
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=K
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.FIN
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_K_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.FIN
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=L
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.ISL
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_L_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.ISL
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=M
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.NLD
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_M_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.NLD
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=N
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.NOR
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_N_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.NOR
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=O
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.SVE
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_O_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.SVE
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Variable=_LANG_LIST_
|
|
|
|
Value=P
|
|
|
|
Flags=00000010
|
|
|
|
end
|
|
|
|
item: Compiler Variable If
|
|
|
|
Value=%_WISE_%\LANGUAGE\UNWISE.JPN
|
|
|
|
Flags=00000011
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=LANG
|
|
|
|
Value=%_LANG_P_NAME_%
|
|
|
|
end
|
|
|
|
item: Install File
|
|
|
|
Source=%_WISE_%\LANGUAGE\UNWISE.JPN
|
|
|
|
Destination=%UNINSTALL_LANG%
|
|
|
|
Flags=0000000000000010
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Compiler Variable End
|
|
|
|
end
|
|
|
|
item: Remark
|
|
|
|
end
|
|
|
|
item: Remark
|
|
|
|
Text= Install the add/remove or uninstall icon
|
|
|
|
end
|
|
|
|
item: Remark
|
|
|
|
end
|
|
|
|
item: Set Variable
|
|
|
|
Variable=UNINSTALL_PATH
|
|
|
|
Value=%UNINSTALL_PATH%
|
|
|
|
Flags=00010100
|
|
|
|
end
|
|
|
|
item: Set Variable
|
|
|
|
Variable=INST_LOG_PATH
|
|
|
|
Value=%_LOGFILE_PATH_%
|
|
|
|
Flags=00010100
|
|
|
|
end
|
|
|
|
item: Check Configuration
|
|
|
|
Flags=10111011
|
|
|
|
end
|
|
|
|
item: Check Configuration
|
|
|
|
Flags=10111111
|
|
|
|
end
|
|
|
|
item: Remark
|
2001-07-31 03:24:55 +00:00
|
|
|
Text=Write uninstall info under HKLM. This if/else/end block added by Tim.
|
Massive fiddling to get the install to work at all on a Win2K box under a
plain unprivileged User acct:
+ Had to duplicate Wise's Uninstal.wse script, in order to change the line
at its end that unconditionally tries to write uninstall info under HKLM.
This is our new file Uninstal.wse, which must be included by python20.wse
instead of using Wise's version.
+ In every other case we write to HKLM, also write to HKCU instead (we
were already doing that in *most* places, but not quite all).
+ If the user doesn't have admin privs, the DLLs we usually write to the
system dir are written to the root of the Python installation instead.
That's python22.dll, plus the two MSVC runtime DLLs.
+ Added a new component "Register file extensions". Registering .py etc
is done under HKEY_CLASSES_ROOT, and that also requires admin privs;
i.e., AFAICT it's impossible for an unprivileged user to accomplish this.
In the component selection dialog, if the user doesn't have admin privs
I gray out this new component so the user knows they aren't getting file
extensions.
After all that, Python installs, the Start Menu entries are OK, it runs
its test suite to completion, and the uninstaller works too. Only known
problem so far is that the integration with Win2K's Add/Remove subsystem
isn't quite right yet in this irritating case.
2001-07-30 23:06:21 +00:00
|
|
|
end
|
|
|
|
item: Edit Registry
|
|
|
|
Total Keys=1
|
|
|
|
Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
|
|
|
|
New Value=%APPTITLE%
|
|
|
|
Value Name=DisplayName
|
|
|
|
Root=2
|
|
|
|
end
|
|
|
|
item: Edit Registry
|
|
|
|
Total Keys=1
|
|
|
|
Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
|
|
|
|
New Value=%UNINSTALL_PATH% %INST_LOG_PATH%
|
|
|
|
New Value=
|
|
|
|
Value Name=UninstallString
|
|
|
|
Root=2
|
|
|
|
end
|
|
|
|
item: Else Statement
|
|
|
|
end
|
|
|
|
item: Remark
|
2001-07-31 03:24:55 +00:00
|
|
|
Text=The same, but write under HKCU instead.
|
Massive fiddling to get the install to work at all on a Win2K box under a
plain unprivileged User acct:
+ Had to duplicate Wise's Uninstal.wse script, in order to change the line
at its end that unconditionally tries to write uninstall info under HKLM.
This is our new file Uninstal.wse, which must be included by python20.wse
instead of using Wise's version.
+ In every other case we write to HKLM, also write to HKCU instead (we
were already doing that in *most* places, but not quite all).
+ If the user doesn't have admin privs, the DLLs we usually write to the
system dir are written to the root of the Python installation instead.
That's python22.dll, plus the two MSVC runtime DLLs.
+ Added a new component "Register file extensions". Registering .py etc
is done under HKEY_CLASSES_ROOT, and that also requires admin privs;
i.e., AFAICT it's impossible for an unprivileged user to accomplish this.
In the component selection dialog, if the user doesn't have admin privs
I gray out this new component so the user knows they aren't getting file
extensions.
After all that, Python installs, the Start Menu entries are OK, it runs
its test suite to completion, and the uninstaller works too. Only known
problem so far is that the integration with Win2K's Add/Remove subsystem
isn't quite right yet in this irritating case.
2001-07-30 23:06:21 +00:00
|
|
|
end
|
|
|
|
item: Edit Registry
|
|
|
|
Total Keys=1
|
|
|
|
Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
|
|
|
|
New Value=%APPTITLE%
|
|
|
|
Value Name=DisplayName
|
|
|
|
Root=1
|
|
|
|
end
|
|
|
|
item: Edit Registry
|
|
|
|
Total Keys=1
|
|
|
|
Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
|
|
|
|
New Value=%UNINSTALL_PATH% %INST_LOG_PATH%
|
|
|
|
New Value=
|
|
|
|
Value Name=UninstallString
|
|
|
|
Root=1
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Else Statement
|
|
|
|
end
|
|
|
|
item: Add ProgMan Icon
|
|
|
|
Group=%GROUP%
|
|
|
|
Icon Name=Uninstall %APPTITLE%
|
|
|
|
Command Line=%UNINSTALL_PATH% %INST_LOG_PATH%
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: Check Configuration
|
|
|
|
Flags=11110010
|
|
|
|
end
|
|
|
|
item: If/While Statement
|
|
|
|
Variable=DOBRAND
|
|
|
|
Value=1
|
|
|
|
end
|
|
|
|
item: Edit Registry
|
|
|
|
Total Keys=2
|
|
|
|
item: Key
|
|
|
|
Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
|
|
|
|
New Value=%COMPANY%
|
|
|
|
Value Name=RegCompany
|
|
|
|
Root=2
|
|
|
|
end
|
|
|
|
item: Key
|
|
|
|
Key=Software\Microsoft\Windows\CurrentVersion\Uninstall\%APPTITLE%
|
|
|
|
New Value=%NAME%
|
|
|
|
Value Name=RegOwner
|
|
|
|
Root=2
|
|
|
|
end
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|
|
|
|
item: End Block
|
|
|
|
end
|