|
|
|
|
Strumenti |
01-05-2021, 18:23 | #1 |
Member
Iscritto dal: Jun 2020
Messaggi: 50
|
[C#] Quali dipendenze occorrono su progetto "Setup" con Access Database?
Salve,
tramite Visual Studio Community 2019 vorrei realizzare un progetto di Setup per un applicazione WinForm che ho sviluppato. Questa applicazione utilizza un database Microsoft Access per salvare i dati in locale. Il database viene creato all'avvio del programma nel caso non sia già presente. Per crearlo utilizzo ADOX in questo modo: Codice:
using ADOX; Catalog database = new Catalog(); database.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=MyDatabase.mdb; Jet OLEDB:Engine Type=5"); database = null; Il problema: Quando clicco nell'eseguibile del mio progetto, non mi si avvia e non mi crea neppure il database. Quando faccio il progetto di Setup oltre all'Output principale cosa devo aggiungere? |
03-05-2021, 11:14 | #2 |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 20825
|
un po poche informazioni, che errori ti da il programma? metti qualche log
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
03-05-2021, 15:09 | #3 |
Member
Iscritto dal: Jun 2020
Messaggi: 50
|
Ciao, ti ringrazio per la risposta ma volevo chiudere questo post perchè ho deciso di non fare creare il DB ma di copiarne uno già pronto, solo che dovrei aprire un altro post per il problema di scrittura, dato che me lo copia solo con permessi di lettura.
|
04-05-2021, 13:46 | #4 |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 20825
|
strano io non ho mai avuto problemi di permessi nella copia di file utilizzando i progetti installer, sicuro che non sono problemi di path? (percorso che richiede autorizzazione uac?
comunque hai provato a gestire i permessi sui file nell'ultima parte dell'installazione? https://docs.microsoft.com/en-us/dot...tframework-4.8 oppure alla primo run del programma ps in quei casi probabilmente dovrai richiedere tramite manifest il grant dell'uac https://docs.microsoft.com/en-us/pre...ectedfrom=MSDN fammi sapere !fazz
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
04-05-2021, 14:28 | #5 |
Member
Iscritto dal: Jun 2020
Messaggi: 50
|
Si erano problemi di percorso, stavo installando il Database nella solita directory del programma, in: C:\Program Files (x86)\MyApplication\
Ora sembra che installando il DB in: C:\Program Files (x86)\Common Files\MyApplication\ funzioni..., vediamo se è culo oppure ho fatto la cosa giusta Mi sono affidato a questo post: https://www.vbforums.com/showthread.php ... es-creates E' un po vecchiotto ma... Per ora funziona, dci che è un caso? Tu dove installi il database quando utilizzi un File-Database? Nel Visual Studio non ho visto molte opzioni particolari tra le special Dir che puoi selezionare durante la creazione dell'installer, come puoi vedere nell'allegato. |
04-05-2021, 16:10 | #6 | |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 20825
|
Quote:
facendo così non ho nessun problema nell'installazione con db presente, creazione db live,aggiornamento ota del db con sostituzione del db da ftp remoto ecc ecc. se dovessi installare in una special path userei appdata, l'ho usata in un paio di progetti e non ho mai avuto problemi di permessi
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
06-05-2021, 08:33 | #7 | |
Member
Iscritto dal: Jun 2020
Messaggi: 50
|
Quote:
Sai per caso dell'esistenza di un tutorial passo passo su come fare un installer con i fiocchi? |
|
06-05-2021, 08:59 | #8 | |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 20825
|
Quote:
pensa che l'installer più complicato che mi è capitato di dover fare, era una cosa mostruosa che installa uno scada completo è stato talmente complicato che alla fine al posto di un progetto installer ho scritto un winform portable che tra installare apache php mysql, software di comunicazione macchina, configurare parametri dei servizi modifche al registro di windows, dongle hw di autenticazione, timezone localizzazione in 23 lingue 4 s.o. supportati ecc ecc solo quello è un progetto da tipo 70.000 righe e 2GB di eseguibili ed una tonnellata di msiexec :-)
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
06-05-2021, 15:52 | #9 | |
Member
Iscritto dal: Jun 2020
Messaggi: 50
|
Quote:
ok, ti aggiorno su come ho risolto tra qualche giorno, per ora ti ringrazio di tutto. |
|
06-05-2021, 16:58 | #10 |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 20825
|
se hai qualche dubbio scrivi :-)
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
08-05-2021, 07:45 | #11 |
Member
Iscritto dal: Jun 2020
Messaggi: 50
|
No volevo assillarti/vi
In verità ancora non ho risolto. Per fare l'installer e inserire il database nella solita directory dell'installazione faccio i seguenti passi: 1) Sull'albero della Soluzione: Aggiungi > Nuovo progetto > Setup Project 2) Nella finestra File System (Setup): > Application Folder > Add > Output Progetto > Output primario 3) Creo un collegamento sul Desktop dell'output primario 4) Sempre si Application Folder: Add > File > e aggiungo il database dalla cartella \bin\debug\ 5) Imposto le proprietà del Setup: InstallAllUsers=True, RemovePreviousVersions=True 6) Nell'albero della soluzione, clicco sul progetto Setup > Proprietà > si apre la finestra "Pagine delle proprietà di Setup" ed eseguo i seguenti steps: - Configurazione > Release - Apro Gestione configurazione: > Configurazione soluzione attiva: Release > Contesti progetto...: Release, Release, Any CPU, Compila. - Apro Prerequisites: > Microsoft NET Framework 4.7.2 (x86 e x64) > Scarica prerequisiti dal sito .... 7) Sempre sul progetto Setup "Compilo" 8) Sempre sul progetto Setup "Installo" 9) Il programma lo trovo installato in: C:\Program Files (x86)\Default Company Name\Setup\ Lo avvio e... Azz..., l'ho fatto mentre scrivevo queste righe con un piccolo prog di test, e mi funziona... Ho notato una cosa però: ogli volta che lo avvio il SO mi chiede se voglio consentire all'App di fare modifiche al sistema, fino ad ora non me lo ha mai chiesto, e neppure funzionava, BOO!!! Se vuoi posso inviarti lo zip dell'intera soluzione di test, 570Kb, non lo posso allegare. |
16-05-2021, 17:09 | #12 |
Member
Iscritto dal: Jun 2020
Messaggi: 50
|
Ciao,
ho reinstallato il Visual Studio e ora funziona tutto!! Volevo chiederti solo una cos: Il Database "MyDb.mdb" l'ho incluso tra i file della directory "Application Folder", vorrei che se un utente che installa il software e dopo 3 giorni installa una versione più recente, non elimini il Database, come posso fare? |
17-05-2021, 08:38 | #13 | |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 20825
|
Quote:
1) guardo la versione del db vecchio(in una tabella) 2) guardo la versione del db nuovo (o una tabella o in un file di testo se online e di grandi dimensioni) 3) se la versione è compatibile non sostituisco il file 4) altrimenti cancello il db vecchio e copio il db nuovo nella cartella di produzione praticamente tengo 2 nel progetto uno è quello vergine e l'altro è quello che viene usato dall'applicazione
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:28.