Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Installare correttamente il "Redistributable" System.Data.SQLite

1,559 views
Skip to first unread message

Daniele Pinna

unread,
Feb 3, 2012, 8:59:19 AM2/3/12
to

Salve a tutti :-)

Ho creato un piccolo programma con VS2010 e invece di usare il solito
database .MDB ho voluto fare delle prove con SQLIte, installando la
libreria: System.Data.SQLite.dll


Il programma funziona correttamente su due PC, ma in entrambi ho
installato l'ambiente di sviluppo.

Non riesco a farlo funzionare negli altri PC (dove ovviamente non DEVO
installare l'ambiente di sviluppo)... ma in quei PC l'installazione
della libreria System.Data.SQLite.dll non riesce.

L'errore del programma, sia installato tramite il metodo della
"pubblicazione" di VS2010, sia tramite innosetup, mi da questo errore:

---
Le informazioni su come richiamare il debug JIT (Just-In-Time) anziché
questa finestra
sono riportate in fondo al messaggio.

************** Testo dell'eccezione **************
System.IO.FileNotFoundException: Impossibile caricare il file o
l'assembly 'System.Data.SQLite.dll' o una delle relative dipendenze.
Impossibile trovare il modulo specificato.
Nome file: 'System.Data.SQLite.dll'
in
WindowsApplication1.OTO__CLDataSetTableAdapters.ClientiTableAdapter.Fill(ClientiDataTable
dataTable)
in WindowsApplication1.frmMain.frmMain_Load(Object sender, EventArgs e)
in System.EventHandler.Invoke(Object sender, EventArgs e)
in System.Windows.Forms.Form.OnLoad(EventArgs e)
in System.Windows.Forms.Form.OnCreateControl()
in System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
in System.Windows.Forms.Control.CreateControl()
in System.Windows.Forms.Control.WmShowWindow(Message& m)
in System.Windows.Forms.Control.WndProc(Message& m)
in System.Windows.Forms.ScrollableControl.WndProc(Message& m)
in System.Windows.Forms.Form.WmShowWindow(Message& m)
in System.Windows.Forms.Form.WndProc(Message& m)
in
System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32
msg, IntPtr wparam, IntPtr lparam)




************** Assembly caricati **************
mscorlib
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.239 (RTMGDR.030319-2300)
Base di codice:
file:///C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
OTO-CL
Versione assembly: 0.9.0.0
Versione Win32: 0.9.0.0
Base di codice: file:///C:/Programmi/OTO-CL/OTO-CL.exe
----------------------------------------
Microsoft.VisualBasic
Versione assembly: 10.0.0.0
Versione Win32: 10.0.30319.1 built by: RTMRel
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.236 built by: RTMGDR
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.233 built by: RTMGDR
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.235 built by: RTMGDR
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.1 built by: RTMRel
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.1 (RTMRel.030319-0100)
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Data
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.237 (RTMGDR.030319-2300)
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Xml
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.233 built by: RTMGDR
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Windows.Forms.resources
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.235 built by: RTMGDR
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_it_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
System.Data.DataSetExtensions
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.1 built by: RTMRel
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Data.DataSetExtensions/v4.0_4.0.0.0__b77a5c561934e089/System.Data.DataSetExtensions.dll
----------------------------------------
System.Numerics
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.1 built by: RTMRel
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
Accessibility
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.1 built by: RTMRel
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Configuration
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.1 (RTMRel.030319-0100)
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
mscorlib.resources
Versione assembly: 4.0.0.0
Versione Win32: 4.0.30319.235 (RTMGDR.030319-2300)
Base di codice:
file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_it_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

************** Debug JIT **************
Per abilitare il debug JIT, è necessario impostare il valore
jitDebugging nella sezione system.windows.forms del file di configurazione
dell'applicazione o del computer (machine.config).
L'applicazione inoltre deve essere compilata con il debug
abilitato.

Ad esempio:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Quando il debug JIT è abilitato, tutte le eccezioni non gestite
vengono inviate al debugger JIT registrato nel computer,
anziché essere gestite da questa finestra di dialogo.

---


Ovviamente la libreria System.Data.SQLite.dll l'ho copiata nella
cartella dei programmi e anche in System32...

Se non la vede evidentemente va copiata da qualche altra parte.

Ho pensato bene di installarla usando i file che ho scaricato da questo
sito:
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

in particolare con scaricando i file relativi al FW 4.0 (su cui è basato
il programmino) a 32bit:
- sqlite-netFx40-setup-bundle-x86-2010-1.0.79.0.exe
- sqlite-netFx40-setup-x86-2010-1.0.79.0.exe

con i quali ottengo questo errore:
"The Microsoft .NET Framework v4.0 with Service Pack 0 or higher is
required"

Ma il FW 4.0 è installato al 100% (in effetti il programma, dopo
l'errore, se clicco su continua, parte... ma non legge/scrive il DB)

Ho proavato anche con questi:
sqlite-netFx40-binary-bundle-Win32-2010-1.0.79.0.zip
sqlite-netFx40-binary-Win32-2010-1.0.79.0.zip
sqlite-netFx40-static-binary-bundle-Win32-2010-1.0.79.0.zip
sqlite-netFx40-static-binary-Win32-2010-1.0.79.0.zip


con i quali ottrengo quest'altro errore, dopo aver scompattato i file
.ZIP e cliccato sul programma "install"

System.Data.SQLite Design Installer
Cannot continue, the "confirm" option is not enabled


Ho provato anche ad installare un'altra libreria, presa da questo sito:
http://sqlite.phxsoftware.com/

Insomma... in definitiva penso di aver fatto un bel casino :-)
Sono tentato di modificare il progetto per usare il classico .MDB

E pensare che all'inizio, quando ho pensato di usare SQLite, avevo letto
che bastava copiare la relativa .DLL nella cartella del programma :-\

Sbaglio qualcosa? Certamente si... ma non ho capito se nell'usare il
giusto "redistributable" o in qualche impostazione di VS2010

Ringrazio Anticipatamente per le Risposte :-)


--
Daniele Pinna (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: http://www.dapinna.com
Il Docfa in Pillole: http://www.ildocfainpillole.it
DAPINNA.COM su Facebook:
www.facebook.com/pages/Sassari-Italy/DAPINNACOM/110085322371199
-----
** Now Powered by Linux KUbuntu 11.10 "Oneric Ocelot" **

Daniele Pinna (Ufficio)

unread,
Feb 3, 2012, 10:43:42 AM2/3/12
to
Il 03/02/2012 14.59, Daniele Pinna ha scritto:
>

Forse ho risolto (spero che non sia un caso, per ora ho provato solo su
un PC)...

Cmq ho modificato il file System.Data.SQLite che lincavo nel progetto e
ne ho inserito un altro, proveniente dal file
sqlite-netFx40-static-binary-Win32-2010-1.0.79.0.zip

In particolare ho usato (fra i riferimenti) System.Data.SQLite.dll
e l'ho anche copiato nella cartella del programma insieme a
SQLite.Interop.dll.





--
Daniele Pinna
DAPINNA.COM
(leva oops per rispondere)
-----
Utente Skype: dapinna
DAPINNA.COM : http://www.dapinna.com
Il Docfa in Pillole: http://www.ildocfainpillole.it - Sito Aggiornato!!!
DAPINNA.COM su Facebook:
www.facebook.com/pages/Sassari-Italy/DAPINNACOM/110085322371199

Nicola Ottomano

unread,
Feb 3, 2012, 11:05:38 AM2/3/12
to
Occhio ad utilizzare la versione .NET specifica per l'ambiente sul quale viene installato.
Se è x86 deve girare una versione, se è x64 ne server un'altra.

Ad occhio, poi, io utilizzerei la versione bundle (sqlite-netFx40-binary-bundle-Win32-2010-1.0.79.0.zip), quella senza la dll di Interop che dovrebbe essere la versione unmanaged.

Io sono un pò indietro con sqlite in quanto il mio software per ottici è in .net 2.0 ed uso ancora la vecchia versione della dll che era un pò diversa da quelle attuali.

Nicola


Daniele Pinna (Ufficio)

unread,
Feb 3, 2012, 11:27:52 AM2/3/12
to
Il 03/02/2012 17.05, Nicola Ottomano ha scritto:
> Occhio ad utilizzare la versione .NET specifica per l'ambiente sul quale viene installato.
> Se è x86 deve girare una versione, se è x64 ne server un'altra.

Per ora non è un problema...
Chi deve usare il programmino usa WinXP 32bit ed eventuali aggiornamenti
di PC saranno cmq con Downgrade a XP :-)



> Ad occhio, poi, io utilizzerei la versione bundle (sqlite-netFx40-binary-bundle-Win32-2010-1.0.79.0.zip), quella senza la dll di Interop che dovrebbe essere la versione unmanaged.

Per ora ho risolto, cmq proverò anche con quella... semplicemente
referenziando la DLL e poi copiandola durante l'installazione.
Anche per capire meglio come funziona...
La mia idea di usare SQLite per questo progetto era anche per un uso più
proficuo successivo (magari anche convertendo un programma già
funzionante che ora usa MDB :-))) )

Sicuramente è da provare/capire come risolvere eventuali problemi della
libreria quando la destinazione è x64 invece che x86 (presumo basti
copiare la giusta DLL... )

> Io sono un pò indietro con sqlite in quanto il mio software per ottici è in .net 2.0 ed uso ancora la vecchia versione della dll che era un pò diversa da quelle attuali.



Wodka40°

unread,
Feb 3, 2012, 11:37:26 AM2/3/12
to
Il 03/02/2012, Daniele Pinna ha detto :
> Salve a tutti :-)
occhio che devi scaricare la versione giusta per il Framework che hai
installato!
Non puoi installare il NET4.0 e usare SQlitedata 3.5...ti esplode come
hai visto!
se però lo fai funziona alla grande ...tranquillo! Persino su Aruba
checchè aruba dica di no!

--
----- Italliaaaaa 3227! -----
Quando vedi la tua verità fiorire sulle labbra del tuo nemico, devi
gioire, perché questo è il segno della vittoria.
(Giorgio Almirante)


Nicola Ottomano

unread,
Feb 3, 2012, 12:13:49 PM2/3/12
to
Il 03/02/2012 17.27, Daniele Pinna (Ufficio) ha scritto:

> Sicuramente è da provare/capire come risolvere eventuali problemi della libreria quando la destinazione è x64 invece che x86 (presumo basti copiare la giusta DLL... )

Si, è sufficiente copiare la giusta dll. Io con InnoSetup ho creato uno script di installazione che fa un controllo sulla piattaforma in cui sta installando e provvede a copiare la dll corretta.

Come ti diceva il buon Wodka, con SQLite ci fai veramente di tutto e gira praticamente ovunque.
Il grande vantaggio è la sua estrema leggerezza... pochi kb sono sufficienti ad avere l'intero motore del db!

Nicola

Daniele Pinna (Ufficio)

unread,
Feb 3, 2012, 12:55:01 PM2/3/12
to
Il 03/02/2012 18.13, Nicola Ottomano ha scritto:
> Il 03/02/2012 17.27, Daniele Pinna (Ufficio) ha scritto:
>
>> Sicuramente è da provare/capire come risolvere eventuali problemi della libreria quando la destinazione è x64 invece che x86 (presumo basti copiare la giusta DLL... )
>
> Si, è sufficiente copiare la giusta dll. Io con InnoSetup ho creato uno script di installazione che fa un controllo sulla piattaforma in cui sta installando e provvede a copiare la dll corretta.

OK...
Puoi condividere lo script?
Io ne uso già uno per verificare la presenza o meno del FW 4.0.
Inizialmente permetteva anche l'installazione ma non faceva vedere nulla
per alcuni minuti (fino al completamente dell'operazione), con programma
di installazione quasi bloccato, per cui ho deciso che se è necessaria
il FW lo faccio installare manualmente :-)


> Come ti diceva il buon Wodka, con SQLite ci fai veramente di tutto e gira praticamente ovunque.
> Il grande vantaggio è la sua estrema leggerezza... pochi kb sono sufficienti ad avere l'intero motore del db!

Be si infatti è leggendo sopratutto in questo NG che ho deciso di
studiare SQLite :-)))

Daniele Pinna (Ufficio)

unread,
Feb 3, 2012, 12:59:20 PM2/3/12
to
Il 03/02/2012 17.37, Wodka40° ha scritto:
> Il 03/02/2012, Daniele Pinna ha detto :
>> Salve a tutti :-)
> occhio che devi scaricare la versione giusta per il Framework che hai
> installato!
> Non puoi installare il NET4.0 e usare SQlitedata 3.5...ti esplode come
> hai visto!

Quello che mi ha "fregato" è che pensavo di dover installare i
"Redistributable" e in realtà non si installava.
In più ci si è messo che ho aggiornato qualcosa nel PC di sviluppo (dove
invece si è installato correttamente) e mi ha incasinato le versioni... :-)


> se però lo fai funziona alla grande ...tranquillo! Persino su Aruba
> checchè aruba dica di no!

Aruche? ;-)))))

(mi tengo il più lontano possibile dal quel provider... :-) )

Daniele Pinna

unread,
Feb 3, 2012, 5:06:35 PM2/3/12
to
Il 03/02/2012 16:43, Daniele Pinna (Ufficio) ha scritto:
> Il 03/02/2012 14.59, Daniele Pinna ha scritto:
>>
>
> Forse ho risolto (spero che non sia un caso, per ora ho provato solo su
> un PC)...
>
> Cmq ho modificato il file System.Data.SQLite che lincavo nel progetto e
> ne ho inserito un altro, proveniente dal file
> sqlite-netFx40-static-binary-Win32-2010-1.0.79.0.zip
>
> In particolare ho usato (fra i riferimenti) System.Data.SQLite.dll
> e l'ho anche copiato nella cartella del programma insieme a
> SQLite.Interop.dll.

Invece non ho risolto per nulla :-(

Questo pomeriggio ho provato su un PC fresco fresco, dove nei giorni
scorsi avevo i problemi, e oggi, dopo le ultime correzioni, il programma
si è installato e ha funzionato senza problemi.

Poco fa l'ho provato su un altro PC, non installato di recente, ma dove
tutto quello che deve funzionare funziona...
Il programmino si installare regolarmente, ma poi da l'errore che non
trova System.Data.SQLite (quello riportato nel post di apertura).



--
Daniele Pinna (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: http://www.dapinna.com
Il Docfa in Pillole: http://www.ildocfainpillole.it

Wodka40°

unread,
Feb 4, 2012, 11:47:35 AM2/4/12
to
Daniele Pinna ci ha detto :
> Il 03/02/2012 16:43, Daniele Pinna (Ufficio) ha scritto:
zac

Occhio che il system.data.sqlite ce ne sono di vari tipi....quello con
Interop.dll e quello con linq.dll...
Il primo è un wrapper alle funzioni credo c di interop...il secondo ha
(credo)tutto dentro di se.
Ma non è finita qui
c'ho sbattuto il capo anche io....progetto FW4 SQLite....sul mio va
bene...su altri no!

Sembra idiota dirlo ma la colpa è ancora una volta dall'inferno delle
dll....sembrava risolto?...mo rientra dalla finestra!


sqlite....FINO A POCO TEMPO FA supportava FW 3.5....anche io ho
trovato una versione "spippolata" che supportava fw 4....però "a quei"
tempi ad esempio entity lo s(o)upportava solo con fw 3.5!
In buona sostanza....occhio che il GPL è cosi: deve star dietro allo
sviluppatore non alle "novità".
Nicola t'ha detto che va con il 2.0....io alla fine ho la webApp che va
con fw 3.5 e sqlite...nel mio pc un miniprogetto con fw4 m'ha fatto
perdere un giorno per referenziare ed aggiornare componenti.

Cmq alla fin fine...vedrai che è solo un problema di dll giuste da
copiare....WELCOME AGAIN IN DLL HELL! BUUUAAAAHAHAHAHAH!(risata
satanica)

p.s.
Il dll hell riappare perchè gestisci una risorsa un-managed:...il core
C delle funzioni sqlite.
..incapsulato in un wrapper net!

--
----- Italliaaaaa 3227! -----
Era Cecco, il figlio del fornaio; era un orribile butterato napoletano,
col culo molto basso ed un alito agghiacciante tipo fogna di Calcutta.
(Fantozzi)


Daniele Pinna

unread,
Feb 5, 2012, 5:40:05 AM2/5/12
to
Il 04/02/2012 17:47, Wodka40° ha scritto:
> Daniele Pinna ci ha detto :
>> Il 03/02/2012 16:43, Daniele Pinna (Ufficio) ha scritto:
> zac
>
> Occhio che il system.data.sqlite ce ne sono di vari tipi....quello con
> Interop.dll e quello con linq.dll...

Si ho visto...

> Il primo è un wrapper alle funzioni credo c di interop...il secondo ha
> (credo)tutto dentro di se.
> Ma non è finita qui
> c'ho sbattuto il capo anche io....progetto FW4 SQLite....sul mio va
> bene...su altri no!

Che è il mio caso...
Ma poi dopo varie prove su un PC sono riuscito a farlo funzionare su un
altro No.

Alla fine però ho capito.
Sul primo PC di prova avevo installato la libreria 1.0.66.0 che
supportava il .NET 2.0 e 3.0 (o 3.5 non ricordo)... ma che
distrattamente non avevo disinstallato (e di questo me ne sono accorto dopo)
In ogni caso nel progetto avevo referenziato e copiato nella cartella
l'ultima versione della libreria cioè la 1.0.79.0 e avevo verificato che
rinominando le DLL SQLite, presenti nella cartella del programma, il
programma non partiva.
Quindi inizialmente ho pensato di aver referenziato una versione e
copiato un altra.

La riprova l'ho avuta sul secondo PC di prova dopo ho installato il
programma (con appresso le DLL 1.0.79.0) e mi dava errore. Ho installato
la libreria 1.0.66.0 e il programma ha iniziato a funzionare.
In ogni caso, rinominando una o entrambe le DLL presenti nella cartella
del programma (System.Data.SQLite.dll e SQLite.Interop.dll entrambi in
versione 1.0.79.0) il programma NON funziona.

Quindi ne setup della libreria 1.0.66.0 c'è qualche altra cosa che viene
installato e che permette ad altre librerie, anche più recenti, di
essere usate/viste.

Per maggiore chiarezza la libreria 1.0.66.0 l'ho scaricata da qui:
http://sqlite.phxsoftware.com/
in particolare:
http://sourceforge.net/projects/sqlite-dotnet2/files/SQLite%20for%20ADO.NET%202.0/1.0.66.0/SQLite-1.0.66.0-setup.exe/download



>
> Sembra idiota dirlo ma la colpa è ancora una volta dall'inferno delle
> dll....sembrava risolto?...mo rientra dalla finestra!

+1



> sqlite....FINO A POCO TEMPO FA supportava FW 3.5....anche io ho trovato
> una versione "spippolata" che supportava fw 4....però "a quei" tempi ad
> esempio entity lo s(o)upportava solo con fw 3.5!
> In buona sostanza....occhio che il GPL è cosi: deve star dietro allo
> sviluppatore non alle "novità".

Quindi è meglio referenziare nel progetto la 1.0.66.0?
Oppure, dato che funziona, lascio la 1.0.79.0?


> Nicola t'ha detto che va con il 2.0....io alla fine ho la webApp che va
> con fw 3.5 e sqlite...nel mio pc un miniprogetto con fw4 m'ha fatto
> perdere un giorno per referenziare ed aggiornare componenti.
>
> Cmq alla fin fine...vedrai che è solo un problema di dll giuste da
> copiare....WELCOME AGAIN IN DLL HELL! BUUUAAAAHAHAHAHAH!(risata satanica)

:-)))


> p.s.
> Il dll hell riappare perchè gestisci una risorsa un-managed:...il core C
> delle funzioni sqlite.
> ..incapsulato in un wrapper net!

Quindi avrei dovuto scegliere una strada diversa per implementare
SQLite? Oppure era una strada "obbligata"?

Wodka40°

unread,
Feb 5, 2012, 4:43:35 PM2/5/12
to
Il caro Daniele Pinna in un impeto grammaticale scriveva:
> Il 04/02/2012 17:47, Wodka40° ha scritto:
zac
> Quindi avrei dovuto scegliere una strada diversa per implementare SQLite?
> Oppure era una strada "obbligata"?

Su Aruba...io uso FW 3.5 e
SQLITE
1.0.66
nome interno: sqlite.interop.dll
presa da
http://sourceforge.net/projects/sqlite-dotnet2/
la metto dentro bin ed ho sqlite nel sito web!

Per il progetto vb.net invece
FW 4.0 e sqlite 1.0.74.0 (versione runtime v4.0.30319)...sempre nome
interno: sqlite.interop.dll
referenziando sia il system.data.sqlite che il system.data.sqlite.linq
...ho preso il tutto da qui
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
il mio è sqlite-netFx40-binary-bundle-Win32-2010-1.0.74.0.zip...ora
vedo ...c'è la versione 79!

Saluti

--
----- Italliaaaaa 3227! -----
Soldato Joker, cosa ci fa il soldato Palla di Lardo con quel fucile in
mano nel mio fottutissimo bagno?

Sergente Artman [ da: "Full Metal Jacket" ]


Nicola Ottomano

unread,
Feb 6, 2012, 9:26:53 AM2/6/12
to
Il 03/02/2012 18.55, Daniele Pinna (Ufficio) ha scritto:
> Il 03/02/2012 18.13, Nicola Ottomano ha scritto:
>> Il 03/02/2012 17.27, Daniele Pinna (Ufficio) ha scritto:
>>
>>> Sicuramente è da provare/capire come risolvere eventuali problemi della libreria quando la destinazione è x64 invece che x86 (presumo basti copiare la giusta DLL... )
>>
>> Si, è sufficiente copiare la giusta dll. Io con InnoSetup ho creato uno script di installazione che fa un controllo sulla piattaforma in cui sta installando e provvede a copiare la dll corretta.
>
> OK...
> Puoi condividere lo script?

Eccolo!


Nella sezione [SETUP] incolla questo:

; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
; done in "64-bit mode" on x64, meaning it should use the native
; 64-bit Program Files directory and the 64-bit view of the registry.
; On all other architectures it will install in "32-bit mode".
ArchitecturesInstallIn64BitMode=x64
; Note: We don't set ProcessorsAllowed because we want this
; installation to run on all architectures (including Itanium,
; since it's capable of running 32-bit code too).


Questo nella sezione [FILES]

; Installa la versione x64 delle DLL se siamo in 64-bit mode (x64; vedi sopra),
Source: ..\..\bin\SQLite DLL\x64\System.Data.SQLite.DLL; DestDir: {app}; DestName: System.Data.SQLite.DLL; Check: Is64BitInstallMode; Flags: ignoreversion
;Installa la versione x86 in tutti gli altri casi
Source: ..\..\bin\SQLite DLL\x86\System.Data.SQLite.DLL; DestDir: {app}; Check: not Is64BitInstallMode; Flags: ignoreversion

Et voilà!

Trovi molti esempi interessanti sotto la cartella di installazione di Inno Setup (tipicamente C:\Program Files\Inno Setup 5\Examples)

Nicola

Daniele Pinna

unread,
Feb 11, 2012, 6:22:34 AM2/11/12
to
Il 06/02/2012 15:26, Nicola Ottomano ha scritto:
> Il 03/02/2012 18.55, Daniele Pinna (Ufficio) ha scritto:
>> Il 03/02/2012 18.13, Nicola Ottomano ha scritto:
>>> Il 03/02/2012 17.27, Daniele Pinna (Ufficio) ha scritto:
>>>
>>>> Sicuramente è da provare/capire come risolvere eventuali problemi della libreria quando la destinazione è x64 invece che x86 (presumo basti copiare la giusta DLL... )
>>>
>>> Si, è sufficiente copiare la giusta dll. Io con InnoSetup ho creato uno script di installazione che fa un controllo sulla piattaforma in cui sta installando e provvede a copiare la dll corretta.
>>
>> OK...
>> Puoi condividere lo script?
>
> Eccolo!

[CUT]

Grazie :-)



--
Daniele Pinna (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: http://www.dapinna.com
Il Docfa in Pillole: http://www.ildocfainpillole.it
0 new messages