Newsgroup: it.comp.lang.visual-basic
Titolo: programma in vb senza bisogno d'installazione.

Cioa a tutti, vorrei scrivere un programma in visual basic, che lavori
assieme ad una database, in maniera tale che sia il programma sia il
dtaabse possano risiedere in una unità come: disco cd, dvd, o memoria
flash usb. Vorrei che il programma non avesse bisogna di alcuna
installazione nel disco rigid odel computer, ma funzionasse come un
eseguibile completamente portabile da un computer windows all'altro.
Vorrei, insomma, che l'utente possa inserire la penna usb nel
computer, ed avviare il programma residente senza bisogno d'altro.
Questo è già possibile scrivendo il programma in visual fox pro, ma io
vorrei scriverlo in vb 6. Secondo voi è posssibile?
Grazie e ciao,
Alberto.


Dipende da cosa intendi per "database".
Un programma VB non ha bisogno di installazione se utilizza delle librerie
standard di Windows, che sono già presenti nel sistema operativo e non
hannno bisogno di essere installate. Se invece comincia ad utilizzare
funzioni o controlli non standard, le librerie che le contengono devono
essere registrate sulla macchina target e questo è quello che fa un
pacchetto di setup.
Sfortunatamente ci sono due ostacoli:
- con le varie versioni di Windows in circolazione, anche partendo soltanto
da Win98se in poi, alcune librerie significative hanno subito delle
modifiche e non è semplice scrivere un programma che utilizzi soltanto
quelle poche che sono rimaste immutate;
- per effttuare l'accesso ai dati di un database VB utilizza delle librerie
aggiuntive, ADO (ti consiglio questa), DAO o JRO, o anche semplicemente
ODBC, che vanno reinstallate anche soltanto per aggiornare la versione che
può essere diversa, con differenze significative tra versione e versione.
Quindi, a meno che il tuo database non sia costituito da uno o più file di
testo, hai bisogno di librerie che dovranno essere installate.
Non conosco FoxPro, ma immagino che abbia già incorporato nel runtime le
funzionalità di accesso ai dati.
Spero sia utile. Ciao.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

"Alberto Mazzocato"

si', se il db e' in formato txt. seno' ne dubito assai.
ciao, a.

 ha scritto nel messaggio 
news:k7h283p8ul8n6oiui...@4ax.com...

Tempo fa' feci una domanda simile.
Mi fu risposto che bastava copiare nella cartella di installazione ache le 
librerie necessarie al funzionamento del programma e reindirizzarle (cioe' 
dire al programma di non cercarle nella system ma nella cartella di 
installazione). Feci delle prove e delle ricerche a riguardo pero' senza 
esito.
Per quanto riguarda il visual fox il funzionamento e' lo stesso : per 
funzionare un programma in fox ha bisogno di alcune librerie di base
vfp7r.dll e vfp7renu.dll (il numero 7 sta per la versione del visualfox).
Ciao e facci sapere


Newsgroups: it.comp.lang.visual-basic
Subject: [!] exe vb da cd [per valter]
Date: Tue, 6 Mar 2001 18:10:05 +0100
dunque, ho provato.
su una macchina pulita, con w95 (non mi ricordo se osr2),
installato alla fine del 97 e non piu' toccato (ca'pita :).
cercato msvbvm* --> zero.
preso un exe molto semplice, un form che si puo' settare a 640, 800, 1024 o
libero. quindi nessun ocx esterno. ricompilato con vb6sp3 sul momento.
messo su un cd con le due msvbvmXX.dll.
lanciato sul pc w95.
va.
ciao, a.
------------------
pero', ripeto, e' necessario che non ci siano activex e librerie che vanno 
referenziate. se il programma usa dao o ado per l'accesso ai dati, non ne ho 
mai visto funzionare uno semplicemente copiando l'exe su un altro pc, a meno 
che sul target non ci fosse vb  installato -- e anche in questo caso, mi e' 
capitato di avere noie per le versioni leggermente diverse di ado.
se il db e' semplice e/o puo' essere gestito attraverso dei txt, dovrebbe 
essere sufficiente che la msvb*.dll corrispondente sia insieme all'exe. 
prima ancora che nel path l'exe cerca la dll nella propria cartella, direi.
c'e' un'altra cosa: se il db e' un access (non so in altri casi), quando lo 
apri scrive un .ldb nella stessa cartella. su un cd fa fatica...
non sono sicuro, ma mi sembra si potesse ovviare masterizzando un ldb dal db 
aperto su hd. pero' non mi pare una soluzione molto flessibile...
ovviamente puo' essere un problema anche se metti l'exe e i txt su cd e poi 
vuoi modificare i dati...
ciao, a.

Alberto Mazzocato ha scritto:

In VB6 è possibile ma abbastanza difficile.
Il mio consiglio è usare 
VB.NET
 2005.
Puoi creare un'applicazione completamente portatile usado come database 
SQLite, il quale ha una dll in codice nativo che non necessita di 
registrazione. La metti nella cartella con l'eseguibile ed il gioco è fatto.
Nicola

 ha scritto:

Io cerco il più possibile di fare programmi che funzionano con solo con
l'eseguibile, per evitare problemi avendo spesso a che fare con meccanici non
pratica dei problemi informatici ma che volgliono che il programma faccia quello
che deve fare senza avere casini.
Sull'uso del database non ti so aiutare, io scrivo su dei file di testo per le
varie inizializzazioni, per il resto devi usare il più possibile delle API per
le varie funzioni e evitare OCX strani.
Il file di runtime ci dovrebbe sempre essere, al limite fai una shell di
registrazione degli OCX  (a me in genere bastano Common Control  e MsComm) con
regsvr32.exe e le variabili di sistema, tanto se sono già registrati non succede
niente e un eventuale errore si ha solo nel momento in cui viene caricato il
controllo.
Per fare questo io parto da Sub Main poi registro gli OCX e carico i form
successivamente.
Da quando faccio in questo modo ho drasticamente ridotto le chiamate di gente
con problemi, invio solo un .ZIP (o anche .EXE autoscompattante) con i files
necessari.
--
ciao
  Stefano

secondo me se usi dao 3.51 riesci a usarlo (mettendo nella cartella
una vagonata di DLL tra cui quelle di OLE automation)
Pc professionale a volte metteva una cartellina di questo tipo sui
cdrom...
Directory di Q:\Glossario Archivio_prove
05/01/05  18.46    <DIR>          .
05/01/05  19.20    <DIR>          ..
19/05/99  13.05           147.728 ASYCFILT.DLL
19/05/99  13.05            22.288 COMCAT.DLL
05/01/05  15.32           225.280 Glossario.mdb
04/03/02  12.53         3.684.536 Jet40SP3_Comp.exe
25/09/98  01.00         1.409.024 MSVBVM60.DLL
19/05/99  13.05           598.288 OLEAUT32.DLL
19/05/99  13.05           164.112 OLEPRO32.DLL
19/05/99  13.05            17.920 STDOLE2.TLB
05/08/98  01.00           122.128 VB6IT.DLL
27/10/99  18.20           557.328 dao360.dll
19/03/02  22.44            36.864 glossario.exe
12/12/03  12.18         2.392.064 prodotti.mdb
13/03/02  21.36            40.960 ricerca.exe
se ne avete qualcuno vecchio, potete prova su una vitual machine con
95/98 e poi riferire...
ciao

funzionalità di accesso ai dati.
Immagino di sì....sta di fatto che con foxpro si èuò fare un
interessante programma d iquesto tipo, pe rnoi ch einvece conosciamo
vb non si può fare purtroppo.
Ciao, 
Alberto.



Anch'io.
Ciao,
Alberto.

 fatto.
a nico', chiede di non dovere installare ciappinamenti vari, e gli imponi il 
framework?
ciao, a.

andrea palazzi ha scritto:

Beh, il framework è un requisito essenziale per un sacco di programmi. 
Moltissimo pc ce l'hanno installato, e molti altri lo installeranno a breve.
Ovvio che il "portabile al 100%" non esiste... ma con il framework ci si 
può avvicinare.
bye


http://www.molebox.com/
-> GbC
www.gbcweb.com
www.chiappori.com

 Alberto.