Reputation: 13
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
Upvotes: 1
Views: 488
Reputation: 485
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.
Upvotes: 1