Running the pre-install or post-install script did not work when
Python was installed with the 'only for me' option. The registry key
had a hardcoded '2.3' in it where the python version chosen for
installation should be used instead.
Will backport myself.
diff --git a/PC/bdist_wininst/install.c b/PC/bdist_wininst/install.c
index d268624..bd83294 100644
--- a/PC/bdist_wininst/install.c
+++ b/PC/bdist_wininst/install.c
@@ -611,12 +611,15 @@
static HINSTANCE LoadPythonDll(char *fname)
{
char fullpath[_MAX_PATH];
+ char subkey_name[80];
LONG size = sizeof(fullpath);
HINSTANCE h = LoadLibrary(fname);
if (h)
return h;
- if (ERROR_SUCCESS != RegQueryValue(HKEY_CURRENT_USER,
- "SOFTWARE\\Python\\PythonCore\\2.3\\InstallPath",
+ wsprintf(subkey_name,
+ "SOFTWARE\\Python\\PythonCore\\%s.%s\\InstallPath",
+ py_major, py_minor);
+ if (ERROR_SUCCESS != RegQueryValue(HKEY_CURRENT_USER, subkey_name,
fullpath, &size))
return NULL;
strcat(fullpath, "\\");
@@ -1793,7 +1796,7 @@
/* Strip the trailing backslash again */
python_dir[strlen(python_dir)-1] = '\0';
- CheckRootKey(hwnd);
+ CheckRootKey(hwnd);
if (!OpenLogfile(python_dir))
break;