Dove memorizzare le impostazioni condivise tre più programmi?

di il
17 risposte

17 Risposte - Pagina 2

  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    surfernet ha scritto:


    XRubik : l'eseguibile vb6 può essere spostato o deve restare dove l'ha messo l'installazione? ,grazie
    L'eseguibile VB6 può essere spostato, se carica delle DLL registrate in System32, non ci sono problemi. Se carica delle DLL da percorso, le DLL devono restare nel percorso scelto dall'installer.
    Comunque le DLL che usa un programma VB vengono cercate in primis nel percorso dell'applicazione.

    Devi fare una prova e il programma se non parte ti chiede cosa gli manca.
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    Rubik ha scritto:


    Non hai molte alternative, puoi mettere gli eseguibili in un'unica cartella e salvare un file nello stesso percorso.
    Il percorso dell'esegubile in VB6 lo ricavi con: App.Path, e in VB .Net con Application.StartupPath.

    Alla disinstallazione cancelli cartella e contenuto.

    La cartella di default per depositare configurazioni e dati di un'app per un utente è: C:\Users\NomeUtente\AppData\Local\NomeApp
    La cartella di default per depositare configurazioni e dati di un'app per tutti gli utenti è: C:\Users\All Users\NomeApp
    Sempre se Win è installato in C:\

    Alla disinstallazione deve essere cancellata.
    Grazie della risposta Ribik,
    non mi piace salvare file assieme all'eseguibile perché credo sia contro le regole e se non sei amministratore non puoi proprio farlo (se non sbaglio).
    Meglio nella cartella AppData come mi consigli subito dopo.
    Penso che seguirò la strada del file anche se su UWP pare non sia possibile usare cartelle condivise tra programmi (sorgente https://docs.microsoft.com/it-it/windows/uwp/get-started/fileio-learning-track#access-the-file-system).
    Ho fatto un programmino che mi elenca tutte le cartelle speciali.
    
            static void Main(string[] args)
            {
                foreach (Environment.SpecialFolder i in Enum.GetValues(typeof(Environment.SpecialFolder)))
                {
                    Console.WriteLine(Enum.GetName(typeof(Environment.SpecialFolder), i));
                    Console.WriteLine("GetFolderPath: {0}", Environment.GetFolderPath(i));
                    Console.WriteLine();
                }
                Console.ReadKey();
            }
    
    Le più adatte sembrano:
    Environment.SpecialFolder.CommonApplicationData
    Environment.SpecialFolder.ApplicationData
    Environment.SpecialFolder.LocalApplicationData
    Vorrei fare che la cartella venga decisa dal "programma due" e la dica al "programma uno". Quindi ora devo capire come i due programmi si possano scambiare informazioni usando .NET.
    Provo a cercare nel web...
  • Re: Dove memorizzare le impostazioni condivise tre più programmi?

    A mio avviso: Environment.SpecialFolder.LocalApplicationData è la più appropriata.
    
     Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData));
    
    In VB6 la ritrovi in CSIDL_LOCAL_APPDATA.
    esempio funzionante qui: http://vb.mvps.org/samples/SysFolders
    c'è anche uno zip con un progetto vb6 di esempio.

    Se entrambi puntano allo stesso percorso radice, non hai bisogno di nessuna comunicazione tra i due programmi, per la scelta della cartella.
Devi accedere o registrarti per scrivere nel forum
17 risposte