Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Windows Form e Setup
lunedì 11 luglio 2005 - 15.54
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
astroman
Profilo
| Junior Member
105
messaggi | Data Invio:
lun 11 lug 2005 - 15:54
Ho provato (e riprovato e riprovato...) a creare un programma di setup per il mio progetto, un ibrido m'è venuto fuori, questo è vero...solamente che ho qualche problema concettuale a settare la giusta directory per accedere al db access.
Cerco di spiegarmi meglio: il mio caso reale è che ho quest'applicativo in cui ho come db access, e vorrei fare in modo che durante l'installazione, se l'utente decide di installare il programma su una cartella differente da quella di default venga settato a da qualche parte, che ne so sul registro di sistema, dove vado a leggere e creo la mia stringa di connessione al DB...
Spero di essermi fatto capire...
Idee e suggerimenti?!?
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 11 lug 2005 - 16:09
Ciao,
come ben sai il sistema di Setup di Visual Studio .NET non è molto avanzato. Io non l'ho mai usato molto. Sul sito c'è un articolo di Marco che ti spiega un po' come funziona. Nella versione di Visual Studio .NET 2005 è stato migliorato notevolmente.
So che nel sistema di setup corrente puoi creare delle Custom Action in cui fai partire determinate operazioni che vuoi tu.
Il problema è, il database ce l'hai già dentro il pacchetto o viene creato solo successivamente ? In entrambi i casi io ti consiglierei di metterlo nella stessa cartella del software in modo che lo puoi aprire con facilità, eventualmente se lo vuoi far spostare all'utente fai una mascherina con la cartella di destinazione fai un File.Move e poi scrivi nel Registry la locazione.
ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
astroman
Profilo
| Junior Member
105
messaggi | Data Invio:
lun 11 lug 2005 - 16:17
>Ciao,
>come ben sai il sistema di Setup di Visual Studio .NET non è
>molto avanzato. Io non l'ho mai usato molto. Sul sito c'è un
>articolo di Marco che ti spiega un po' come funziona. Nella versione
>di Visual Studio .NET 2005 è stato migliorato notevolmente.
>
>So che nel sistema di setup corrente puoi creare delle Custom
>
>Il problema è, il database ce l'hai già dentro il pacchetto o
>viene creato solo successivamente ? In entrambi i casi io ti
>consiglierei di metterlo nella stessa cartella del software in
>modo che lo puoi aprire con facilità, eventualmente se lo vuoi
>far spostare all'utente fai una mascherina con la cartella di
>
>ciao
>
>David De Giacomi
>Microsoft MVP
>
http://blogs.dotnethell.it/david/
E si purtroppo ho visto che non è molto avanzato, cmq fà esattamente al caso mio, dato che devo fare un setup molto "scarno".In ogni caso il DB è già dentro al programma ed ho fatto che di default debba installarsi sotto la cartella "Program Files\NomeProgramma" che gestissce VS.NEt direttamente il la creazione correttamente...è il discorso della personalizzazione che non riesco a capire come farla...hai qualche consiglio?Non ho capito molto bene come farla installare nella stessa cartella software di installazione del programma...forse sto sbagliando qualche passaggio però...
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
mar 12 lug 2005 - 17:18
Ciao, io di solito uso fare in questo modo:
faccio installare dal Setup il database nella stessa cartella in cui installo il programma (indipendentemente se è quella di default o viene scelta dall'untente).
All'interno dell'applicazione quando devo settare la stringa di connessione ad ogni apertura, faccio riferimento alla variabile Application.StartUpPath, che mi restituisce il percorso di avvio dell'applicazione. A questa aggiungo "\nomeDb.Mdb" ed il gioco è fatto.
Spero di essere stato chiaro e di aiuto
Ciao
astroman
Profilo
| Junior Member
105
messaggi | Data Invio:
mar 12 lug 2005 - 17:23
>Ciao, io di solito uso fare in questo modo:
>faccio installare dal Setup il database nella stessa cartella
>in cui installo il programma (indipendentemente se è quella di
>default o viene scelta dall'untente).
>
>All'interno dell'applicazione quando devo settare la stringa
>di connessione ad ogni apertura, faccio riferimento alla variabile
>Application.StartUpPath, che mi restituisce il percorso di avvio
>dell'applicazione. A questa aggiungo "\nomeDb.Mdb" ed il gioco
>è fatto.
>
>Spero di essere stato chiaro e di aiuto
>Ciao
>
>
Ah interessante...senti, ti secca se ti chiedo di postarmi il codice della stringa di connessione?!?
In questo modo sarei sicuro di non combinare qualche disastro...
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
mar 12 lug 2005 - 18:19
Ma figurati, non c'è di che.
Ecco il codice
Public Sub setConnection(Byval PAthCompleto as string)
connectionname.connectionstring = "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database L" & _
"ocking Mode=1;Data Source=" & PathCompleto & ";Mode=Share Deny None;Jet OLEDB:Engine Type=5;Provider=""Microsoft.Jet.OL" & _
"EDB.4.0"";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=Fa" & _
"lse;Extended Properties=;Jet OLEDB:Compact Without Replica Repair=False;Jet OLED" & _
"B:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't " & _
"Copy Locale on Compact=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1"
End sub
La variabile "PathCompleto" indica il percorso completo di nomefile.mdb
Ciao
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
mar 12 lug 2005 - 18:22
se dovesse dare errore in fase di esecuzione, ricrea la stringa in questo modo:
- Apri una form in progettazione
- Associagli una connesiione di tipo OleDB
- nelle proprietà, alla voce Connection string, fai "nuova connessione"
- scegli come provider Microsoft Jet
- Seleziona il file di access
- Fai Ok
A questo punto ti ha creato la connessione. Dagli un nome facile da ricordare.
Vai nel "Codice generato da progettazione di windowsFor" e cerca la tua connessione. Copiati tutta la connection string e sostituisci il percorso che porta con una variabile in cui glielo passi tu
saluti
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !