Invalid filechck.dll

Hi everyone

I am currently developing a simple WPF program using the ProjectAutomation API. However, when running unit tests, I run into the following exception on calling the "FileBasedProject" constructor:

Sdl.ProjectAutomation.FileBased.LicensingException was unhandled by user code
  Message=License check failed, with exception: System.ArgumentException: Invalid filechck.dll
   bei Sdl.Core.FileCheck.AbstractFileCheck..ctor(String fileCheckDll)
   bei Sdl.Core.FileCheck.NodeLockFileCheck..ctor(String fileCheckDll)
   bei Sdl.DesktopLicensing.Core.CoreLicenseManager.CreateProduct()
   bei Sdl.DesktopLicensing.Core.CoreLicenseManager.get_CurrentProduct()
   bei Sdl.DesktopLicensing.Core.CoreLicenseManager.GetLicense(Boolean checkOutLicense)
   bei Sdl.DesktopLicensing.Core.CoreLicenseManager.GetLicenseWithoutConsumingSeatsOrUsages()
   bei Sdl.ProjectApi.Licensing.LicenseCheckWithoutUsingNetworkSeat.get_License()
   bei Sdl.ProjectApi.Licensing.LicenseCheckWithoutUsingNetworkSeat.get_IsProfessional()
   bei Sdl.ProjectAutomation.FileBased.FileBasedProject.CheckLicense()
  Source=Sdl.ProjectAutomation.FileBased
  StackTrace:
       bei Sdl.ProjectAutomation.FileBased.FileBasedProject.CheckLicense()
       bei Sdl.ProjectAutomation.FileBased.FileBasedProject..ctor(ProjectInfo projectInfo, ProjectTemplateReference templateReference)
       bei Sdl.ProjectAutomation.FileBased.FileBasedProject..ctor(ProjectInfo projectInfo)
       bei ch.diction.projectcreator.factory.SdlTradosStudioProjectFactory.createProject(ProjectSettings projectSettings) in C:\Users\pkesseli\Software\C#\project-creator\project-creator\src\ch\diction\projectcreator\factory\SdlTradosStudioProjectFactory.cs:Zeile 54.
       bei ch.diction.projectcreator.test.factory.SdlTradosStudioProjectFactoryTest.testCreateSingleSourceLanguageSingleTranslationTask() in C:\Users\pkesseli\Software\C#\project-creator\project-creator-test\src\ch\diction\projectcreator\test\factory\SdlTradosStudioProjectFactoryTest.cs:Zeile 31.
  InnerException: System.ArgumentException
       Message=Invalid filechck.dll
       Source=Sdl.Core.FileCheck
       StackTrace:
            bei Sdl.Core.FileCheck.AbstractFileCheck..ctor(String fileCheckDll)
            bei Sdl.Core.FileCheck.NodeLockFileCheck..ctor(String fileCheckDll)
            bei Sdl.DesktopLicensing.Core.CoreLicenseManager.CreateProduct()
            bei Sdl.DesktopLicensing.Core.CoreLicenseManager.get_CurrentProduct()
            bei Sdl.DesktopLicensing.Core.CoreLicenseManager.GetLicense(Boolean checkOutLicense)
            bei Sdl.DesktopLicensing.Core.CoreLicenseManager.GetLicenseWithoutConsumingSeatsOrUsages()
            bei Sdl.ProjectApi.Licensing.LicenseCheckWithoutUsingNetworkSeat.get_License()
            bei Sdl.ProjectApi.Licensing.LicenseCheckWithoutUsingNetworkSeat.get_IsProfessional()
            bei Sdl.ProjectAutomation.FileBased.FileBasedProject.CheckLicense()
       InnerException:

The innermost exception seems to be an ArgumentException proclaiming "Invalid filechck.dll". Since I've connected my machine to our license server and Studio starts without issues, I am unsure where this error might result from. There is only one "filechck.dll" in the Studio program folder, and copying it to the program location has no effect.

Thanks for any suggestions and best regards

Pascal

  • Hi!

    We faced the same issue. It is obviously related to the location of SDL Trados DLLs that your application is referencing to or its dependences. One of the workarounds should be to put your EXE file into the SDL Trados installation folder or to copy all dependent files from SDL Trados installation folder into your application folder (not only filechck.dll file).

    We found quite hard to understand which DLLs and resource files to include with our application. It will be nice to hear from someone else how to manage this more "elegantly" or to have possibility to get some more information about this from SDL team. In fact we found this part of API quite "confused".

    Thank you,

    Radivoj

  • Hi,

    In both cases your issue is most likely due to the licensing regime used by SDL Trados Studio 2011 as the file check DLL is a component of it.  Our licensing system (as of SDL Trados Studio 2011, previously was FLexLM) is based on technologies from Nalpeiron and to utilise the SDL Project Automation API from within your OpenExchange app, the instance of SDL Trados Studio 2011 your app is interacting with needs to be licensed for “Studio 2011 Pro”.  Only the Pro license level allows access to the Project Automation API, this is a hard requirement for your development and also any OpenExchange apps you produce that utilise the Project Automation API will only be able to be used by those holding a SDL Trados Studio 2011 Pro license.  This is stipulated in the API documentation.

    If you need a test license for SDL Trados Studio 2011 Pro please contact me directly at sdk-feedback@sdl.com and I will arrange it for you.

    Regards, Ian

    Ian Davies  |  Senior Product Manager | SDL | Language Technologies Division |  +44 7826843819

    Paul Filkin | RWS Group

    ________________________
    Design your own training!

    You've done the courses and still need to go a little further, or still not clear? 
    Tell us what you need in our Community Solutions Hub

  • But, as a matter of fact, I have a Studio 2011 Professional license available on my license server. This is the message being displayed:

    However, when opening Studio, I am often prompted by a product activation page and have to re-enter the server details, which immediately work. Is there something flawed with my product activation?

    Thanks for your support and best regards

    Pascal Kesseli

  • Hi,

    Concerning the product activation page, I have noticed that this page is always displayed after an "Invalid filechck.dll" error. It seems that this error resets the activation state.

    I have the same issue when developping a web service. With a WPF program, it rightly works.

    Regards,

    Phone Te

  • Thank you for your answer.

    That seems indeed to be the case. My activation state is reset every time that filecheck.dll exception occurs. However, my initial problem remains the same. Why would that exception occur in the first place with a valid Professional license registered? Copying all the files from the SDL program files folder over to my project did not solve the problem, either.

  • Hello,

    I seem to have the same problem. I haven't found a solution to it yet. I'm building my project in de folder with all the DLL files, but it still won't work.

    My application does work from within visual studio though, when I press start debugging.

    I'll try some more things.

    Piet

  • Hi to all with the Invalid filechck.dll issue,

    This issue is already queued for the attention of an SDL development lead/architect and I will hopefully have more info in the near future.  We are also cross referring against the latest licensing deliverables from Nalpeiron.

    Regards, Ian

    Paul Filkin | RWS Group

    ________________________
    Design your own training!

    You've done the courses and still need to go a little further, or still not clear? 
    Tell us what you need in our Community Solutions Hub

  • Hi all,

    I tried to investigate this issue by running project automation API with Studio 2011 professional license (both the case to use license server or independent) and I could not reproduce any license problem reported in this thread if I follow a certain rules. Here is the steps I tried:

    1) Prepare a folder to store the reference files and the output of Visual Studio build. In my case I use the folder d:\dev\bin\debug. And I run the following batch file to make the folder and copy all the possible required files (Here I am using Windows 7 and Studio is installed to the default folder. Basically this is to create a new folder, and copy everything from Studio installation folder):

    ::::::: the batch file content :::::::::::::::::::::

    @echo off

    :: setup the folders

    SET DEV_FOLDER=D:\dev

    SET STUDIO_FOLDER="C:\Program Files (x86)\SDL\SDL Trados Studio\Studio2"

    SET DEV_BIN=%DEV_FOLDER%\bin\debug

    :: copy all studio files to dev folder so that project reference and output will go to this folder

    IF EXIST %DEV_BIN% GOTO copy_file

    mkdir %DEV_BIN%

    :copy_file

    xcopy /s %STUDIO_FOLDER% %DEV_BIN%

    2) Create a project in Visual Studio. Make sure all the project reference files are from the folder in the first step -- that is d:\dev\bin\debug for my case. And also make sure the project output path is set to the same folder, just as shown in the following screenshot:

    3) Now I wrote the code with project automation api, then I run either from debug or outside Visual Studio, everything works fine.

    4) To further investigate this issue I also created a unit test project. In the first test I forgot setting project output path as I did in step 2, therefore my test failed with "Invalid filechck" error. I then start fussion log tool (FUSLOGVW.exe -- from Microsoft SDK) to check all the DLL loading. I saw it is the DLL loading issue. Therefore I changed the project output path to the same folder as in Step 2, now it works fine again.

    5) With the setting in step 2 for all the projects, all my coded DLLs and Exes are in the folder d:\dev\bin\Debug. After finishing my work, I just copy my own DLLs and Exes to SDL Studio installation folder for production usage.

    Could you all try the same steps as I did to see if you still have problem? If you still problems, you might post your detailed steps and I will look further the issue.

    Thanks,

    Xingzeng

  • How can this be different than just building in the C:\Program Files (x86)\SDL\SDL Trados Studio\Studio2 folder when I build with references to this folder?

    I now get it working on my own pc using a normal license key or a server license key. But if I try it on another pc it doesn't work anymore.

    Edit: I can now get it working on other pc's too if I follow your steps. Thank you.

    Kind regards,

    Piet

  • Hi Piet,

    If you already copied everything from Studio installation to the output path, references to the output path instead of PF folder can avoid any further reference checking/copying for Visual Studio building. The steps I posted are to ensure we have all the necessary required DLLs/resources etc in place to run SDK apps, also ensure we do not have security related problems. If you follow the steps I posted and it does not work, please post your fusion log.

    Thanks,

    Xingzeng