Quali dipendenze occorrono su progetto "Setup" con Access Database?

di il
5 risposte

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:

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;
Quindi ho dovuto aggiungere un Riferimento ADOX al progetto

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?

5 Risposte

  • Re: Quali dipendenze occorrono su progetto "Setup" con Access Database?

    Il codice è corretto, dove lo hai inserito? Dove hai cercato il database?

    Avvia un progetto nuovo C#/Windows Desktop/App Windows Form(.NET Framework)


    OleDB.png
    OleDB.png

    Chiamalo OleDB e clicca ok
    Aggiungi nei riferimenti COM: Microsoft ADO Ext. 6.0 for DDL and Security

    Incolla il tuo codice:
    
    using System;
    using System.Windows.Forms;
    using ADOX;
    
    namespace OleDB
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                Catalog database = new Catalog();
                database.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=MyDatabase.mdb; Jet OLEDB:Engine Type=5");
                database = null;
            }
        }     
    }
    
    manda in esecuzione il programma con > Avvia ( triangolino verde in alto ) oppure F5

    nel percorso dell'eseguibile troverai il tuo mdb vuoto: ....\OleDB\OleDB\bin\Debug\MyDatabase.mdb
  • Re: Quali dipendenze occorrono su progetto "Setup" con Access Database?

    Ho scoperto il problema, il database lo facevo creare nella solita directory del programma, ma li non è permesso scrivere, lo faccio creare in C:\Program Files (x86)\Common Files e qui va tutto ok.

    ti ringrazio molto.
  • Re: Quali dipendenze occorrono su progetto "Setup" con Access Database?

    race ha scritto:


    Ho scoperto il problema, il database lo facevo creare nella solita directory del programma, ma li non è permesso scrivere, lo faccio creare in C:\Program Files (x86)\Common Files e qui va tutto ok.

    ti ringrazio molto.
    Attenzione, è il contrario (a meno che non metti il programma proprio dentro c:\program files)
    Se crei una cartella ad esempio c:\pippo puoi farci quello che ti pare, mentre scrivere dentro
    c:\programfiles (x86)\pippo è altra cosa (grande invenzione Microsoft)
  • Re: Quali dipendenze occorrono su progetto "Setup" con Access Database?

    race ha scritto:


    Ho scoperto il problema, il database lo facevo creare nella solita directory del programma, ma li non è permesso scrivere, lo faccio creare in C:\Program Files (x86)\Common Files e qui va tutto ok.

    ti ringrazio molto.

    +m2+ ha scritto:


    Attenzione, è il contrario (a meno che non metti il programma proprio dentro c:\program files)
    Se crei una cartella ad esempio c:\pippo puoi farci quello che ti pare, mentre scrivere dentro
    c:\programfiles (x86)\pippo è altra cosa (grande invenzione Microsoft)
    E' una vita che tengo le mie cose in una partizione o HDD con una lettera diversa da C:\ dove invece risiede il S.O. principale.
    Se voglio clonare o ripristinare Win con tutti i programmi installati configurati e funzionanti, non mi devo preoccupare dei miei dati, che non sono mescolati a Win.
    Per non parlare del fatto che qualsiasi sistema avvio: Xp, Win7, Win10, Linux Mint, i miei dati sono sempre nello stesso posto.
  • Re: Quali dipendenze occorrono su progetto "Setup" con Access Database?

    Attenzione, è il contrario (a meno che non metti il programma proprio dentro c:\program files)
    Se crei una cartella ad esempio c:\pippo puoi farci quello che ti pare, mentre scrivere dentro
    c:\programfiles (x86)\pippo è altra cosa (grande invenzione Microsoft)
    [/quote]

    Caspita sono cambiate le cose allora...
    Io mi sono affidato a questo post: https://www.vbforums.com/showthread.php?564256-Classic-VB-Where-should-I-store-the-files-that-my-program-uses-creates

    Quindi dal 2002 ad oggi sono cambiate le regole?

    Ma per ora a me funziona, dci che è un caso?

    L'unico problema è che la mia applicazione la distribuisco, poi se chi lo installa non è l'amministratore ma un semplice utente del PC non ha accesso a C:\mia_directory_di_esempio\

    Inoltre, nel Visual Studio non ho visto l'opzione C:\ tra le special Dir che puoi selezionare durante la creazione dell'installer, come puoi vedere nell'allegato.

    Screenshot del mio Visual Studio 2019
    Screenshot del mio Visual Studio 2019

    [/quote]
Devi accedere o registrarti per scrivere nel forum
5 risposte