Recently I decided to upgrade from Python 2.7 to Python 3.4 on my Windows 8 laptop. So I uninstalled Py2.7, downloaded the .msi file from python's site and ran it. I found that every installer I tried for both 3.4.1 and 3.4.0 would give me an error saying that part of the installer didn't work. The exact error message is "There is a problem with this Windows Installer package. A Program run as part of the setup did not finish as expected. Contact your support personnel or package vendor." I've never had this kind of problem before and certainly not with Python. Does anyone know of a good way to try and debug this? It's persisting across so many installers that I'm sure it has to be something on my system.

EDIT: Thanks for the tip about the log file. It's very large (larger than I'm allowed to post on this site ~320k characters). Here's the bit right after it says 'fatal error'. This is from running the suggested code on the installer for 3.4.1 64 bit.

Property(S): X = C:\Python34\Tools\pynche\X\
Property(S): UpgradeCode = {65E6DE48-A358-434D-AA4F-4AF72DB4718F}
Property(S): ProductName = Python 3.4.1
Property(S): ProductCode = {DF32BB9E-3ED8-36B5-A649-E8C845C5F3A2}
Property(S): ProductVersion = 3.4.1150
Property(S): Manufacturer = Python Software Foundation
Property(S): ProductLanguage = 1033
Property(S): VersionNT = 602
Property(S): WhichUsers = ALL
Property(S): ProductLine = Python34
Property(S): TARGETDIR = C:\Python34\
Property(S): Tools = C:\Python34\Tools\
Property(S): DefaultUIFont = DlgFont8
Property(S): ErrorDialog = ErrorDlg
Property(S): Progress1 = Install
Property(S): Progress2 = installs
Property(S): MaintenanceForm_Action = Repair
Property(S): DLLDIR = C:\Windows\SysWOW64\
Property(S): LAUNCHERDIR = C:\Windows\
Property(S): SourceDir = C:\Users\Jesse\Downloads\
Property(S): DLLs = C:\Python34\DLLs\
Property(S): Lib = C:\Python34\Lib\
Property(S): Lib_pycache = C:\Python34\Lib\__pycache__\
Property(S): asyncio = C:\Python34\Lib\asyncio\
Property(S): asyncio_pycache = C:\Python34\Lib\asyncio\__pycache__\
Property(S): site_packages = C:\Python34\Lib\site-packages\
Property(S): idlelib = C:\Python34\Lib\idlelib\
Property(S): idlelib_pycache = C:\Python34\Lib\idlelib\__pycache__\
Property(S): idle_test = C:\Python34\Lib\idlelib\idle_test\
Property(S): idle_test_pycache = C:\Python34\Lib\idlelib\idle_test\__pycache__\
Property(S): Icons = C:\Python34\Lib\idlelib\Icons\
Property(S): concurrent = C:\Python34\Lib\concurrent\
Property(S): concurrent_pycache = C:\Python34\Lib\concurrent\__pycache__\
Property(S): futures = C:\Python34\Lib\concurrent\futures\
Property(S): futures_pycache = C:\Python34\Lib\concurrent\futures\__pycache__\
Property(S): http = C:\Python34\Lib\http\
Property(S): http_pycache = C:\Python34\Lib\http\__pycache__\
Property(S): sqlite3 = C:\Python34\Lib\sqlite3\
Property(S): sqlite3_pycache = C:\Python34\Lib\sqlite3\__pycache__\
Property(S): test = C:\Python34\Lib\sqlite3\test\
Property(S): test_pycache = C:\Python34\Lib\sqlite3\test\__pycache__\
Property(S): html = C:\Python34\Lib\html\
Property(S): html_pycache = C:\Python34\Lib\html\__pycache__\
Property(S): lib2to3 = C:\Python34\Lib\lib2to3\
Property(S): lib2to3_pycache = C:\Python34\Lib\lib2to3\__pycache__\
Property(S): pgen2 = C:\Python34\Lib\lib2to3\pgen2\
Property(S): pgen2_pycache = C:\Python34\Lib\lib2to3\pgen2\__pycache__\
Property(S): tests = C:\Python34\Lib\lib2to3\tests\
Property(S): tests_pycache = C:\Python34\Lib\lib2to3\tests\__pycache__\
Property(S): data = C:\Python34\Lib\lib2to3\tests\data\
Property(S): data_pycache = C:\Python34\Lib\lib2to3\tests\data\__pycache__\
Property(S): fixers = C:\Python34\Lib\lib2to3\tests\data\fixers\
Property(S): fixers_pycache = C:\Python34\Lib\lib2to3\tests\data\fixers\__pycache__\
Property(S): myfixes = C:\Python34\Lib\lib2to3\tests\data\fixers\myfixes\
Property(S): myfixes_pycache = C:\Python34\Lib\lib2to3\tests\data\fixers\myfixes\__pycache__\
Property(S): fixes = C:\Python34\Lib\lib2to3\fixes\
Property(S): fixes_pycache = C:\Python34\Lib\lib2to3\fixes\__pycache__\
Property(S): tkinter = C:\Python34\Lib\tkinter\
Property(S): tkinter_pycache = C:\Python34\Lib\tkinter\__pycache__\
Property(S): test1 = C:\Python34\Lib\tkinter\test\
Property(S): test1_pycache = C:\Python34\Lib\tkinter\test\__pycache__\
Property(S): test_tkinter = C:\Python34\Lib\tkinter\test\test_tkinter\
Property(S): test_tkinter_pycache = C:\Python34\Lib\tkinter\test\test_tkinter\__pycache__\
Property(S): test_ttk = C:\Python34\Lib\tkinter\test\test_ttk\
Property(S): test_ttk_pycache = C:\Python34\Lib\tkinter\test\test_ttk\__pycache__\
Property(S): wsgiref = C:\Python34\Lib\wsgiref\
Property(S): wsgiref_pycache = C:\Python34\Lib\wsgiref\__pycache__\
Property(S): venv = C:\Python34\Lib\venv\
Property(S): venv_pycache = C:\Python34\Lib\venv\__pycache__\
Property(S): scripts = C:\Python34\Lib\venv\scripts\
Property(S): nt = C:\Python34\Lib\venv\scripts\nt\
Property(S): posix = C:\Python34\Lib\venv\scripts\posix\
Property(S): json = C:\Python34\Lib\json\
Property(S): json_pycache = C:\Python34\Lib\json\__pycache__\
Property(S): curses = C:\Python34\Lib\curses\
Property(S): curses_pycache = C:\Python34\Lib\curses\__pycache__\
Property(S): multiprocessing = C:\Python34\Lib\multiprocessing\
Property(S): multiprocessing_pycache = C:\Python34\Lib\multiprocessing\__pycache__\
Property(S): dummy = C:\Python34\Lib\multiprocessing\dummy\
Property(S): dummy_pycache = C:\Python34\Lib\multiprocessing\dummy\__pycache__\
Property(S): ensurepip = C:\Python34\Lib\ensurepip\
Property(S): ensurepip_pycache = C:\Python34\Lib\ensurepip\__pycache__\
Property(S): _bundled = C:\Python34\Lib\ensurepip\_bundled\
Property(S): logging = C:\Python34\Lib\logging\
Property(S): logging_pycache = C:\Python34\Lib\logging\__pycache__\
Property(S): ctypes = C:\Python34\Lib\ctypes\
Property(S): ctypes_pycache = C:\Python34\Lib\ctypes\__pycache__\
Property(S): test2 = C:\Python34\Lib\ctypes\test\
Property(S): test2_pycache = C:\Python34\Lib\ctypes\test\__pycache__\
Property(S): macholib = C:\Python34\Lib\ctypes\macholib\
Property(S): macholib_pycache = C:\Python34\Lib\ctypes\macholib\__pycache__\
Property(S): test3 = C:\Python34\Lib\test\
Property(S): test3_pycache = C:\Python34\Lib\test\__pycache__\
Property(S): test_asyncio = C:\Python34\Lib\test\test_asyncio\
Property(S): test_asyncio_pycache = C:\Python34\Lib\test\test_asyncio\__pycache__\
Property(S): support = C:\Python34\Lib\test\support\
Property(S): support_pycache = C:\Python34\Lib\test\support\__pycache__\
Property(S): capath = C:\Python34\Lib\test\capath\
Property(S): encoded_modules = C:\Python34\Lib\test\encoded_modules\
Property(S): encoded_modules_pycache = C:\Python34\Lib\test\encoded_modules\__pycache__\
Property(S): imghdrdata = C:\Python34\Lib\test\imghdrdata\
Property(S): decimaltestdata = C:\Python34\Lib\test\decimaltestdata\
Property(S): sndhdrdata = C:\Python34\Lib\test\sndhdrdata\
Property(S): tracedmodules = C:\Python34\Lib\test\tracedmodules\
Property(S): tracedmodules_pycache = C:\Python34\Lib\test\tracedmodules\__pycache__\
Property(S): crashers = C:\Python34\Lib\test\crashers\
Property(S): crashers_pycache = C:\Python34\Lib\test\crashers\__pycache__\
Property(S): cjkencodings = C:\Python34\Lib\test\cjkencodings\
Property(S): leakers = C:\Python34\Lib\test\leakers\
Property(S): leakers_pycache = C:\Python34\Lib\test\leakers\__pycache__\
Property(S): subprocessdata = C:\Python34\Lib\test\subprocessdata\
Property(S): subprocessdata_pycache = C:\Python34\Lib\test\subprocessdata\__pycache__\
Property(S): test_json = C:\Python34\Lib\test\test_json\
Property(S): test_json_pycache = C:\Python34\Lib\test\test_json\__pycache__\
Property(S): xmltestdata = C:\Python34\Lib\test\xmltestdata\
Property(S): data1 = C:\Python34\Lib\test\data\
Property(S): audiodata = C:\Python34\Lib\test\audiodata\
Property(S): test_importlib = C:\Python34\Lib\test\test_importlib\
Property(S): test_importlib_pycache = C:\Python34\Lib\test\test_importlib\__pycache__\
Property(S): builtin = C:\Python34\Lib\test\test_importlib\builtin\
Property(S): builtin_pycache = C:\Python34\Lib\test\test_importlib\builtin\__pycache__\
Property(S): namespace_pkgs = C:\Python34\Lib\test\test_importlib\namespace_pkgs\
Property(S): module_and_namespace_package = C:\Python34\Lib\test\test_importlib\namespace_pkgs\module_and_namespace_package\
Property(S): module_and_namespace_package_pycache = C:\Python34\Lib\test\test_importlib\namespace_pkgs\module_and_namespace_package\__pycache__\
Property(S): a_test = C:\Python34\Lib\test\test_importlib\namespace_pkgs\module_and_namespace_package\a_test\
Property(S): project3 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project3\
Property(S): parent = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project3\parent\
Property(S): child = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project3\parent\child\
Property(S): child_pycache = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project3\parent\child\__pycache__\
Property(S): project1 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project1\
Property(S): parent1 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project1\parent\
Property(S): child1 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project1\parent\child\
Property(S): child1_pycache = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project1\parent\child\__pycache__\
Property(S): project2 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project2\
Property(S): parent2 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project2\parent\
Property(S): child2 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project2\parent\child\
Property(S): child2_pycache = C:\Python34\Lib\test\test_importlib\namespace_pkgs\project2\parent\child\__pycache__\
Property(S): both_portions = C:\Python34\Lib\test\test_importlib\namespace_pkgs\both_portions\
Property(S): foo = C:\Python34\Lib\test\test_importlib\namespace_pkgs\both_portions\foo\
Property(S): foo_pycache = C:\Python34\Lib\test\test_importlib\namespace_pkgs\both_portions\foo\__pycache__\
Property(S): not_a_namespace_pkg = C:\Python34\Lib\test\test_importlib\namespace_pkgs\not_a_namespace_pkg\
Property(S): foo1 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\not_a_namespace_pkg\foo\
Property(S): foo1_pycache = C:\Python34\Lib\test\test_importlib\namespace_pkgs\not_a_namespace_pkg\foo\__pycache__\
Property(S): portion1 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\portion1\
Property(S): foo2 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\portion1\foo\
Property(S): foo2_pycache = C:\Python34\Lib\test\test_importlib\namespace_pkgs\portion1\foo\__pycache__\
Property(S): portion2 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\portion2\
Property(S): foo3 = C:\Python34\Lib\test\test_importlib\namespace_pkgs\portion2\foo\
Property(S): foo3_pycache = C:\Python34\Lib\test\test_importlib\namespace_pkgs\portion2\foo\__pycache__\
Property(S): frozen = C:\Python34\Lib\test\test_importlib\frozen\
Property(S): frozen_pycache = C:\Python34\Lib\test\test_importlib\frozen\__pycache__\
Property(S): source = C:\Python34\Lib\test\test_importlib\source\
Property(S): source_pycache = C:\Python34\Lib\test\test_importlib\source\__pycache__\
Property(S): extension = C:\Python34\Lib\test\test_importlib\extension\
Property(S): extension_pycache = C:\Python34\Lib\test\test_importlib\extension\__pycache__\
Property(S): import_ = C:\Python34\Lib\test\test_importlib\import_\
Property(S): import__pycache = C:\Python34\Lib\test\test_importlib\import_\__pycache__\
Property(S): test_email = C:\Python34\Lib\test\test_email\
Property(S): test_email_pycache = C:\Python34\Lib\test\test_email\__pycache__\
Property(S): data2 = C:\Python34\Lib\test\test_email\data\
Property(S): turtledemo = C:\Python34\Lib\turtledemo\
Property(S): turtledemo_pycache = C:\Python34\Lib\turtledemo\__pycache__\
Property(S): xml = C:\Python34\Lib\xml\
Property(S): xml_pycache = C:\Python34\Lib\xml\__pycache__\
Property(S): dom = C:\Python34\Lib\xml\dom\
Property(S): dom_pycache = C:\Python34\Lib\xml\dom\__pycache__\
Property(S): etree = C:\Python34\Lib\xml\etree\
Property(S): etree_pycache = C:\Python34\Lib\xml\etree\__pycache__\
Property(S): parsers = C:\Python34\Lib\xml\parsers\
Property(S): parsers_pycache = C:\Python34\Lib\xml\parsers\__pycache__\
Property(S): sax = C:\Python34\Lib\xml\sax\
Property(S): sax_pycache = C:\Python34\Lib\xml\sax\__pycache__\
Property(S): email = C:\Python34\Lib\email\
Property(S): email_pycache = C:\Python34\Lib\email\__pycache__\
Property(S): mime = C:\Python34\Lib\email\mime\
Property(S): mime_pycache = C:\Python34\Lib\email\mime\__pycache__\
Property(S): urllib = C:\Python34\Lib\urllib\
Property(S): urllib_pycache = C:\Python34\Lib\urllib\__pycache__\
Property(S): encodings = C:\Python34\Lib\encodings\
Property(S): encodings_pycache = C:\Python34\Lib\encodings\__pycache__\
Property(S): pydoc_data = C:\Python34\Lib\pydoc_data\
Property(S): pydoc_data_pycache = C:\Python34\Lib\pydoc_data\__pycache__\
Property(S): msilib = C:\Python34\Lib\msilib\
Property(S): msilib_pycache = C:\Python34\Lib\msilib\__pycache__\
Property(S): xmlrpc = C:\Python34\Lib\xmlrpc\
Property(S): xmlrpc_pycache = C:\Python34\Lib\xmlrpc\__pycache__\
Property(S): unittest = C:\Python34\Lib\unittest\
Property(S): unittest_pycache = C:\Python34\Lib\unittest\__pycache__\
Property(S): test4 = C:\Python34\Lib\unittest\test\
Property(S): test4_pycache = C:\Python34\Lib\unittest\test\__pycache__\
Property(S): testmock = C:\Python34\Lib\unittest\test\testmock\
Property(S): testmock_pycache = C:\Python34\Lib\unittest\test\testmock\__pycache__\
Property(S): collections = C:\Python34\Lib\collections\
Property(S): collections_pycache = C:\Python34\Lib\collections\__pycache__\
Property(S): importlib = C:\Python34\Lib\importlib\
Property(S): importlib_pycache = C:\Python34\Lib\importlib\__pycache__\
Property(S): distutils = C:\Python34\Lib\distutils\
Property(S): distutils_pycache = C:\Python34\Lib\distutils\__pycache__\
Property(S): command = C:\Python34\Lib\distutils\command\
Property(S): command_pycache = C:\Python34\Lib\distutils\command\__pycache__\
Property(S): tests1 = C:\Python34\Lib\distutils\tests\
Property(S): tests1_pycache = C:\Python34\Lib\distutils\tests\__pycache__\
Property(S): dbm = C:\Python34\Lib\dbm\
Property(S): dbm_pycache = C:\Python34\Lib\dbm\__pycache__\
Property(S): include = C:\Python34\include\
Property(S): libs = C:\Python34\libs\
Property(S): tcl = C:\Python34\tcl\
Property(S): tk8.6 = C:\Python34\tcl\tk8.6\
Property(S): ttk = C:\Python34\tcl\tk8.6\ttk\
Property(S): msgs = C:\Python34\tcl\tk8.6\msgs\
Property(S): images = C:\Python34\tcl\tk8.6\images\
Property(S): demos = C:\Python34\tcl\tk8.6\demos\
Property(S): images1 = C:\Python34\tcl\tk8.6\demos\images\
Property(S): tix8.4.3 = C:\Python34\tcl\tix8.4.3\
Property(S): pref = C:\Python34\tcl\tix8.4.3\pref\
Property(S): demos1 = C:\Python34\tcl\tix8.4.3\demos\
Property(S): samples = C:\Python34\tcl\tix8.4.3\demos\samples\
Property(S): bitmaps = C:\Python34\tcl\tix8.4.3\demos\bitmaps\
Property(S): bitmaps1 = C:\Python34\tcl\tix8.4.3\bitmaps\
Property(S): thread2.7.0 = C:\Python34\tcl\thread2.7.0\
Property(S): tdbcsqlite1.0.0 = C:\Python34\tcl\tdbcsqlite1.0.0\
Property(S): tdbcpostgres1.0.0 = C:\Python34\tcl\tdbcpostgres1.0.0\
Property(S): tdbcodbc1.0.0 = C:\Python34\tcl\tdbcodbc1.0.0\
Property(S): tdbcmysql1.0.0 = C:\Python34\tcl\tdbcmysql1.0.0\
Property(S): tdbc1.0.0 = C:\Python34\tcl\tdbc1.0.0\
Property(S): tcl8.6 = C:\Python34\tcl\tcl8.6\
Property(S): tzdata = C:\Python34\tcl\tcl8.6\tzdata\
Property(S): US = C:\Python34\tcl\tcl8.6\tzdata\US\
Property(S): Pacific = C:\Python34\tcl\tcl8.6\tzdata\Pacific\
Property(S): SystemV = C:\Python34\tcl\tcl8.6\tzdata\SystemV\
Property(S): Mexico = C:\Python34\tcl\tcl8.6\tzdata\Mexico\
Property(S): Indian = C:\Python34\tcl\tcl8.6\tzdata\Indian\
Property(S): Europe = C:\Python34\tcl\tcl8.6\tzdata\Europe\
Property(S): Etc = C:\Python34\tcl\tcl8.6\tzdata\Etc\
Property(S): Chile = C:\Python34\tcl\tcl8.6\tzdata\Chile\
Property(S): Canada = C:\Python34\tcl\tcl8.6\tzdata\Canada\
Property(S): Atlantic = C:\Python34\tcl\tcl8.6\tzdata\Atlantic\
Property(S): Brazil = C:\Python34\tcl\tcl8.6\tzdata\Brazil\
Property(S): Australia = C:\Python34\tcl\tcl8.6\tzdata\Australia\
Property(S): Asia = C:\Python34\tcl\tcl8.6\tzdata\Asia\
Property(S): Arctic = C:\Python34\tcl\tcl8.6\tzdata\Arctic\
Property(S): Antarctica = C:\Python34\tcl\tcl8.6\tzdata\Antarctica\
Property(S): America = C:\Python34\tcl\tcl8.6\tzdata\America\
Property(S): North_Dakota = C:\Python34\tcl\tcl8.6\tzdata\America\North_Dakota\
Property(S): Kentucky = C:\Python34\tcl\tcl8.6\tzdata\America\Kentucky\
Property(S): Indiana = C:\Python34\tcl\tcl8.6\tzdata\America\Indiana\
Property(S): Argentina = C:\Python34\tcl\tcl8.6\tzdata\America\Argentina\
Property(S): Africa = C:\Python34\tcl\tcl8.6\tzdata\Africa\
Property(S): opt0.4 = C:\Python34\tcl\tcl8.6\opt0.4\
Property(S): msgs1 = C:\Python34\tcl\tcl8.6\msgs\
Property(S): http1.0 = C:\Python34\tcl\tcl8.6\http1.0\
Property(S): encoding = C:\Python34\tcl\tcl8.6\encoding\
Property(S): tcl8 = C:\Python34\tcl\tcl8\
Property(S): _8.6 = C:\Python34\tcl\tcl8\8.6\
Property(S): tdbc = C:\Python34\tcl\tcl8\8.6\tdbc\
Property(S): _8.5 = C:\Python34\tcl\tcl8\8.5\
Property(S): _8.4 = C:\Python34\tcl\tcl8\8.4\
Property(S): platform = C:\Python34\tcl\tcl8\8.4\platform\
Property(S): _8.3 = C:\Python34\tcl\tcl8\8.3\
Property(S): _8.2 = C:\Python34\tcl\tcl8\8.2\
Property(S): sqlite33.8.0 = C:\Python34\tcl\sqlite33.8.0\
Property(S): reg1.3 = C:\Python34\tcl\reg1.3\
Property(S): itcl4.0.0 = C:\Python34\tcl\itcl4.0.0\
Property(S): dde1.4 = C:\Python34\tcl\dde1.4\
Property(S): i18n = C:\Python34\Tools\i18n\
Property(S): i18n_pycache = C:\Python34\Tools\i18n\__pycache__\
Property(S): pynche = C:\Python34\Tools\pynche\
Property(S): pynche_pycache = C:\Python34\Tools\pynche\__pycache__\
Property(S): Scripts = C:\Python34\Tools\Scripts\
Property(S): Scripts_pycache = C:\Python34\Tools\Scripts\__pycache__\
Property(S): Doc = C:\Python34\Doc\
Property(S): ProgramMenuFolder = C:\ProgramData\Microsoft\Windows\Start Menu\Programs\
Property(S): MenuDir = C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Python 3.4\
Property(S): SecureCustomProperties = REMOVEOLDSNAPSHOT;REMOVEOLDVERSION;TARGETDIR;DLLDIR;LAUNCHERDIR
Property(S): WindowsFolder_x86_VC.AFA96EB4_FA9F_335C_A7CB_36079407553D = C:\Windows\
Property(S): SystemFolder_x86_VC.AFA96EB4_FA9F_335C_A7CB_36079407553D = C:\Windows\SysWOW64\
Property(S): DirectoryTable100_x86.AFA96EB4_FA9F_335C_A7CB_36079407553D = DirectoryTable
Property(S): MsiLogFileLocation = C:\Users\Jesse\Downloads\log.txt
Property(S): PackageCode = {32A3290B-8A39-4C7C-83A9-90DFDF2A7FAD}
Property(S): ProductState = -1
Property(S): ALLUSERS = 1
Property(S): PackagecodeChanging = 1
Property(S): RestrictedUserControl = 1
Property(S): CURRENTDIRECTORY = C:\Users\Jesse\Downloads
Property(S): CLIENTUILEVEL = 0
Property(S): CLIENTPROCESSID = 5572
Property(S): ACTION = INSTALL
Property(S): EXECUTEACTION = INSTALL
Property(S): INSTALLLEVEL = 1
Property(S): SECONDSEQUENCE = 1
Property(S): ADDLOCAL = DefaultFeature,SharedCRT,Extensions,TclTk,Documentation,Tools,pip_feature,Testsuite,PrependPath
Property(S): VersionDatabase = 200
Property(S): VersionMsi = 5.00
Property(S): VersionNT64 = 602
Property(S): WindowsBuild = 9200
Property(S): ServicePackLevel = 0
Property(S): ServicePackLevelMinor = 0
Property(S): MsiNTProductType = 1
Property(S): MsiNTSuitePersonal = 1
Property(S): WindowsFolder = C:\Windows\
Property(S): WindowsVolume = C:\
Property(S): System64Folder = C:\Windows\system32\
Property(S): SystemFolder = C:\Windows\SysWOW64\
Property(S): RemoteAdminTS = 1
Property(S): TempFolder = C:\Users\Jesse\AppData\Local\Temp\
Property(S): ProgramFilesFolder = C:\Program Files (x86)\
Property(S): CommonFilesFolder = C:\Program Files (x86)\Common Files\
Property(S): ProgramFiles64Folder = C:\Program Files\
Property(S): CommonFiles64Folder = C:\Program Files\Common Files\
Property(S): AppDataFolder = C:\Users\Jesse\AppData\Roaming\
Property(S): FavoritesFolder = C:\Users\Jesse\Favorites\
Property(S): NetHoodFolder = C:\Users\Jesse\AppData\Roaming\Microsoft\Windows\Network Shortcuts\
Property(S): PersonalFolder = C:\Users\Jesse\Documents\
Property(S): PrintHoodFolder = C:\Users\Jesse\AppData\Roaming\Microsoft\Windows\Printer Shortcuts\
Property(S): RecentFolder = C:\Users\Jesse\AppData\Roaming\Microsoft\Windows\Recent\
Property(S): SendToFolder = C:\Users\Jesse\AppData\Roaming\Microsoft\Windows\SendTo\
Property(S): TemplateFolder = C:\ProgramData\Microsoft\Windows\Templates\
Property(S): CommonAppDataFolder = C:\ProgramData\
Property(S): LocalAppDataFolder = C:\Users\Jesse\AppData\Local\
Property(S): MyPicturesFolder = C:\Users\Jesse\Pictures\
Property(S): AdminToolsFolder = C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\
Property(S): StartupFolder = C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\
Property(S): StartMenuFolder = C:\ProgramData\Microsoft\Windows\Start Menu\
Property(S): DesktopFolder = C:\Users\Public\Desktop\
Property(S): FontsFolder = C:\Windows\Fonts\
Property(S): GPTSupport = 1
Property(S): OLEAdvtSupport = 1
Property(S): ShellAdvtSupport = 1
Property(S): MsiAMD64 = 6
Property(S): Msix64 = 6
Property(S): Intel = 6
Property(S): PhysicalMemory = 4043
Property(S): VirtualMemory = 5839
Property(S): LogonUser = Jesse
Property(S): UserSID = S-1-5-21-1182483876-2045043420-405903354-1001
Property(S): UserLanguageID = 1033
Property(S): ComputerName = MINICHROME
Property(S): SystemLanguageID = 1033
Property(S): ScreenX = 1024
Property(S): ScreenY = 768
Property(S): CaptionHeight = 23
Property(S): BorderTop = 1
Property(S): BorderSide = 1
Property(S): TextHeight = 16
Property(S): TextInternalLeading = 3
Property(S): ColorBits = 32
Property(S): TTCSupport = 1
Property(S): Time = 12:14:36
Property(S): Date = 6/19/2014
Property(S): MsiNetAssemblySupport = 4.0.30319.17929
Property(S): MsiWin32AssemblySupport = 6.2.9200.16384
Property(S): RedirectedDllSupport = 2
Property(S): MsiRunningElevated = 1
Property(S): Privileged = 1
Property(S): USERNAME = Jesse
Property(S): DATABASE = C:\Windows\Installer\522b8.msi
Property(S): OriginalDatabase = C:\Users\Jesse\Downloads\python-3.4.1.msi
Property(S): UILevel = 5
Property(S): Preselected = 1
Property(S): ROOTDRIVE = C:\
Property(S): CostingComplete = 1
Property(S): OutOfDiskSpace = 0
Property(S): OutOfNoRbDiskSpace = 0
Property(S): PrimaryVolumeSpaceAvailable = 0
Property(S): PrimaryVolumeSpaceRequired = 0
Property(S): PrimaryVolumeSpaceRemaining = 0
Property(S): SOURCEDIR = C:\Users\Jesse\Downloads\
Property(S): SourcedirProduct = {DF32BB9E-3ED8-36B5-A649-E8C845C5F3A2}
Property(S): ProductToBeRegistered = 1
MSI (s) (60:80) [12:14:36:539]: MainEngineThread is returning 1603
MSI (s) (60:64) [12:14:36:539]: RESTART MANAGER: Session closed.
MSI (s) (60:64) [12:14:36:539]: No System Restore sequence number for this installation.
MSI (s) (60:64) [12:14:36:554]: User policy value 'DisableRollback' is 0
MSI (s) (60:64) [12:14:36:554]: Machine policy value 'DisableRollback' is 0
MSI (s) (60:64) [12:14:36:554]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (60:64) [12:14:36:554]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 
MSI (s) (60:64) [12:14:36:554]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 
MSI (s) (60:64) [12:14:36:554]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
MSI (s) (60:64) [12:14:36:554]: Destroying RemoteAPI object.
MSI (s) (60:F0) [12:14:36:554]: Custom Action Manager thread ending.
MSI (c) (C4:E8) [12:14:36:554]: Back from server. Return value: 1603
MSI (c) (C4:E8) [12:14:36:554]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
MSI (c) (C4:E8) [12:14:36:554]: PROPERTY CHANGE: Deleting SECONDSEQUENCE property. Its current value is '1'.
Action ended 12:14:36: ExecuteAction. Return value 3.
MSI (c) (C4:E8) [12:14:36:554]: Doing action: FatalError
Action 12:14:36: FatalError. 
Action start 12:14:36: FatalError.
Action 12:14:36: FatalError. Dialog created
Action ended 12:14:37: FatalError. Return value 2.
  • 4
    First thing to try is creating an installer log file: msiexec /i installer.msi /l*v log.txt – Bob Jun 19 '14 at 16:02
  • Did you check the md5 of the installer ? As you can see here, you should get : "2BK7D-EP51I-EL75P-AP71M". – Wagner_SOFC Jun 19 '14 at 18:35
  • just checked, it's a match – avorum Jun 19 '14 at 18:40
  • I think the portion of the log before the error is more relevant. After the error is just cleanup (rollbacks, etc.). – Bob Jun 20 '14 at 1:45
  • Maybe post the whole log to gist.github.com? You can also see here for related advice, if a little dated. Also, please ping me in a comment if you want me to get a notification to check again. – Bob Jun 21 '14 at 4:36

Since this problem comes from that pip comes with python 3.4 installer, you can simply uncheck the pip install option in the installer and try to install pip manually later.

  • This is what worked for me (Windows 7, 32 bit). I first tried to give the "Everyone" user full access to my temp folder, but it didn't work. I undid those permissions, unchecked "pip" in the installer, and it worked. – aliteralmind Jul 22 '14 at 13:55
  • Just Uncheck "PIP" in the installer. It worked for me as well. – Fabien Oct 27 '14 at 18:31
  • This plus removing references to PYTHONHOME and Python in the PATH . I installed PIP separately later. – MatthewMartin Dec 22 '14 at 23:01

I ran into the same or at least similar error, but I couldn't find a solution. I had just uninstalled Python 3.4.1 and was trying to install Python 3.4.2.

I tracked down three different issues in my environment, but #3 is what really fixed my issue. The first two items didn't make much difference for my situation, I just included them as additional options/ideas for others (particularly when installing a second Python version, etc.).

  1. Left-over environment variables. I had environment variables from the 3.4.1 installation set. When installing multiple versions, this can cause an error during installation. You may need to remove these environment variables.

    enter image description here

  2. System PATH. Python was still in the system PATH. Again, when installing multiple versions, this can cause an error during installation. You may need to remove these entries from your PATH.

    enter image description here

  3. The actual problem: Custom open/command in the Registry. I have this registry entry here, (plus adding .PY to the PATHEXT envar), so I can run Python programs using only app.py, instead of having to type in PYTHON app.py.

    enter image description here

The problem was that the new version of Python was getting partially installed and then it was trying to run some Python commands during the installation. Because of my custom registration, it was trying to run the Python code using the old path to python.exe, which was of course uninstalled. So, it would fail every time.

So, removing the custom open/command allowed the installation to succeed. I added it back in, once the installation was completed.

A couple things to note. I wouldn't have had the problem if I wasn't changing the installation location. And, I could have just updated the open/command entry to point to the new location instead of removing it and re-adding it afterwards.

Hooray, Finally after lats of investigation I find the solution, Go to the system path and remove any path address which point to python27 or any other version and run the msi installer.

I don't have a concrete answer here, but here's a few rather generic MSI debugging steps that can narrow down the issue:

First, we need to generate a log of the installation. The command msiexec /i installer.msi /l*v log.txt can do that.

Once you have the log, it's the first thing you can do is search for Error or FatalError (as you did do). Note that this occurs in the log after the rollback actions, so you'll need to scroll back up past many pages of FileRemove, ComponentUnregister, etc.. In fact, you might find searching for InstallFinalize and looking directly above that to be more useful (ignore the first occurrence near the top).

Here are the interesting lines from your error log:

MSI (s) (60:80) [12:14:22:868]: Executing op: ActionStart(Name=UpdatePip,,)
Action 12:14:22: UpdatePip. 
MSI (s) (60:80) [12:14:22:868]: Executing op: CustomActionSchedule(Action=UpdatePip,ActionType=3090,Source=C:\Python34\python.exe,Target=-m ensurepip -U --default-pip,)
CustomAction UpdatePip returned actual error code 3 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (60:80) [12:14:23:212]: Note: 1: 1722 2: UpdatePip 3: C:\Python34\python.exe 4: -m ensurepip -U --default-pip 
MSI (s) (60:80) [12:14:23:212]: Note: 1: 2262 2: Error 3: -2147287038 
Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action UpdatePip, location: C:\Python34\python.exe, command: -m ensurepip -U --default-pip 
MSI (s) (60:80) [12:14:25:627]: Note: 1: 2262 2: Error 3: -2147287038 
MSI (s) (60:80) [12:14:25:627]: Product: Python 3.4.1 -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action UpdatePip, location: C:\Python34\python.exe, command: -m ensurepip -U --default-pip 

This is an interesting error, and I am not entirely sure why python -m ensurepip -U --default-pip would be failing. I would suggest perhaps trying to grab a portable copy or compiling from source and then running the command manually, to see if you can get more information. Failing that, you might try contacting the maintainers via IRC, a mailing list or some other method.

And, of course, if you do figure out why please post a self-answer here to help others!

For me, this problem came down to the Python installer finding the wrong version of hashlib on my system, which in turn broke the 'ensurepip' step in the installation, which unfortunately fails to report a useful error. Generating the msiexec log helped me track down that error.

It seems the installer should be more careful to use its own hashlib.

This bug is related, and this page is what helped me figure out that it was an extraneous hashlib (although my problem was on Windows).

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.