Index: _msi.c =================================================================== --- _msi.c (revision 56) +++ _msi.c (working copy) @@ -707,7 +707,11 @@ int status; MSIHANDLE result; - if ((status = MsiViewFetch(view->h, &result)) != ERROR_SUCCESS) + status = MsiViewFetch(view->h, &result); + if (status == ERROR_NO_MORE_ITEMS) { + Py_INCREF(Py_None); + return Py_None; + } else if (status != ERROR_SUCCESS) return msierror(status); return record_new(result);