Martin v. Löwis
What does "The control ErrorIcon was not found on dialog ErrorDlg" mean?
It probably means it couldn't post the error message for the first error, because the icon to indicate "error" isn't included in the MSI file (which is a separate bug).
Yes, I started getting better errors when I added an icon back in.
What's a postinstall script supposed to return or exit with to indicate success or failure, anyway?
It should return 0 as the exit code.
Thanks. What if there's actually an error? Just throw an exception?
Any ideas?
I can think of two reasons: a) it may dislike the double-backslash in the Python path. Try removing one of them
I was wondering about that. There's this clause in add_find_python: add_data(self.db, "CustomAction", [("PythonFromMachine", 51+256, "PYTHONDIR", "[PYTHON.MACHINE]"), ("PythonFromUser", 51+256, "PYTHONDIR", "[PYTHON.USER]"), ("PythonExe", 51+256, "PYTHON", "[PYTHONDIR]\\python.exe"), ("InitialTargetDir", 51+256, "TARGETDIR", "[PYTHONDIR]")]) and the backslash there seems redundant. Changing it to "[PYTHONDIR]python.exe" removes the extra backslash in the value of PYTHON. Shall I file a patch?
b) the command line may need to repeat the executable name as argv0.
No, but that first arg, the name of the script file, should be quoted.
I would use orca (from the platform SDK) to edit the MSI file, and see whether this fixes anything.
OK, thanks. Bill