adb014 / nsf2x

A Lotus Notes NSF to EML, MBOX and PST converter
GNU General Public License v2.0
84 stars 25 forks source link

nsf2x error #2

Closed indicium01 closed 6 years ago

indicium01 commented 7 years ago

I'm trying to convert Notes NSF to Outlook PST files. I have followed you instructions including the part about differences in bit size using the PST Helper. I tried both EML and MBOX and nsf2x converts the file properly then can't create the PST file throwing out an Error 255, cleanup then occurs and the EML or MBOX temporary files are deleted. the only thing left is a 265 kb PST file. I'm running a Thinkpad W530 with 32 GB RAM and 2 TB HDD and Win 7 64bit. Notes 9.01FP6 and Outlook 2010. This project is in preparation for a Win 10 Enterprise 64bit and Outlook 2016 upgrade occurring next week.

TIA, Steve

adb014 commented 7 years ago

I have a number of questions before I can understand what is happening in your case

adb014 commented 7 years ago

The error code 255 might come from one of three different place; Lotus, Outlook or WIndows. Here is what the error 255 means in these three cases

So in the last case NSF2X is not to blame

indicium01 commented 7 years ago

Notes is 32 bit, the nsf2x 64 bit won't run when tried. Outlook 2010 doesn't have "Click to Run" and I ran repair and nothing changed. What is the name of the log file?

In the meantime, thanks to virtualization, I installed Notes, Outlook 2010 and nsf2x (all 32 bit versions) on a VM and ran nsf2s and it converted the files perfectly.

adb014 commented 7 years ago

The log is in the "message" window of the application. If I've done the code right, the type of error you're having should give a python backtrace. I'm interested in all of the messages in this window

indicium01 commented 7 years ago

nsg2x image

Log file

adb014 commented 7 years ago

So in the above log you forced the use of external application EML2PST and everything is 32 bit ? See the line "helper32/eml2pst.exe", which means the MAPI app being called in 32bit. The reason I ask is look around for the meaning of error -2147467259 with google seems to imply that a bitness mismatch is a possible reason. Line 259 of mapiex.py is the first initialisation of the MAPI interface, so basically the point at which you're trying to resolve the DLL with the MAPI functionality.

What is weird is that the exact same code used in nsf2x.py for the MAPI stuff is used in EML2PST. So that fact that it works in one case and not in the other confuses me. The only other thing I can think of here is that you have the following combination of bitness

If this is the case then the above log would make sense. In EML2PST I'd assumed that the MAPI interface is supplied by the Outlook installation and they have the same bitness. Though this log seems to imply this is not the case for you. More thought seems to be needed for the mixed 32/64 bit cases

David

adb014 commented 7 years ago

If you are capable of doing a few tests, what would confirm the bitness mismatch between Outlook and MAPI on your system would be the following python code run on a 32 and 64 bit version of python with the pywin extensions (including the mapi module) installed

cd nsf2x
import win32com.client
import mapiex

# Test Outlook COM interface
Outlook = win32com.client.Dispatch(r'Outlook.Application')
ns = = Outlook.GetNamespace(r'MAPI')

# Test MAPI interface
mapi = mapiex.mapi()

If there is a mismatch it should fail at different points on both 32 and 64bit versions of python.

D.

adb014 commented 7 years ago

The site https://msdn.microsoft.com/en-us/library/office/dd941355.aspx seems to imply that a mixed bitness MAPI / Outlook install is impossible.

David

indicium01 commented 7 years ago

There is one other thing that keeps popping up, a message saying to make sure Outlook is running and is the default email client. I set it as default on installation and removed it from Notes. The odd thing is that I installed the 32 bit versions on the VM the same way that the versions were installed on the host machine. If I get a chance, I will do some experimenting with Office 2016, now that I have it. I don't have python.

adb014 commented 7 years ago

You can get Python here

http://winpython.github.io/

If you are interested in getting your hands dirty ;-). You should look at my developpement notes at

https://github.com/adb014/nsf2x/blob/master/README.dev

if you want to take a look at the issue yourself.

David

adb014 commented 6 years ago

After numereous attempts to fix the o365 issues with little success, I'm just going to ignore o365 for now

D.