I have enjoyed using LNGS 2.1 for a couple months now. However, my work has just upgraded my computer to a Windows XP 64bit and now I am having problems with the sync. I am running Lotus Notes 6.5.4. Here is the error I am receiving:
Automatic sync-on-startup is enabled. Starting sync - 3/29/12 5:15:00 PM
Date range: 3/22/12 thru 5/28/12 (-7 to +60 days)
Getting Lotus Notes calendar entries
=== ERROR ===
There was an error synchronizing.
java.lang.Exception: There was a problem initializing the Lotus Notes thread.
Make sure the Lotus dll/so/dylib directory is in your path.
Also look at the Troubleshooting section of the Help file.
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Finished sync (0.0 s total) - 3/29/12 5:15:00 PM
I have also run the connectivity test with the following results:
Can you help me fix this issue?
Make sure the Windows environment PATH contains the directory that contains nlsxbe.dll.
So, do a search for nlsxbe.dll on your C: drive, then add the directory where it was found to your PATH.
Some basic instructions for changing the Windows PATH are here:
i'm having exactly the same problems. After switching to Win 7 64bit i get the dll/so/dylib error. I tried meanwhile everything i found in this forum however nothing worked for me.
1. Edit lngsync.vbs.
2. Near the top of the script, change the useLotusJVM value from 0 to 1.
3. Try a sync again.
Unfortunately this does not work for me as the Java version coming with our notes Installation is 1.4 . I also tried already to point to a 1.6 32 Bit java version but no success.
In HelpFile.html, the Troubleshooting section has the following tips for diagnosing this problem.
Tell me what you've tried so far.
If you haven't already, run the test app and post or email me (email@example.com) the output.
o Run the separate utility named LNConnectivityTest to help diagnose any of these problems. Download LNConnectivityTest.zip from:
o For the dll error, make sure the environment PATH contains the directory that contains nlsxbe.dll (on Windows), lsxbe.so or liblsxbe.so (Linux), or lsxbe.dylib (OS X). Instructions for changing the Windows PATH:
o For errors like "java.lang.UnsatisfiedLinkError: C:\Program Files\Notes\nlsxbe.dll: The specified procedure could not be found", you can use a tool like Dependency Walker to see if a supporting dll is missing. It is also possible the Windows PATH is finding other dlls before the ones you want. Put the Lotus path at the beginning of your PATH line and try again.
o For the ID file error, make sure there is only one Notes.ini file in your path. LNConnectivityTest will give a warning if more than one Notes.ini is found. Also, the next bullet item discusses MultiUser values. Even if your system doesn’t have MultiUser set to 1, you might try creating the NotesIniPath in the Registy (as described below). Finally, try editing your Notes.ini file and make sure the KeyFileName value refers to your ID file, e.g. KeyFileName=dhill.id.
o If HKEY_LOCAL_MACHINE\Software\Lotus\Notes\MultiUser has a value of 1, then you have a multi-user installation (even if you are the only user of Lotus). Find the location of Notes.ini, probably somewhere like C:\Documents and Settings\(username)\Lotus.
Edit or create the string value below and set it to your Notes.ini directory.
o If you get a dll/so/dylib error under a 64-bit OS, then specify the full path to the version of Java that was installed with Lotus Notes (see green below for the OS X example). You may also have to tell Java to run in 32-bit mode by using the -d32 flag (see orange below).
For 64-bit Windows, there is an easy way to use the version of Java installed with Lotus Notes. Edit lngsync.vbs. Near the top of the script, change the useLotusJVM value from 0 to 1.
/Applications/Notes.app/Contents/MacOS/jvm/bin/java -d32 -cp $NOTES_PATH/jvm/lib/ext/Notes.jar:$SCRIPT_PATH/icalbridge.jar LotusNotesGoogleCalendarBridge.mainGUI
after working through the connectivity test, i finally got it to work. The magic was the path to the notes.ini file as well as pointing to a 32bit java.
I have modified the lngsync.vbs in the following way (just a suggestion):
' If set to 1, then the JVM installed with Lotus Notes is used instead
' of the version of Java found in the PATH.
useLotusJVM = 0
'If you want to use your own java path set useOwnJavaPath to 1
'and specify the path to the javaw executable in ownJavaPath
'This can be used for 64bit windows 7 systems to point to a 32bit java
useOwnJavaPath = 1
ownJavaPath = "D:\Axel\Java\jre6\bin"
'If your notes.ini is not localized in the default Path you can set useOwnNotesIniPath to 1
'and set the notesIniPath to the location of the file notes.ini
notesIniPath = "d:\notes"
This allows setting an own java and notes.ini path.
processPath = oEnv.Item("PATH")
' Update the Process PATH because this is what 'javaw' will read
if useOwnNotesIniPath then
' Add the notesIniPath if desired
oEnv("PATH") = notesIniPath & ";" & lotusPath & ";" & lotusDataPath & ";" & processPath
oEnv("PATH") = lotusPath & ";" & lotusDataPath & ";" & processPath
processPath = oEnv.Item("PATH")
' Set the classpath so Notes.jar can be found
classPath = """" & notesJarPath & """;.\lngsync.jar"
' Get the path to the version of Java installed with Lotus Notes.
' It is safest to use the Lotus Java for compatibility with Notes.jar.
if useLotusJVM then
javaPath = lotusPath & "\jvm\bin\javaw.exe"
' Use own java Path
if useOwnJavaPath then
javaPath = ownJavaPath & "\javaw.exe"
' Let the OS find Java via the PATH
javaPath = "javaw.exe"
So far so good - i'm back to normal operation.
Thanks for the suggestions. I'll look them over to see what to include in the next release.
I added the following to the top of lngsync.vbs, juet between the "option explicit" and "dim useLotusJVM":
' Check for 64bit environment and relaunch as 32bit if necessary
'If InStr(LCase(WScript.FullName),"system32") Then
' CreateObject("WScript.Shell").Run """%systemroot%\syswow64\wscript.exe"" """ & WScript.ScriptFullName & """"
Dim WshShell, OsType
Set WshShell = CreateObject("WScript.Shell")
OsType = WshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE")
If OsType <> "x86" Then
If InStr(LCase(WScript.FullName),"system32") Then
CreateObject("WScript.Shell").Run """%systemroot%\SysWOW64\wscript.exe"" """ & WScript.ScriptFullName & """"
Works like a charm
Thanks for the tip Karl. I'll plan on incorporating that change also.
Log in to post a comment.