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...