Photolab 6 crashes during start-up (ADO.NET provider problem)

I purchased PL6 yesterday, but unfortunately it does not start.

At about 3/4 of the progressbar I get the info message that it crashed.

The error report contains the info that the ADO dataprovider for sqllight count not be found. I cannot find it my machine.config file. I don’t know how to install it or why I need to install it. Other software which utilizes sqlight runs fine, i.e fotoarray or lightroom.

How can I fix this issue?

System.ArgumentException: The ADO.NET provider with invariant name ‘System.Data.SQLite’ is either not registered in the machine or application config file, or could not be loaded. See the inner exception for details. —> System.
ArgumentException: Der angeforderte .Net Framework-Datenprovider kann nicht gefunden werden. Er ist ggf. nicht installiert.

Thanks,
Julian

Hi Julian,
never seen that notice. Just reload (download) the program again and …

Hello @fotoARRAY

you didn’t tell us which windows (10 or 11) you use, and if the system is actually patched. The Net framework components will be also updated regularly and sometimes not all components are installed correct.

I’m not sure which net Framework DXO needs but maybe other members can supplement this info.

Maybe a search on google with “net framework windows” will give you also some hints to repair the NET components

Re-download and install PhotoLab. Update Windows with the latest patches and components, including .NET Framework. If that doesn’t solve this, run the following command in a PowerShell with admin privileges:

sfc /scannow

Thanks for the answer. I am using Windows 10. I now installed Visual Studio 2022 which should include the frame work also. Of course I tried to reinstall PL6.

I checked the file machine.config which does not include the SQLight link - but I don’t know how it can be added there. The methods using nuget do not work, since that all requires a project to be updated.

sfc /scannow did not report any problems and windows update says everything is up to date.

I now went there:
https://www.microsoft.com/en-US/download/details.aspx?id=17718

The .NET setup would not install because it says I have it already.

The problem happens here:

Exception: System.ArgumentException The ADO.NET provider with invariant name ‘System.Data.SQLite’ is either not registered in the machine or application config file, or could not be loaded. See the inner exception for details. bei System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver.<>c.b__0_0(ArgumentException e, String n)
bei System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver.GetService(Type type, Object key, Func3 handleFailedLookup) bei System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory) bei System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext()
bei System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 source, Func2 predicate)
bei System.Data.Entity.Infrastructure.DependencyResolution.RootDependencyResolver.GetService(Type type, Object key)
bei System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext() bei System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 source, Func2 predicate) bei System.Data.Entity.Infrastructure.DependencyResolution.CompositeResolver2.GetService(Type type, Object key)
bei System.Data.Entity.Infrastructure.DependencyResolution.DbDependencyResolverExtensions.GetService[T](IDbDependencyResolver resolver, Object key)
bei System.Data.Entity.Core.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
bei System.Data.Entity.Core.Objects.ObjectContext.CreateEntityConnection(String connectionString)
bei DxO.OpticsPro.Database.EF.OpticsProDBEntities…ctor(String connectionString)
bei DxO.PhotoLab.DataModels.Handlers.DopOutputItemHandler.GetLastOutputItemsProcessDuration(Int32 numberOfItems, Queue1& rawStats, Queue1& rgbStats)
bei DxO.PhotoLab.Processing.Statistics.ProcessingServiceStatistics.InitLastDurations(Int32 count)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
bei System.Threading.ThreadPoolWorkQueue.Dispatch()
System.ArgumentException Der angeforderte .Net Framework-Datenprovider kann nicht gefunden werden. Er ist ggf. nicht installiert. bei System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
bei System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver.GetService(Type type, Object key, Func`3 handleFailedLookup)
2022-11-21 20:00:46.820 | DxO.PhotoLab - 13596 - 21 | Database - Info | Profiling DxO.PhotoLab.Database.DOPDB.SaveChanges : 0 ms

I just found out that it is impossible to de/re-install the .net framework. dotNetFx40_Full_x86_x64.exe /repair will not do anything.

in nuget
Install-Package System.Data.SQLite

also des not work because no project is open

Same with

dotnet add package Microsoft.Data.Sqlite

or

Install-Package Microsoft.Data.Sqlite

This is a rather unusual problem IMO. Since the sfc command returned no errors, try the dism command as described here:

Use the System File Checker tool to repair missing or corrupted system files - Microsoft Support

If that doesn’t find anything wrong, then I think you’ll have to either try DxO tech support or rely on Internet searches or Microsoft to find more suggestions for fixing this.

I also recommend looking through your Windows application and system logs in the Event Viewer to see if any other errors are being reported.

In VisualStudio 2022 I create a simple project and then used
Install-Package microsoft.data.sqlite

That worked - something was installed. That does not help PL unfortunately.

In the config file I see:

  <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.114.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>

System.Data.SQLite.DLL was also installed in the PL6 folder. So the question remains why it was mot loaded.

It seems so that PL6 does not use the SQLight manager by Microsoft but a rather old one 1.0.114.0 made by Hipp. Wyrick which has been installed in the program folder. The signature appears to be correct, too.

DISM.exe /Online /Cleanup-image /Restorehealth also did not change anything.

I have no ideas now how to fix this.
This all makes no sense.

Okay, one more thought. Do you have antivirus/security software running? (Anything at all.) Check to see if it quarantined or inhibited anything during the PhotoLab installation. The installer might not have been able to register its dependencies correctly because of that, or perhaps files were altered. You can always try disabling your security software and then rerunning the PhotoLab installer.

A related question: are you using any software that sandboxes applications or otherwise controls how they interact with the operating system and other apps?

To take this further still: you probably want to shut down as many other applications as you can before reinstalling PhotoLab, just to be sure they aren’t interfering.

Thank You, that was a good idea.
I tried reinstallation - but the error remains. I also shut down other software. I don’t use a sandbox security system.

The problem is created by the SQLight link. I posted the stack dump above which should tell the developers where it happend.

I’d urge you to raise a support ticket with DxO for this. This is a user forum with a lot of knowledgeable and helpful people but you’ve paid for a product you can’t use - the advice you get here is not normally official, nor is it regularly reviewed by the DxO dev team

Thank You for responding. I did that.

I check the windows event manager. I cannot see a problem regariding PL6 or SQLLight. What I see is “Der ‘First Counter’-Wert, der dem Registrierungsschlüssel ‘HKLM\SYSTEM\CurrentControlSet\Services\MSSQL$SQLEXPRESS\Performance’ zugeordnet ist, kann nicht abgefragt werden. SQL Server-Leistungsindikatoren sind deaktiviert.”. I don’t know if this has to do with SQLLight.

It shouldn’t be this hard - it’s not normal to have to faff about with SQLite or dotNET components to get PL to work - this is a rare problem indeed I’m sure.

Take a step back. What’s “different” about your PC? Do you have any custom setups, or have you modified anything at a system level to get something else to work?

I don’t recall any change but I habe multiple development tools on my system.

looked for the installation of sqlight. The DLL sqlight3.DLL is not in the PL Application directory or in the System directory. I don’t know if this is normal.

The registry key refers to MS SQL, not SQLite, but that could be a red herring.

I guess you’ve modified PATH? Try uninstalling, create a new local windows user with admin rights, reboot, log in as new user, reinstall

My last idea if it’s a net error, you can check which version and updates are installed with the help from this articles .NET Framework & Windows OS versions - .NET Framework | Microsoft Learn
good luck

Similar issue here Windows 11 fully patched, “sfc /scannow” ok. Seem to be a SQL error to:

System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SQLite.SQLiteException: SQL logic error
no such column: Extent1.StoreLabel
   at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
   at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
   at System.Data.SQLite.SQLiteDataReader.NextResult()
   at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
   at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
   at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)

Any solution from your side? I will check with the Support