Main Pages
Win32 Extensions
Microsoft .NET
Windows CE
Python Home
Official Windows Home
Python documentation
Starship Windows Links
Roger Burnham
Gordon McMillan/Win32 Installer
Ken Seehof
Bill Wilkinson/MSAccess and Python
Other Links
Python and ADO
Paul Boddie's Python COM tutorial
Chris Phoenix's Pythonwin tutorial
win32com script collection
Email me


Older versions

Note that all recent versions are managed at SourceForge - this includes the release notes for each package, and the downloads. Please visit the sourceforge download area for this project for all recent versions.

This page is an archive of the change-logs and versions for old win32all-1xx builds.

win32all 163 (for Python 2.3)
win32all 162 (for Python 2.2)

Changes since last version
  • Fix win32com.client.util error in 160/161, and a subtle SAFEARRAY bug also introduced in 160/161
  • New COM Storage related functions (thanks to Roger Upole).
  • Raw COM interface objects have much better iterator support (the support in the Dispatch objects is the same as 160/161)
  • Even more unittest tests added.
  • Obscure COM reference leak fixed.
Download win32all-162.exe for Python 2.2 (4,207,766 bytes)
Download win32all-163.exe for Python 2.3 (4,200,485 bytes)

win32all 161 (for Python 2.3)
win32all 160 (for Python 2.2)

Known bugs/issues
  • COM code that uses iterators may fail with an AttributeError: 'module' object has no attribute 'util' exception.  As a work around, add import win32com.client.util to the top of your program.  This will be fixed in a subsequent build.
  • If you have performed a non-Administrator installation, many win32 modules will fail to import.  Adding import pywintypes to the top of your program should solve this (but I am not sure how to solve it generally, so can't promise it will be fixed in the next release)
Changes since last version
  • grows many more interfaces, allowing Python to operate as a nearly complete shell extension, and to interact with the shell interfaces.  See the win32comext\shell\demos\server directory for examples.
  • non-admin installs of win32all should work better.
  • Services have been rearchitectured, primarily to allow "freeze" type programs, such as py2exe, to simply create services.  No special .EXE is required for services (although PythonService.exe does still exist and is still used, but python.exe could be used if desired)
  • Much better support for COM enumerators and iterators, taking advantage of Python's __iter__ features.
  • Much better test suite coverage
  • New Lsa security, File Version and Registry functions from Roger Upole
  • Lots of new menu and other functions added to win32gui
  • Few Windows XP specific errors fixed.
  • win32com.gen_py files can now be in a .zip file.
  • Many other minor bugs and enhancements.
Download win32all-160.exe for Python 2.2 (4,196,539 bytes)
Download win32all-161.exe for Python 2.3 (4,188,835 bytes)

win32all 159 (for Python 2.3)
win32all 158 (for Python 2.2)

  • Couple of RTF related mapi functions
  • win32com gencache files are now by default under the %temp% directory (as needing to write to your "program files" directory is nasty)
  • Fix thread-state bug that showed itself in win32gui
  • New security functions from Roger Upole
  • Other minor bugs
  • pywintypes.lib and pythoncom.lib are now installed

Note that these versions have a minor installation bug.  By default, your win32com temp files will be generated in your %TEMP% directory rather than in the "win32com\gen_py" directory.  If this is a problem, you should create the "win32com\gen_py" directory manually, and it will automatically be used.  Future versions of the installer will create this empty directory for you, meaning the old behaviour is the default - the instructions will then be to remove this directory if you actually want these files created in a temporary location.  Note that most people really won't care (but if you routinely clean out your temp directory while Python programs are running, you might!)

Download win32all-159.exe for Python 2.3 (4,090,812 bytes)
Download win32all-158.exe for Python 2.2 (4,097,057 bytes)

win32all 157 (for Python 2.3)
win32all 156 (for Python 2.2)

  • Fixed memory leaks in the timer module
  • makepy had bugs when EnsureModule was used to extract vtables
  • Few new MAPI methods
  • Hopefully non-admin installs will work even better!
Download win32all-157.exe for Python 2.3 (4,043,802 bytes)
Download win32all-156.exe for Python 2.2 (4,050,880 bytes)

win32all 155 (for Python 2.3)
win32all 154 (for Python 2.2)

  • Fixed a problem where certain machines would crash when loading pythoncom.dll
  • pythoncom.MkParseDisplayName() bug fixed, which prevented WMI from working.
  • Non-administrator installs should work much better
  • Numberous other bug fixes and enhancements.
Download win32all-155.exe for Python 2.3 (4,041,403 bytes)
Download win32all-154.exe for Python 2.2 (4,048,328 bytes)

win32all 153 (for Python 2.3)

  • Mainly bug-fixes and a few new functions (GetDiskFreeSpaceEx, ReadDirectoryChangesW, etc)
Download win32all-153.exe for Python 2.3 (3,975,637 bytes)

win32all 151 (for Python 2.1)
win32all 152 (for Python 2.2)

  • Gerson Kerz fixed the Pythonwin debugger problems where it would start stepping in the debugger code rather than yours.
  • Lots of universal work - Alex Martelli helped out alot with getting this working well.
  • Few more memory leaks fixed.

Download win32all-151.exe for Python 2.1 (3,968,467 bytes)
Download win32all-152.exe for Python 2.2 (3,971,152 bytes)

win32all 149 (for Python 2.1)
win32all 150 (for Python 2.2)

  • New functions include WaitForInputIdle, WSAAsyncSelect, GetFileInformationByHandle. New demos and bug fixes
  • COM Universal module has been enhanced. win32com\demos now includes a sample Outlook Plugin
  • COM objects are now more likely to print unexpected exceptions, even when not registered with "--debug".
  • Named, optional parameters are now likely to work with COM objects.
  • COM Events now work with "for demand" makepy generation.

Download win32all-149.exe for Python 2.1 (3,962,669 bytes)
Download win32all-150.exe for Python 2.2 (3,965,066 bytes)

win32all 147 (for Python 2.1)
win32all 148 (for Python 2.2)

  • ASP refresh bug fixed, and ASP should be faster when redisplaying the same page (the code is no longer sent each page, but reused across sessions)
  • Number of new methods in win32process and win32file.
  • New technique for informing win32com objects that a certain name is a method rather than a property. This is useful for using poorly implemented COM objects that fail when using certain methods.
  • Pythonwin interactive window finally word-wraps.
  • Number of other bug fixes.

Download win32all-148.exefor Python 2.2 (3,963,480 bytes)
Download win32all-147.exe for Python 2.1 (3,961,316 bytes)

win32all 146 (for Python 2.2)
win32all 145 (for Python 2.1)
win32all 144 (for Python 2.0)
win32all 143 (for Python 1.5.2)

Download win32all-146.exefor Python 2.2 (3,599,369 bytes)
Download win32all-145.exe for Python 2.1 (3,596,565 bytes)
Download win32all-144.exe for Python 2.0 (3,596,248 bytes)
Download win32all-143.exe for Python 1.5.2 (3,598,845 bytes)

win32all 142 (for Python 2.2)

Lots of minor bug fixes.

Download win32all-142.exe(3,577,235 bytes)

win32all 140 (for Python 2.1)

  • Pythonwin should no longer crash with large lines (but it may still mess up the display of these lines)
  • Bug fixed in makepy for certain "dual" interface objects, and gracefully handle some objects that don't follow the rules. Notably, Lotus Notes
  • Remove warnings in ActiveX Scripting regarding regsub module, and an unhandled exception in __del__
  • New file and session related methods in win32net module
  • Fix overflow errors when using methods that use 64 bit integers, as well as in some security related functions
  • win32clipboard handles bitmap formats correctly
  • added win32file.GetDiskFreeSpaceEx() to correctly handle large drives
  • Fix thread-state errors in some win32gui and win32ui methods, and add win32gui.SendMessageTimeout()
  • Add new methods to win32print
  • Other minor bug and documentation fixes

This version can be downloaded from win32all-140.exe (3,569,262 bytes)

win32all 139 (for Python 2.1)

  • Fix crash in new COM Universal Gateway in some circumstances.
  • win32gui.EnumChildWindows() and one or 2 other minor tweaks.

This version can be downloaded from win32all-139.exe (3,541,488 bytes)

win32all 138 (for Python 2.0)

  • win32com can now implement arbitary interfaces described in type libraries. Note that this support is still considered experimental.
  • A number of new minor methods to various modules.

This version can be downloaded from win32all-138.exe (3,537,979 bytes)

win32all 136 (for Python 1.5.2)

A trivial change for when a COM object uses a Python reserved word, otherwise it is identical to win32all-135 for Python 2.0.

This version can be downloaded from win32all-136.exe (3,517,834 bytes)

win32all 135 (for Python 2.0)

  • Compatibility with the latest Python release.
  • The bug that prevented some COM events from being delivered to Python code has been fixed.
  • Bugs in the "demand generation" makepy code, and in support for "unregistered type libraries" have been fixed.
  • A couple of remaining implicit Unicode to string conversions have been removed.
  • Pythonwin's interactive window should now correctly display all characters in your current code page. This will be particularly noticable for non-English versions of Windows. Extended characters in the source file are still not handled correctly, but if I get enough reports that the interactive window is now functioning correctly, I will add the same support to file load and save.
  • New win2kras module with support for some Windows 2000 specific RAS extensions.

This version can be downloaded from win32all-135.exe (3,516,547 bytes)

win32all 132 (for Python 1.5.2)

  • A number of changes/enhancements to Scintilla, and a stabilization of the debugger and other Pythonwin features.
  • A number of COM fixes have been made (mainly in obscure situations).
  • Full support for COM User Defined Types (Records/Structs)
  • ByRef arrays can now be re-filled in a manner compatible with VB - thus, you can now change VB arrays passed as byref params.
  • Preliminary ADSI support has been added.

This version can be downloaded from win32all-132.exe (3,491,411 bytes)

Should you have any problems installing these packages, please refer to the Installation Problems Guide.

Tip: When you install the package, be sure to open the Pythonwin Reference Help file and select Overviews->Keyboard Bindings to see some of the new Pythonwin UI features.

Another Tip: The standard Python module has been updated since Python 1.5.2. This new version will allow the PythonPath and Module browsers to also show all functions defined in the module. If you do not update this module everything will still work, but you will not have access to the top level functions in these browsers. You can download a new version here.

win32all 129

Please make sure you also install the win32all-129-update patch set after installing this version. win32all-129-update contains some bug-fixes to the original 129 package.

See the recent changes for the changes in this build.

This version can be downloaded from win32all-129.exe (3,415,521 bytes)

Also download and install the patch set for build 129 - win32all-129-update.exe(663,799 bytes)

win32all 128 (for Python 1.5.2)

This includes the win32 API extensions, Python COM support, and Pythonwin (including the Pythonwin debugger). For general information on this, please see

See the recent changes for the changes in this build.

This version can be downloaded from win32all-128.exe (3 359 321 bytes)

Known Bugs in this build

  • The released version has a bug when using Overlapped (ie, asynchronous) IO via the win32file module.
  • Some Pythonwin configuration options (such as "Interactive Window Dockable") will not take effect until you restart Pythonwin. Others (such as font and color preferences) will happen immediately. If an option seems to have no effect, restart Pythonwin and it then will.

win32all-127.exe (3 281 559 bytes)

Note that Build 126 never saw the light of day beyond registered users (due to bugs, not due to a restrictive release policy)

Most visible change is a new-look Pythonwin which includes a far-far improved debugger, dockable interactive window and PythonPath browser, class browser for each editor window, integration with many IDLE features (such as much smarter auto-indent, CallTips, auto-complete, command-history in the interactive window, etc), auto-completion for attributes, customizable keyboard bindings. Check out a preview of the new user interface.

win32all-125.exe (3 023 760 bytes)

The previous stable version of the extensions. You should only install this version if Build 127 does not work for you.

Suitable for Python 1.5.2. This includes the win32 API extensions, Python COM support, and Pythonwin (including the Pythonwin debugger). For general information on this, please see

Most visible change in build 124 and later is a new, fast, highly-cool color editor for Pythonwin, using the new Scintilla control by Neil Hodgson. I have also integrated the win32dbg debugger package, and this makes full use of Scintilla's features. There are quite a number of new features, and use of COM has been greatly enhanced when not using makepy. See the recent changes for more information.

NOTE: If you already have the win32dbg package installed, this version will offer to uninstall it for you. However, this process will not remove the win32dbg directory or the .pyc files in it. You should manually remove this old win32dbg directory after installation.

Recent Changes

Changes since 134 (see also changes since 133)

  • The bug that prevented some COM events from being delivered to Python code has been fixed.
  • Bugs in the "demand generation" makepy code, and in support for "unregistered type libraries" have been fixed.
  • A couple of remaining implicit Unicode to string conversions have been removed.
  • Pythonwin's interactive window should now correctly display all characters in your current code page. This will be particularly noticable for non-English versions of Windows. Extended characters in the source file are still not handled correctly, but if I get enough reports that the interactive window is now functioning correctly, I will add the same support to file load and save.
  • New win2kras module with support for some Windows 2000 specific RAS extensions.

Changes since 133 (see also changes since 130)

  • Added support for Scintilla's "Indentation Guides".
  • Improved documentation for the win32wnet module.
  • Pythonwin's interactive window formatter bugs have been fixed.
  • Pythonwin now prints output as soon as it is generated, rather than waiting until the command has completed (which used to make Pythonwin look like it had hung)

Changes since 130 (see also changes since 128)

  • The version of Pythonwin in this build has some significant new features, mainly thanks to a new Scintilla. Source-code folding is very cool, and each editor window now has a horizontal splitter for a second view of the file!
  • A number of debugger bugs have been fixed.
  • Pythonwin/Scintilla on Windows NT has some level of Unicode support, but I wont pretend to know exactly how to use it. If you intend playing with this stuff, you should ensure you set the interactive window fonts to something with Unicode characters, such as Tohoma (see the scintilla futures page for more information - note that this build (on NT only) already has the suggested change noted on that page.)

Changes since 128 (see also changes since 127)

  • Pythonwin has been updated for new versions of Scintilla. This includes multiple views (the document windows are now 3-way splitters) and source-code folding. Please see the Pythonwin Help file (in the Overviews section) for information on folding. Background colours can be set for styles (allowing for better brace-matching and unterminated-string styles), and the Editor configuration dialogs have been split and upgraded. The font settings for the interactive window are no longer ignored!
  • The Pythonwin help system can now handle compiled HTML help files.
  • COM has basic support for huge type-libraries, and also User Defined Types (ie, structures declared in type libraries). This is a fairly obscure feature, but means we can almost fully consume anything VB or COM can throw at us. makepy generated methods should also be significantly faster, as makepy has become smarter about what type checks need to be made at runtime.

Changes since 127 (see also changes since 125)

  • Pythonwin has a new scintilla, with a number of fixes and features. Eg, brace/paren highlighting, auto-complete and call-tip sizing and positioning is smarter, module browser no longer crashes, etc. Debugger works correctly from a non-pythonwin app etc.
  • Quite a bit more documentation courtesy of John Nielson - this documentation can be found in the "overviews" section of the help files.
  • COM now supports events properly! See the docstrings for win32com.client.DispatchWithEvents, and win32com\test\
  • win32pipe.popen*() now works reliably on Windows 95, thanks to Bill Tutt.
  • bugfix to odbc when reading chunks > 64k from Bill.
  • Addition of VB GetObject() equivalent as well as Moniker() and GetActiveObject() to win32com.client, also thanks to Bill.
  • A number of bug fixes and enhancements, as well as documentation fixes and enhancements.

Changes since 125 (see also changes since 124)

  • Editing files (or searching in them) in Pythonwin when they are greater than 32k in size had problems. This has been fixed.
  • Active Scripting bugs fixed. Specifically, we now work with IE5, and AddTypeLib (used by a number of new script hosts) no longer crashes.
  • Some win32api registry functions failed on Windows 2000.
  • Better support for COM arrays of binary data - check the COM readme as there may be some small and trivial code breakage.
  • Threading bug and memory leak in the COM extensions fixed. This threading bug prevented Python working reliably under the Microsoft Transaction Server (MTS)
  • RAS support fixed.
  • SID and SECURITY_DESCRIPTOR support the buffer interfaces, allowing these to be passed as blobs via COM.
  • Pythonwin has had a huge revamp since build 125 (only bug fixes since Beta2). Improved debugger, many IDLE features now exist also in Pythonwin, interactive window is dockable, etc)
  • win32process.SuspendThread and ResumeThread have had their result handling fixed.
  • Windows CE Remote API has been significantly upgraded. You can now perform almost all registry and file operations on the remote device.
  • win32file, win32event and pywintypes now support asynchronour socket operations (thanks to Bill Tutt)
  • ODBC module can handle data > 64k in size (thanks to Bill again). ODBC also now correctly releases the thread lock giving far better performance in multi-threaded applications.
  • win32pipe.popen now correctly closes all its handles.
  • New win32clipboard and win32print modules (thanks to Roger Burnham)
  • win32net module upgraded significantly, and a few bugs fixed (thanks to Asang K Dani and others)

Changes since 124 (see also changes since 123)

  • Installer now seeks out duplicate files (a common source of installation errors when dynwin is installed). Also refuses to install if pywintypes15.dll or pythoncom15.dll exist in the system directory.
  • NT Security objects cleaned up. A few missing constructors added. win32security can now create all security objects.
  • win32net module now offers very complete coverage of Windows NT Networking APIs, and a new demo.
  • win32wnet and wincerapi are two new modules. win32wnet from Scott Cothrell even includes demos and HTML documentation.
  • DCOM has better support via win32com.client.DispatchEx() - see the COM readme.
  • Few bugs in win32com.server.policy mean events should now work correctly! Event test item works again.
  • Active Scripting bugs that prevented global members working fixed. Active Debugging didn’t work with 1.5.2 - fixed!
  • Numerous editor fixes in Pythonwin
  • Number of new internals in Pythonwin to move towards a docking interactive window.
  • Pythonwin now handles syntax errors much better.
  • Threading bug in Pythonwin derived objects.

Changes since 123 (see also changes since 122)

Pythonwin is using the new Scintilla editor control from Neil Hodgson (see the Scintilla home). This control is very cool, and offers fast syntax-colored editing of source code. The debugger package has been updated to take advantage of some other Scintilla features.

The win32dbg debugger package has had some minor fixes, and is now included in the package. It has been renamed to "pywin.debugger", but "win32dbg" will still work.

The speed of COM accessing certain objects (notably MSOffice) when not using makepy has been increased dramatically, thanks to changes by Robin Becker. (Also, look forward to Python COM objects being able to create COM type libraries!)

Includes new win32gui and wincerapi modules. win32gui is a swigged, native interface to some of the win32 GUI (created for and used by the CE port, but also available for Win32.)

All .hlp files have been upgraded.

Quite a few new Pythonwin methods from both Roger Burnham and Kleanthis Kleanthous.

Quite a few of the modules build on CE.

Scott Cothrel updated the win32 Networking API support. Upgraded win32net and new win32wnet.

Fixed null terminate bug in registry writing, ExpandEnvironmentStrings fix for win95, LoadLibraryEx had a brain-dead bug.

Small bug with LARGE_INTEGER objects fixed.

Number of memory leaks when using MAPI have been plugged.

Support for connecting to a windows CE device added.

Changes since 122

.pyw files now have an "Edit" menu item, just like .py files. This will invoke Pythonwin.

Builds cleanly using MSVC version 6 (although this is still built with MSVC5)

Pythonwin has new "View/Options" property pages for greater flexibility customising certain aspects. All fonts are customisable, as is the "Tools" menu.

Pythonwin has a demo for embedding Excel in a window. This is not yet complete, but a good starting point (inspired by Paul Prescod). Also now has support for Spin Buttons.

New "helloapp" sample (a sample of a Pythonwin "application") contributed by Willy Heineman. All "app" samples are now in there own sub-directory under "demos" (as are OCX demos).

Vague changes to Pythonwin’s dde support – primarily it is now resistant to no DDE support being available, and if explicitly not requested (with /nodde command line arg) it wont import the module. Some extra DDE examples were contributed.

win32com.axdebug is now (nearly!) capable of debugging stand-alone programs. Also capable of "cross language" debugging – ie, if another script language calls into Python.

Makepy now triple quotes all docstrings, and is more resistant to COM passing a slightly different version of a Type Library than we explicitly asked for.

Number of memory leaks in win32com.mapi plugged. Multi-valued and PT_APPTIME properties now supported.

Changes since 109

Jumped lots of build numbers to 122 :-) win32all has 3 components, all of which had different build numbers. To avoid the confusion this caused, all components where brought up to Pythonwin’s build number, which was previously 122. Now "build nnn" will mean "build nnn"

Active Script and Active Debugging have had major work, and are now much much better. Active debugging (from a single thread!) should work fine.

Makepy bug that stopped some properties working correctly.

Number of source cleanups and minor enhancements and bugfixes. All MSVC project files are now missing explicit paths, and expect to have everything setup in the environment (typically via MSVC "Tools/Options", "Directories" tab)

Minor changes for MSVC6. Still build with MSVC5 though.

Get/SetStdHandle added to win32api (sorry – forgot who submitted these!)

DDE changes by Chris Tismer

Changes since 108

Path problem in Python avoided by changing the shortcut to Pythonwin (this one is really weird, and causes Python to not see perfectly valid modules L ). But I do know why, so contact me if you care…

Nasty "byref" params bug fixed in COM, and typo in Active Scripting support was fixed.

Couple of DDE demos added.

Overlapped IO in win32file has had a memory leak fixed, and also had changes to make it totally thread safe. (in multi-threaded environments, having "read" return the buffer may fail if the overlapped IO completes before Python has made the assignment. Thus, you should now pre-allocate the buffer using win32file.AllocateReadBuffer(), and pass it to win32file.Read()

Neil Hodgson made some nice speed improvements to the color editor (and fixed a problem with the non-color editor). Both editors should not correctly use the "long file name" when a file is opened in Pythonwin from Explorer (whereas previously it said "")

IPersistFile interface added to pythoncom (how did we get this far without it?)

IShellLink interface now supported in the "" extension, which allows Python to create and/or resolve Windows "shortcut" files.

Changes since 107

COM should have BYREF params fixed for OCX events, and some other BYREF stuff has also been fixed. If they arent fixed, then they are very close to fixed :-) There was a reasonably amount of work required to get these to this state - please report any problems (with code) ASAP.

DDE now works for Pythonwin. This also means Pythonwin is back to being "single instance" (ie, selecting "Edit" on a .py file will use the current instance instead of starting a new one)

Pythonwin integrates the "Run Script" functionality with the with the "win32dbg" debugger. Note win32dbg is still installed seperately, and there is a new one of this too!

win32process now works on Win95/98.

Long Integer support has been rounded off, and some Long Integer bugs in win32file have been fixed.

CreatePipe and FdCreatePipe etc added to win32pipe.

Pythonwin has a number of changes at the framework level to make embedding and extending easier. A number of new methods added.Pythonwin no longer writes a "%temp%\python.log" for startup error – the traceback is now shown in a dialog box.

NOTE Pythonwin has recently fixed the handling of sys.argv to be in-line with Python.exe etc. This may cause some code to break if you embed Pythonwin, and deal with its raw command line. If you just run scripts from within Pythonwin, you won’t be affected.

Bugs in the Active Scripting implementation when the engine was asked to evaluate an expression.

Few new demos and scripts in the win32 package.

COM help file (the pythoncom module bits – not necessarily the extensions) is now basically 100% complete and accurate.

Phew – and that’s without checking the source control logs!!

Changes since 106

Win32com has changed the way it manages constants - for the better. Lots of makepy improvements. See the installed Win32com Client documentation. Recent changes are listed in the win32com readme.

Pythonwin finally has a readme installed with the Pythonwin documentation consolidated from the Net. Recent changes are listed here.

Support for the debugger.

[Wed Jul 27 08:02:53 2005 GMT+10]