Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem instalace SQLite-1.0.64.0-binaries.zip

Múžete mi poradit jak se instaluje SQLite binaries.zip ?Mám tento problém,našel jsem řešení, ale text je jen v angličtině a nejsem z toho moc chytrej.

Problém-konflikt:
My application is targeted at 'any CPU' and Frameworrk 2.0. A customer running the 64-bit version of Windows 7 Ultimate 64bit is getting the following error:
BadImageFormatException: Could not load file or assembly
'System.Data.SQLite, Version=1.0.64.0, Culture=neutral,
PublicKeyToken=db937bc2d44ff139' or one of its dependencies. An attempt was
made to load a program with an incorrect format.
File name: 'System.Data.SQLite, Version=1.0.64.0, Culture=neutral,
PublicKeyToken=db937bc2d44ff139'

Řešení:
The problem comes from the fact that System.Data.SQLite is a wrapper arround an unmanaged dll SQLite.dll.
In order to reduce deployment issues, System.Data.SQLite include the unmanaged dll as a resource.
The standard download includes the 32-bit mode dll of SQLite.

When an application build with target "any CPU" is run on a 64-bit OS, the application runs in 64-bit mode.
When a call is done to System.Data.SQLite, the application tries to load the unmanaged 32-bit and thus the exception.

You can do 2 things :
- Download the 64-bit version of System.Data.SQLite. This includes the 64-bit version of the unmanaged dll and so will run on 64-bit systems.
This will not run on 32-bit OS, so you will have to make a special build for each OS.
- Build your application with target x86. This will force 32-bit mode even on 64-bit OS.
This allows you application to run on both 64 and 32 bit OS.

You can also request a new feature, but I don't know if that is even possible :
Include both 32 and 64 -bit unmanaged dll's and at runtime determine the mode the application runs in.

Nainstalované mám Windows 7 Ultimate 64bit
To druhé chybové hlášení se týká emailu-Thunderbirdu, tam také nevím co s tím, abych to napravil.
Děkuji všem předem za pomoc.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
ten první problém je jasný a je tam popsáno i řešení - máš 64b OS (a 64b web server nebo aplikaci) a…
touchwood 05.05.2010 06:47
touchwood
Re:Touchwood Moc ti děkuji za radu, prosím tě, ten obsah z adresáře x64 SQLite mám nakopírovat kam…
Bred72 05.05.2010 10:56
Bred72
tu knihovnu musíš dát tam, odkud si ji bere ten tvůj program (nevím, zda to je webserver (a jaký)).…
touchwood 05.05.2010 15:56
touchwood
Re:Touchwood tak už nevím, dal jsem nové DLL tam kde byla ta původní, restartoval a zase ta hláška…
Bred72 06.05.2010 16:21
Bred72
Přiznám se, že opravdu nerozumím tomu, jak mohla hláška o špatné verzi sqlite DLL-ka vyskakovat ješt…
touchwood 06.05.2010 18:50
touchwood
Dal jsem tam 64bit DLL. Včera večer zapnu comp a NOD32 na mě vyplivl, že přesně na tom místě kde do… poslední
Bred72 07.05.2010 08:17
Bred72

ten první problém je jasný a je tam popsáno i řešení - máš 64b OS (a 64b web server nebo aplikaci) a pokoušíš se do něj použít 32b DLL (SQLlite). Řešení je stáhnout a použít 64b verzi tohoto DLL (viz adresář x64 z tohoto archivu: http://sourceforge.net/projects/sqlite-dotnet2/fil es/SQLite%20for%20ADO.NET%202.0/1.0.66.0/SQLite-1. 0.66.0-binaries.zip/download)

Druhý problém je ještě jednodušší - nemáš nastavenu autentikaci (jméno/heslo) pro SMTP server.

Re:Touchwood

Moc ti děkuji za radu, prosím tě, ten obsah z adresáře x64 SQLite mám nakopírovat kam přesně? To mi právě není jasné.Do Program Files x86, vytvořit novou složku SQLite a tam to nakopírovat, nebo už tam je vytvořený (to jsem se ještě nedíval) a jen tam nakopírovat obsah x64? Na "C" mám 2 adresáře:jeden s názvem program files, druhý s názvem program files x86.Doufám že nekecám, ted jsem v práci a týká se to mašiny co je doma.

K tomu druhému problému, v poštovním klientu (Thunderbird) mám nastavit pro SMTP server (jméno/heslo) co používám pro přihlašování pro stahování pošty? Možná se ptám pro někoho na stupidity, ale v tomto jsem poněkud lama:-)

Ještě jednou moc děkuji.

tu knihovnu musíš dát tam, odkud si ji bere ten tvůj program (nevím, zda to je webserver (a jaký)). Stačí si dát vyhledat to původní DLLko. Ideální je IMHO přečíst si návod k SQlite, určitě to tam je popsané.

Co se týká thunderbirda, musíš použít takové jméno/heslo, k jakému SMTP serveru se hlásíš. Když to bude gmail, musíš použít gmailový účet, když to bude SMTP seznamu, musíš použít seznamácký účet. Když to bude SMTP server tvého ISP, musíš použít účet od tvého ISP.

P.S.: nemusíš se omlouvat za to, že něco neumíš/nevíš, důležité je, abys vyvinul vlastní snahu a úsilí o dosažení cíle a zároveň spolupracoval s těmi, co se ti snaží poradit.

Re:Touchwood

tak už nevím, dal jsem nové DLL tam kde byla ta původní, restartoval a zase ta hláška vyběhne.
Problém je, že ta původní je tam v podstatě nová a i tu jsem instaloval až v době, kdy už hláška vyskakovala.Když už byl problém tak teprve tehdy jsem instaloval SQLite s tím že to snad vyřeší danou věc.Takže v momentě kdy na mě poprvé vyběhla hláška o konfliktu jsem v compu žádnou System.Data.SQLite.DLL neměl.Zkoušel jsem projít kompletně celý comp a nikde jinde žádná další není a dříve nebyla.Ani ve Win přímo v systému žádná není.

Díval jsem se na tu poštu - ovládací panely, je tam jen ikona "Pošta 32bit" přidal jsem názvy účtů, doplnil SMTP servery jméno/heslo, vše proběhlo korektně, pak restartoval a zase stejná písnička, opět vyskočí okno s hláškou o konfliktu.

Nemůže to být úplně něco jiného? Když se podívám na správce úloh tak to oboje inicializuje proces "woc..." (ted nejsem u toho a nevzpomenu si na ty dalsi 3písmena večer mohu doplnit), ale co je možná podstatné, ten zástupce toho procesu který to spouští (ten woc...) je prázdné okénko-nemá to nic konkrétního přiřazené)

Děkuji za další rady:-)

Přiznám se, že opravdu nerozumím tomu, jak mohla hláška o špatné verzi sqlite DLL-ka vyskakovat ještě před tím, než jsi jej poprvé nainstaloval.. :-)

Není to náhodou tak, že to SQlite obsahoval už jiný instalační balík?

Dal jsem tam 64bit DLL.

Včera večer zapnu comp a NOD32 na mě vyplivl, že přesně na tom místě kde dochází ke konfliktu jsou 2 červi.
Jeden s názvem nvdisp.exe, druhý 4lfyu4680LF.exe
Oba umístěné C/users/oem/AppData/Roaming
NOD32 je označil jako MSIL/Autorun.Spy.Agent.C.červ

po přemístění do karantény a restartu už ty hlášky nevyběhly, ve správci úloh zž procesy OK

Zpět do poradny Odpovědět na původní otázku Nahoru