SDL Multiterm 2017 not accessable on some machines via .NET API


We are having issues with our application that uses your MultiTerm SDK 2017 on several PCs.
We are using local multiterm desktop installations.

It works fine on some PCs but we get "Exception:External component has thrown an exception." while trying to connect.
A simple test application fails on those machines

Code snippet:
            try
            {
                Sdl.MultiTerm.TMO.Interop.Application oMT = new Sdl.MultiTerm.TMO.Interop.ApplicationClass();
                TermbaseRepository oLocalRep = oMT.LocalRepository;
                oLocalRep.Connect("", "");
                AppendLog("Connection succesfull");
            }
            catch(Exception ex)
            {
                AppendLog("Connection failed - Exception:"+ex.Message);
            }

Can you help us identify what is going wrong?
Do you have detailed logging on the error?

FYI: The multiterm documentation I found on
https://appstore.sdl.com/language/developers/sdk.html
Namely http://producthelp.sdl.com/sdk/MultitermClientApi/2.1/MultiTerm%20Desktop%20SDK.zip?s=220754|20150929122123|0xc14fa61273cb403b6b17b8063f985709b69a88ee?s=null
appears to be outdated.

Some extra info:
I tested with both these versions of Multiterm 2017: 14.1.2441.0     &   14.2.43908.7
Maybe noteworthy: The reference I add in my C# project is
C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Sdl.MultiTerm.TMO.Interop.dll
(FYI I also tried with C:\Program Files (x86)\SDL\SDL Trados Studio\Studio5\Sdl.MultiTerm.TMO.Interop.dll but this is the same binary)
but this file only has version 14.0.1529.0
Could that be related?
I also had to set "Embedded interop Types" to false to make the code (based on your sample) work.

Note: I searched for multiterm on https://community.sdl.com/developers-more/developers/language-developers/# but found no hits.
Let me know if I should post the issue there


Kind Regards,
Frederic Vancraeyveldt
for Yamagata Europe

standalonesdlmultiterm2017.zip

Parents Reply Children
  • FYI: A windbg log, maybe it helps you.

    Maybe that machine is missing some kind of dependency?

    FYI: The C# solution is using .NET 4.7.2 . The 4.7.2 .NET framework runtime is installed on the pc with the issue.

    Windows version: 10.0.17763 build 17763

    ModLoad: 616f0000 6176d000   C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll
    ModLoad: 75440000 75484000   C:\Windows\SysWOW64\SHLWAPI.dll
    ModLoad: 74ef0000 75168000   C:\Windows\SysWOW64\combase.dll
    ModLoad: 75500000 75623000   C:\Windows\SysWOW64\ucrtbase.dll
    ModLoad: 75630000 75653000   C:\Windows\SysWOW64\GDI32.dll
    ModLoad: 77370000 774d7000   C:\Windows\SysWOW64\gdi32full.dll
    ModLoad: 75730000 757b0000   C:\Windows\SysWOW64\msvcp_win.dll
    ModLoad: 752a0000 75439000   C:\Windows\SysWOW64\USER32.dll
    ModLoad: 75170000 75187000   C:\Windows\SysWOW64\win32u.dll
    ModLoad: 76590000 765b5000   C:\Windows\SysWOW64\IMM32.DLL
    ModLoad: 77060000 7706f000   C:\Windows\SysWOW64\kernel.appcore.dll
    ModLoad: 74ad0000 74ad8000   C:\Windows\SysWOW64\VERSION.dll
    ModLoad: 61000000 616ef000   C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
    ModLoad: 60f00000 60ff5000   C:\Windows\SysWOW64\MSVCR120_CLR0400.dll
    (3084.2fd4): Unknown exception - code 04242420 (first chance)
    ModLoad: 5fb60000 60ef3000   C:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\e8980cc30db74aebb06ed60c8b93c295\mscorlib.ni.dll
    ModLoad: 74c80000 74d7c000   C:\Windows\SysWOW64\ole32.dll
    ModLoad: 70730000 707ab000   C:\Windows\SysWOW64\uxtheme.dll
    ModLoad: 6ad50000 6adb9000   C:\Program Files (x86)\TeamViewer\tv_w32.dll
    ModLoad: 75f50000 7649d000   C:\Windows\SysWOW64\SHELL32.dll
    ModLoad: 754b0000 754eb000   C:\Windows\SysWOW64\cfgmgr32.dll
    ModLoad: 77070000 770f9000   C:\Windows\SysWOW64\shcore.dll
    ModLoad: 75950000 75f4b000   C:\Windows\SysWOW64\windows.storage.dll
    ModLoad: 775c0000 775dc000   C:\Windows\SysWOW64\profapi.dll
    ModLoad: 77100000 77154000   C:\Windows\SysWOW64\powrprof.dll
    ModLoad: 75490000 754a2000   C:\Windows\SysWOW64\cryptsp.dll
    ModLoad: 5f0d0000 5fae0000   C:\Windows\assembly\NativeImages_v4.0.30319_32\System\9f370899341bac03befe07294732d91e\System.ni.dll
    ModLoad: 5d490000 5dc70000   C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Core\80f663f87ac934b5cc9ee1e749667171\System.Core.ni.dll
    ModLoad: 627d0000 62bc3000   C:\Windows\assembly\NativeImages_v4.0.30319_32\WindowsBase\af66ce2f804d85d94eb138335eeb37d1\WindowsBase.ni.dll
    ModLoad: 745e0000 7460f000   C:\Windows\SysWOW64\rsaenh.dll
    ModLoad: 775a0000 775b9000   C:\Windows\SysWOW64\bcrypt.dll
    ModLoad: 55570000 5611d000   C:\Windows\assembly\NativeImages_v4.0.30319_32\PresentationCore\bcb181d59300831f5cc83128e8e5317d\PresentationCore.ni.dll
    ModLoad: 54260000 55567000   C:\Windows\assembly\NativeImages_v4.0.30319_32\Presentatio5ae0f00f#\1f3d2012e5e0392d4b184d754c5b458f\PresentationFramework.ni.dll
    ModLoad: 625d0000 627c4000   C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Xaml\498061acc7012c7a0879c32801221d6a\System.Xaml.ni.dll
    ModLoad: 63780000 63a12000   C:\Windows\SysWOW64\dwrite.dll
    ModLoad: 59310000 59459000   C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\wpfgfx_v0400.dll
    ModLoad: 76650000 766eb000   C:\Windows\SysWOW64\OLEAUT32.dll
    ModLoad: 62550000 625c8000   C:\Windows\SysWOW64\MSVCP120_CLR0400.dll
    ModLoad: 53870000 5393a000   C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\PresentationNative_v0400.dll
    ModLoad: 5fae0000 5fb60000   C:\Windows\Microsoft.NET\Framework\v4.0.30319\clrjit.dll
    ModLoad: 5d380000 5d47e000   C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Configuration\5f0c5f44ce54fc8726d10530e8ed7d8c\System.Configuration.ni.dll
    ModLoad: 5cc40000 5d37e000   C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Xml\d53514ac7a31cbb0931c60eaf2af4bbb\System.Xml.ni.dll
    ModLoad: 73790000 737b6000   C:\Windows\SysWOW64\dwmapi.dll
    ModLoad: 757b0000 75949000   C:\Windows\SysWOW64\CRYPT32.dll
    ModLoad: 77360000 7736e000   C:\Windows\SysWOW64\MSASN1.dll
    ModLoad: 76de0000 76f1d000   C:\Windows\SysWOW64\MSCTF.dll
    ModLoad: 5c720000 5c891000   C:\Windows\SysWOW64\d3d9.dll
    ModLoad: 536c0000 5386a000   C:\Windows\System32\DriverStore\FileRepository\igdlh64.inf_amd64_65e812e45a6ecbef\igdumdim32.dll
    ModLoad: 56120000 59097000   C:\Windows\System32\DriverStore\FileRepository\igdlh64.inf_amd64_65e812e45a6ecbef\igd9dxva32.dll
    ModLoad: 59280000 59306000   C:\Windows\assembly\NativeImages_v4.0.30319_32\Presentatioaec034ca#\60e4b97e5a54f87280aa973999fd47f5\PresentationFramework.Aero2.ni.dll
    ModLoad: 74360000 7436f000   C:\Windows\SysWOW64\wtsapi32.dll
    ModLoad: 73580000 735c3000   C:\Windows\SysWOW64\WINSTA.dll
    ModLoad: 75210000 75291000   C:\Windows\SysWOW64\clbcatq.dll
    ModLoad: 66590000 665dd000   C:\Windows\SysWOW64\dataexchange.dll
    ModLoad: 66200000 66429000   C:\Windows\SysWOW64\d3d11.dll
    ModLoad: 66430000 6658f000   C:\Windows\SysWOW64\dcomp.dll
    ModLoad: 66150000 661f4000   C:\Windows\SysWOW64\dxgi.dll
    ModLoad: 058e0000 05984000   C:\Windows\SysWOW64\dxgi.dll
    ModLoad: 677e0000 67983000   C:\Windows\SysWOW64\twinapi.appcore.dll
    ModLoad: 677c0000 677de000   C:\Windows\SysWOW64\RMCLIENT.dll
    ModLoad: 6eab0000 6eabe000   C:\Windows\SysWOW64\resourcepolicyclient.dll
    ModLoad: 059b0000 059b8000   PresentationFramework-SystemXml.dll
    ModLoad: 059c0000 059c8000   PresentationFramework-SystemXml.dll
    ModLoad: 59460000 5ae5d000   C:\Windows\System32\DriverStore\FileRepository\igdlh64.inf_amd64_65e812e45a6ecbef\igc32.dll
    ModLoad: 6ae60000 6ae78000   C:\Windows\SysWOW64\msctfui.dll
    ModLoad: 59130000 591b2000   C:\Windows\assembly\NativeImages_v4.0.30319_32\UIAutomationTypes\139b164e3baed3b2fef0e4477f778108\UIAutomationTypes.ni.dll
    ModLoad: 64aa0000 64c90000   C:\Windows\SysWOW64\UIAutomationCore.dll
    ModLoad: 64790000 647d6000   C:\Windows\SysWOW64\Bcp47Langs.dll
    ModLoad: 53330000 536c0000   C:\Windows\SysWOW64\D3DCOMPILER_47.dll
    ModLoad: 67480000 67506000   C:\Windows\SysWOW64\TextInputFramework.dll
    ModLoad: 673f0000 6747f000   C:\Windows\SysWOW64\CoreMessaging.dll
    ModLoad: 67180000 673ea000   C:\Windows\SysWOW64\CoreUIComponents.dll
    ModLoad: 67bb0000 67c8b000   C:\Windows\SysWOW64\wintypes.dll
    ModLoad: 719e0000 71a09000   C:\Windows\SysWOW64\ntmarta.dll
    ModLoad: 0d6b0000 0d78b000   C:\Windows\SysWOW64\wintypes.dll
    ModLoad: 07280000 07296000   image07280000
    ModLoad: 072a0000 072b6000   image072a0000
    ModLoad: 54000000 540f8000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Sdl.MultiTerm.TMO.dll
    ModLoad: 10000000 1000d000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Sdl.MultiTerm.ErrorsLib.dll
    ModLoad: 51000000 5103c000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Sdl.MultiTerm.Util.dll
    ModLoad: 4e000000 4e0b8000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Sdl.MultiTerm.TermBaseDefinition.dll
    ModLoad: 0deb0000 0dfb5000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Sdl.MultiTerm.Basis.dll
    ModLoad: 74bc0000 74bca000   C:\Windows\SysWOW64\Secur32.dll
    ModLoad: 53240000 5332e000   C:\Windows\SysWOW64\MSVCR120.dll
    ModLoad: 531c0000 53231000   C:\Windows\SysWOW64\MSVCP120.dll
    ModLoad: 73e80000 73e93000   C:\Windows\SysWOW64\NETAPI32.dll
    ModLoad: 28000000 28010000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Sdl.MultiTerm.UILanguageMgr.dll
    ModLoad: 072e0000 072f0000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Sdl.MultiTerm.UILanguageMgr.dll
    ModLoad: 52000000 52026000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Sdl.MultiTerm.Wizard.dll
    ModLoad: 634d0000 6355e000   C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.17763.292_none_58955f3378a6fd84\COMCTL32.dll
    ModLoad: 52d70000 531b2000   C:\Windows\SysWOW64\mfc120u.dll
    ModLoad: 0deb0000 0e2f2000   C:\Windows\SysWOW64\mfc120u.dll
    ModLoad: 0deb0000 0e2f2000   C:\Windows\SysWOW64\mfc120u.dll
    ModLoad: 0deb0000 0dfb5000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Sdl.MultiTerm.Basis.dll
    ModLoad: 64cd0000 64ce7000   C:\Windows\SysWOW64\USP10.dll
    ModLoad: 73c40000 73c4b000   C:\Windows\SysWOW64\NETUTILS.DLL
    ModLoad: 07310000 07320000   C:\Windows\SysWOW64\WKSCLI.DLL
    ModLoad: 6ef10000 6ef20000   C:\Windows\SysWOW64\WKSCLI.DLL
    ModLoad: 07320000 07328000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Lng\Sdl.MultiTerm.ErrorsLib1033.lng
    ModLoad: 07320000 07328000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Lng\Sdl.MultiTerm.ErrorsLib1033.lng
    ModLoad: 0d470000 0d472000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Lng\Sdl.MultiTerm.Util1033.lng
    ModLoad: 0d470000 0d472000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Lng\Sdl.MultiTerm.Util1033.lng
    ModLoad: 0e7d0000 0e811000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Lng\Sdl.MultiTerm.TermbaseDefinition1033.lng
    ModLoad: 0e7d0000 0e811000   C:\Program Files (x86)\Common Files\SDL\MultiTerm14\Lng\Sdl.MultiTerm.TermbaseDefinition1033.lng
    ModLoad: 6c630000 6c6b6000   C:\Windows\SysWOW64\sxs.dll
    ModLoad: 0e960000 0e97c000   Sdl.MultiTerm.COM.dll
    ModLoad: 0e980000 0e99c000   Sdl.MultiTerm.COM.dll
    ModLoad: 5caf0000 5cb06000   C:\Windows\SysWOW64\wldp.dll
    ModLoad: 756e0000 75725000   C:\Windows\SysWOW64\WINTRUST.dll
    ModLoad: 0e7b0000 0e7bc000   Sdl.MultiTerm.Core.Settings.dll
    ModLoad: 0e960000 0e96c000   Sdl.MultiTerm.Core.Settings.dll
    ModLoad: 0e9a0000 0e9c2000   Sdl.Enterprise2.Studio.Platform.Client.dll
    ModLoad: 0e9d0000 0e9f2000   Sdl.Enterprise2.Studio.Platform.Client.dll
    ModLoad: 0ea00000 0ea46000   log4net.dll
    ModLoad: 0ea50000 0ea96000   log4net.dll
    (3084.2fd4): C++ EH exception - code e06d7363 (first chance)
    (3084.2fd4): C++ EH exception - code e06d7363 (first chance)
    (3084.2fd4): C++ EH exception - code e06d7363 (first chance)
    (3084.2fd4): CLR exception - code e0434352 (first chance)
    (3084.2fd4): C++ EH exception - code e06d7363 (first chance)
    (3084.2fd4): C++ EH exception - code e06d7363 (first chance)
  • Hello,

    Can anybody please help me with this issue?

    Your sample application fails on certain PCs, how can we resolve this?

    What is the best way to get fast support?

    Have you examined the windbg log?

    Could it be related to limited file write rights and the log4net logging?

    Or a bad log4net configuration?

    What should I examine?

  • Hi again, !

    Let's try something else. Use this code https://github.com/sdl/Sdl-Community/tree/studio_2017/Code%20samples/MultiTermStandAloneTestAppNew with these two references, "Sdl.Enterprise2.MultiTerm.Client" and "Sdl.MultiTerm.Client.Api".

  • Hello Emanuel,

    My application uses a local multiterm repository.

    I did not add the Enterprise2 reference.

     I presume this is not needed for local repo?

    I changed the code so it uses the local repo (see below) and it looks like the issue is solved.

    I notice with this C# .NET solution a lot of MT DLLs are published.

    Do I need to deploy all these with my application?

    What should happen when you release major / minor updates to TC 2017?

                try
                {
                    this.lbStatus.Content = "Connecting to local repo";

                    var app = new LocalRepository();
                    //app.Connect("", "");
                    this.lbStatus.Content = "Connected to local repo. ";
                    var termbases = app.Termbases;
                    this.lbStatus.Content = "Connected to local repo. Termbases:" + termbases.ToString();
                    //app.Disconnect();
                }
                catch (Exception ex)
                {
                    this.lbStatus.Content = "Exception while connecting to local repo - " + ex.Message;
                }

    Thanks,

    Frederic

  • Hello Emanuel,

    Can you point me to the correct documentation for this new interface.

    I do not find the functions that I need in Sdl.MultiTerm.Client.Api

    Note: My tool creates new termbases and also opens existing file based termbases.

    So I need an equivalent of Sdl.MultiTerm.TMO.Interop.TermbaseRepository.New

    and Sdl.MultiTerm.TMO.Interop.TermbaseRepository.Add

    Some of my existing code snippets:

    sdl2017::Sdl.MultiTerm.TMO.Interop.Termbase tbNew = termbases_.New(termName, termDesc, fnameXDT, fnameSDLTB);

    and               

    termbases_.Add(fname, termName, termDesc);
    sdl2017::Sdl.MultiTerm.TMO.Interop.Termbase tbLoaded = termbases_[fname];
                 

    Regards,

    Frederic

  • Hello Emanuel,

    It's not clear what you want to say.

    In your post I read

    >Sdl.MultiTerm.Client.Api it's not a full replacement for the Interop API

    I need to create local terminology dictionaries (termbases)

    What API can I use?

    Am I forced to use the (now obsolete) Sdl.MultiTerm.TMO.Interop or is there an alternative?

    If there is no alternative we need to solve the issue on the client PCs which don't work.

    Regards,

    Frederic

  • Hi ,

    I was able to create a local termbase on my desktop with the following code:

    using MultiTermIX;

    var app = new MultiTermIX.ApplicationClass(); 
    app.LocalRepository.Connect("", "");
    var termbases = app.LocalRepository.Termbases;
    termbases.New("testT","ss","", @"C:\Users\[username]\Desktop\test.sdltb");

    Kind regards,

    Andrea Ghisa

  • Hi Andrea,

    I basically do the same except for the creation of the app object

    * In MT API v14 = MultiTerm 2017 I use

    Sdl.MultiTerm.TMO.Interop.Application app_= new Sdl.MultiTerm.TMO.Interop.Application();

    but the rest is the same. The Connect itself fails.

    * In older versions of MT I used other .NET reference files and classes

    For MultiTerm 2014 (API v11) it was also Sdl.MultiTerm.TMO.Interop.Application

    For SDL MultiTerm 2011 (API v9) I use appV9 = new MultiTermIX.Application(); like you say.

    Are you using SDL Studio 2017? If so can you tell me how you include the reference in your C# .NET project? ActiveX? .NET Assembly? Maybe I can see your .csproj?

    Does it work on all PCs it is deployed on? For me it works on most, but some windows PCs have issues, possibly related to a windows update like Tom imhof states.

    -Frederic

  • Here is the link to the 2017 code sample for the creation of termbases