Error running SMTP component on Citrix - NAV2009 R2 Classic

rsaritzkyrsaritzky Member Posts: 469
Hi,

I have some users running NAV2009 R2 Classic client (build 6.00.34591) and executing some processess that user the standard NAV SMTP component on a Citrix server farm. Several threads here on MIBUSO reference the same error we are getting:

Could not create an instance of the OLE control or Automation server
identified by
GUID={68AEAA7B-9523-3511-AF5F-F2381D2C6F04}
1.0:{F9DAE2A4-D2F8-37C3-86D5-E4FFE166D860}:'Microsoft Navision Mail'.SmtpMessage

Users running NAV locally on their machines do not receive this error - only remote users logging into our Citrix server farm (note it is "true" Citrix, not just Terminal Server.)

I have read through the various threads referencing this message and have copied the Microsoft.Navision.Mail.dll and .tlb files to the main NAV executable directory and run the REGASM and GACUTIL statements suggested, e.g.

REGASM "C:\Program Files (x86)\Microsoft Dynamics NAV\60\Classic\Microsoft.Navision.Mail.dll" /tlb: Microsoft.Navision.Mail.tlb /codebase
GACUTIL /i "C:\Program Files (x86)\Microsoft Dynamics NAV\60\Classic\Microsoft.Navision.Mail.tlb"

After running the above commands, I have located registry entries for the "Codebase" key in both HKEY_CLASSES_ROOT and HKEY_CURRENT_USER - screenshot attached.



If I run NAV after executing the above commands, the SMTP process works. But if I log in as a different user, I still get the same error referenced above.

Has anyone used SMTP under NAV2009 Classic in a Citrix environment? Can anyone suggest a solution to allow all Citrix users to work (other than running the REGASM commands for every user?)

Thanks
Ron

Best Answer

  • rsaritzkyrsaritzky Member Posts: 469
    Answer ✓
    I did confirm that the reinstall and above commands were being run as administrator, but received an error during the execution of the GACUTIL command:

    "Gacutil failure adding assembly to the cache: The filename, directory name or volume label syntax is incorrect"

    After some research, I changed the GACUTIL command to reference the dll rather than the tlb, e.g. instead of
    GACUTIL /i "C:\Program Files (x86)\Microsoft Dynamics NAV\60\Classic\Microsoft.Navision.Mail.tlb"
    I used:
    GACUTIL /i "C:\Program Files (x86)\Microsoft Dynamics NAV\60\Classic\Microsoft.Navision.Mail.dll"

    This in fact placed the dll in the Global Assembly Cache, which allows the NAV application to reference the library for all users.
    Ron

Answers

  • mr_ashmr_ash Member Posts: 12
    Hi,
    Did you register this dll as Administrator ? I'm asking because I see that dll entries in register are in HKCU (current user only) not in HKLM (local machine - all users), this happens when you don't run regas as administrator...

    I don't have more suggestions at the moment, and never had a problem with this on Citrix environment.

    Ohh sorry - one more idea - do you try to reinstall NAV?
    http://www.nav.info.pl/ - First polish blog about Dynamics NAV.
  • rsaritzkyrsaritzky Member Posts: 469
    mr_ash wrote:
    Hi,
    Did you register this dll as Administrator ? I'm asking because I see that dll entries in register are in HKCU (current user only) not in HKLM (local machine - all users), this happens when you don't run regas as administrator...

    Ohh sorry - one more idea - do you try to reinstall NAV?

    I did confirm with our IT Manager that he ran the REGASM statements as Administrator. But I had the same second thought as you. So I had him do a reinstall of NAV on our test Citrix server, ran the REGASM's and the error went away. So there is something in the NAV installation process that does something else in the Registry to allow the DLL to be located. But I'm glad you confirmed my idea. Thanks for the reply.
    Ron
  • rsaritzkyrsaritzky Member Posts: 469
    Answer ✓
    I did confirm that the reinstall and above commands were being run as administrator, but received an error during the execution of the GACUTIL command:

    "Gacutil failure adding assembly to the cache: The filename, directory name or volume label syntax is incorrect"

    After some research, I changed the GACUTIL command to reference the dll rather than the tlb, e.g. instead of
    GACUTIL /i "C:\Program Files (x86)\Microsoft Dynamics NAV\60\Classic\Microsoft.Navision.Mail.tlb"
    I used:
    GACUTIL /i "C:\Program Files (x86)\Microsoft Dynamics NAV\60\Classic\Microsoft.Navision.Mail.dll"

    This in fact placed the dll in the Global Assembly Cache, which allows the NAV application to reference the library for all users.
    Ron
Sign In or Register to comment.