Qualitivity plug-in causes Studio to crash upon start-up (Failed to initialize view 'QualitivityViewController'.)

Hello,

[Note: sorry for the lengthy thread. I want to be as thorough as possible in my explanations, as I've been trying to get the plug-in to work for months now... so there's a looong history of hypotheses, diagnoses, trials, and unfortunately failures.]

I've been trying (and failing) to get the Qualitivity plug-in to work on my machine. It installs properly, but then Studio crashes upon start-up and I have to remove the plug-in. Same behavior of all machines in my unit.

Error message = Failed to initialize view 'QualitivityViewController'. / Can't open Database file / System.Data.SQLite.SQLiteException, System.Data.SQLite, Version=1.0.111.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139 (see message below).

Important information

We're part of a larger organization with very high IT security standards, which means that our user profiles do not have admin or full access rights on a great many C drive locations. I asked one of our IT specialists to run Studio with the plug-in in admin mode on my computer and everything worked like a charm. Unfortunately, this is not a working solution for us. I'm trying to find a workaround and I'd need your help.

I can see from the various threads in the community that a number of users in large corporate or academic settings face the same issue (e.g.  https://community.rws.com/product-groups/trados-portfolio/rws-appstore/f/rws-appstore/41666/qualitivity-app-installation-problem-studio-cannot-load-afterwards).

Possibly useful information for the TRADOS Development Team and other users

When I first tried to diagnose and solve the issue, I discovered that the Trados Studio installation was not complete on our computers. No idea why.

A proper comparison of a corporate and a private installation, on two computers with different rights profiles, showed that the professional computer was missing the following two files in folder C:\Program Files (x86)\SDL\SDL plugin installer:

ObjectListView.dll

SDL.Community.Controls.dll

I had someone in the IT department copy and paste these two files into the relevant folder on my professional computer (I don't have the rights to do so in that location). It did not solve my issue, but it is probably a necessary fist step.

The way forward - Questions

My assumption is that the plug-in tries to open or modify a file located in a folder such as "Program Files (x86)", etc. on the C drive, asking for rights I do not have on my computer. 

Questions:

1- From the attached error message and your knowledge of how the plug-in works, are you able to figure out which file/rights setting is causing the issue?

2- Applications have "Modify" rights on the following location C:\Users\[username]\Documents\Qualitivity\Database. Is this enough?

3- Do you have any ideas for a workaround?

Many thanks in advance for your help

Gwen

P.S: we're using Trados Studio 2021 SR2 - 16.2.9.9198 (same issue with Studio 2019, and Studio 2021 SR1)

<SDLErrorDetails time="19/01/2023 07:52:17">
  <ErrorMessage>Failed to initialize view 'QualitivityViewController'.</ErrorMessage>
  <Exception>
    <Type>Sdl.Desktop.Platform.StudioException, Sdl.Desktop.Platform, Version=16.0.0.0, Culture=neutral, PublicKeyToken=c28cdb26c445c888</Type>
    <HelpLink />
    <Source>Sdl.Desktop.Platform</Source>
    <HResult>-2146233088</HResult>
    <StackTrace><![CDATA[   at Sdl.Desktop.Platform.Implementation.StudioWindow.EnsureViewSite(IViewReference viewReference)
   at Sdl.Desktop.Platform.Implementation.StudioWindow.GetController(String viewId)
   at Sdl.Desktop.IntegrationApi.Internal.ExtensionBuilders.AbstractViewControllerBuilder.Build(IExtension extension, Object defaultInstance, ExtensionArguments arguments)
   at Sdl.Core.PluginFramework.Integration.ExtensionsRepository.AddExtension[TResult](IExtension extension, ExtensionArguments arguments, Func`4 instanceCreator)
   at Sdl.Core.PluginFramework.Integration.ExtensionBuilderFactory.Build[TResult](IExtension extension, ExtensionArguments arguments, Boolean useCache)
   at Sdl.Core.PluginFramework.Integration.ExtensionBuilderFactory.<>c__DisplayClass4_0`2.<Build>b__0(IExtension extension)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Sdl.Core.PluginFramework.Integration.ExtensionBuilderFactory.Build[TAttribute,TResult](ExtensionArguments arguments, Boolean useCache)
   at Sdl.Core.PluginFramework.Integration.ExtensionsFactory.Create[TAttribute,TResult](ExtensionArguments arguments, Boolean useCache)
   at Sdl.Desktop.Platform.Implementation.ViewRegistry.InitializeIntegrationControllers()
   at Sdl.Desktop.Platform.Implementation.ViewRegistryOperator.InitializeIntegrationControllers()
   at Sdl.Desktop.Platform.Implementation.StudioWindow.Init(IEventAggregator eventAggregator)
   at Sdl.Desktop.Platform.Implementation.Studio.CreateWindowInternal(Boolean setActive, IEventAggregator eventAggregator)
   at Sdl.Desktop.Platform.Implementation.Studio.Run(ISplashScreen splashScreen, IEventAggregator eventAggregator, IPluginLoaderService pluginLoaderService, ICommandLineParsingService commandLineParsingService)
   at Sdl.TranslationStudio.Application.Launcher.RunApplication()]]></StackTrace>
    <InnerException>
      <Type>System.Data.SQLite.SQLiteException, System.Data.SQLite, Version=1.0.111.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139</Type>
      <ResultCode>CantOpen</ResultCode>
      <ErrorCode>14</ErrorCode>
      <HelpLink />
      <Source>System.Data.SQLite</Source>
      <HResult>-2147481601</HResult>
      <StackTrace><![CDATA[   at System.Data.SQLite.SQLite3.Open(String strFilename, String vfsName, SQLiteConnectionFlags connectionFlags, SQLiteOpenFlagsEnum openFlags, Int32 maxPoolSize, Boolean usePool)
   at System.Data.SQLite.SQLiteConnection.Open()
   at Sdl.Community.TM.Database.Query.InitializeSettings(String databasePath, List`1 viewSettings, List`1 backupSettings, List`1 generalSettings, List`1 trackerSettings)
   at Sdl.Community.Qualitivity.Panels.Main.QualitivityViewController.Initialize(IViewContext context)
   at Sdl.Desktop.IntegrationApi.AbstractViewController.Sdl.Desktop.IntegrationApi.Internal.IViewController.Initialize(IViewContext context)
   at Sdl.Desktop.IntegrationApi.Internal.Adaptors.InternalDockingViewAdaptor.OnInit(IViewSite site, ISettingsGroup settings)
   at Sdl.Desktop.Platform.AbstractView.Init(IViewSite site, ISettingsGroup settings)
   at Sdl.Desktop.Platform.Implementation.StudioWindow.EnsureViewSite(IViewReference viewReference)]]></StackTrace>
    </InnerException>
  </Exception>
  <Environment>
    <ProductName>Trados Studio</ProductName>
    <ProductVersion>Studio16</ProductVersion>
    <EntryAssemblyFileVersion>16.2.9.9198</EntryAssemblyFileVersion>
    <OperatingSystem>Microsoft Windows 10 Enterprise</OperatingSystem>
    <ServicePack>NULL</ServicePack>
    <OperatingSystemLanguage>1033</OperatingSystemLanguage>
    <CodePage>1252</CodePage>
    <LoggedOnUser>OECDMAIN\Gondry_G</LoggedOnUser>
    <DotNetFrameWork>4.0.30319.42000</DotNetFrameWork>
    <ComputerName>XL-OECD430D</ComputerName>
    <ConnectedToNetwork>True</ConnectedToNetwork>
    <PhysicalMemory>16492932 MB</PhysicalMemory>
  </Environment>
</SDLErrorDetails>

emoji
Parents
  • Hi  

    I have prepared a new release of Qualitivity with changes that should unblock your team in overriding the default system paths that users don't have authorization to access from your domain.  The release version is 4.1.6.0 (Studio 2021 SR2 CU12); it's currently in QA so might be a few days before it is officially released on the AppStore.

    Updates:

    • Enable user to override the default system paths for MyDocument & ApplicationData from a configuration file.
    • Removed 'Sdl.Community.' from the assembly output names.
    • Bumped release version to 4.1.6.0

    Details:
    Starting with this latest release, a new configuration file 'Qualitivity.dll.config' is unpacked in plugins folder (...\SDL\SDL Trados Studio\16\Plugins\Unpacked\Qualitivity\Qualitivity.dll.config) when you load the plugin in Trados Studio. The configuration file enables the user to override the default system paths for MyDocumentsPath & ApplicationDataPath
    Note: It is possible to specify the same folder for both.  If the folder/s specified are empty or not valid, then the default system path/s are used.

    Example: (Qualitivity.dll.config)

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
     <appSettings>
      <add key="MyDocumentsPath" value="C:\Temp\" />
      <add key="ApplicationDataPath" value="C:\Temp\" />
     </appSettings>
    </configuration> 

    Related issue here: community.rws.com/.../trados-studio-2019-plugin-database-file-not-accessible-on-network-path

    emoji
Reply
  • Hi  

    I have prepared a new release of Qualitivity with changes that should unblock your team in overriding the default system paths that users don't have authorization to access from your domain.  The release version is 4.1.6.0 (Studio 2021 SR2 CU12); it's currently in QA so might be a few days before it is officially released on the AppStore.

    Updates:

    • Enable user to override the default system paths for MyDocument & ApplicationData from a configuration file.
    • Removed 'Sdl.Community.' from the assembly output names.
    • Bumped release version to 4.1.6.0

    Details:
    Starting with this latest release, a new configuration file 'Qualitivity.dll.config' is unpacked in plugins folder (...\SDL\SDL Trados Studio\16\Plugins\Unpacked\Qualitivity\Qualitivity.dll.config) when you load the plugin in Trados Studio. The configuration file enables the user to override the default system paths for MyDocumentsPath & ApplicationDataPath
    Note: It is possible to specify the same folder for both.  If the folder/s specified are empty or not valid, then the default system path/s are used.

    Example: (Qualitivity.dll.config)

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
     <appSettings>
      <add key="MyDocumentsPath" value="C:\Temp\" />
      <add key="ApplicationDataPath" value="C:\Temp\" />
     </appSettings>
    </configuration> 

    Related issue here: community.rws.com/.../trados-studio-2019-plugin-database-file-not-accessible-on-network-path

    emoji
Children