We have a .NetCore application which uses SqlCipher for Sqlite encryption.
The appication is installed and runs as a service on the client machine.
We are running into issues using SqlCipher on some of our installations
(more notably Windows 10 VM on Hyper-V - using Quick Install → Windows 10 MSIX Package)
When attempting to start the service(application), we are seeing the following exceptions:
Exception Info:
The process was terminated due to an unhandled exception.
System.DllNotFoundException. Dll was not found
at SqlitePCL.Sqlite3Provider_sqlcipher.SqlitePCK.ISQlite3Provider.sqlit3_libversion_number()
Once again, this issue does not happen on all our test installations, it mostly occurs on the
Hyper-V VM noted above.
We were able to get around the runtime exception by including the following package in our build:
Inclusion of this package causes issues with encryption resulting in the Sqlite DB not getting encrypted.
Here are the NuGet packages we are including:
PackageReference Include=“Microsoft.Data.Sqlite.Core” Version=“7.0.9”
PackageReference Include=“SQLitePCLRaw.bundle_zetetic” Version=“2.1.5”
PackageReference Include=“zetetic-sqlcipher-windows-fips” Version=“4.5.3”
I’ve attached a screenshot highlighting the error we see in the event viewer:
Can you please help us investigate this further as to why it is only failing in some environments?
Thanks,
JohnB