Frage

I started out using System.Data.SQLite and "SELECT load_extension("path/to/zumero.dll")", but am currently using the SQLite windows shell because I assumed I was somehow doing it wrong. I get the same error in the shell as I do when I try and load the extension in C# world.

sqlite> .load "windows\ext\x64\zumero.dll";
Error: The specified module could not be found.

Specifying the absolute path results in the same error message. When I open it using a dependency walker, apparently the following dependencies are missing:

API-MS-WIN-CORE-COM-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
DCOMP.DLL
IESHIMS.DLL

I feel like I must be doing something wrong here (the dependency on WinRT seems weird) but can't really see what. The "end-game" is having a C# web application on a Win Server 2008 R2 machine that writes data to a Zumero SQLite instance, which gets synchronized to a number of mobile devices.

Cheers

War es hilfreich?

Lösung

I reproduced your problem right away and had the same feeling of "must be doing something wrong" for a while, because I know this was tested on systems as far back as XP. Turns out it's a problem of backslashes \ in strings (ugh); SQLite uses them for escaping. Just use forward-slashes / instead, or double them \\. I'm going to add an explicit note to the README about that.

I agree that the WinRT dependencies seem weird at first glance. Looks like they're all ultimately a result of Zumero's dependency on wininet.dll. The WinRT DLLs are way down there underneath system modules like shell32.dll. Interesting how deep in the system they are, though I guess ultimately it's not too surprising.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top