Oppure

Loading
15/01/17 13:59
a_butta
Ciao a tutti.

Ho scritto un'applicazione che quando si avvia effettua le seguenti operazioni (nell'ordine):

1) Carica (se salvato precedentemente) un file contenente delle credenziali (e notifica ciò in una schermata di Log).
2) Legge dal registro due chiavi contenenti le impostazioni salvate (in particolare il lancio dell'app all'avvio di Windows e l'esecuzione automatica di un Timer all'avvio dell'App). Se non trova le chiavi, scrive le impostazioni di default.
3) Fa quello che deve fare...

Ora, se avvio l'applicazione manualmente, il tutto funziona alla perfezione.
Se scrivo il path dell'exe nella chiave "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", l'applicazione si avvia all'accensione di Windows ma non effettua nessuna delle operazioni di cui sopra! Le credenziali non vengono caricate (il file delle credenziali ESISTE) ed il Timer non si avvia automaticamente (nel registro, l'impostazione è salvata in modo tale che lo debba fare).

Da cosa può dipendere tutto ciò? :noway:
Ripeto: se avvio manualmente l'applicazione, lettura dal registro, lettura del file e avvio automatico del Timer funzionano!

Grazie in anticipo!

EDIT: Non posto del codice per il momento perchè non avrebbe senso: comprende un 5 o 6 file e non saprei quale delle parti descritte postare.
Ultima modifica effettuata da a_butta 15/01/17 14:06
aaa
16/01/17 7:42
Thejuster
Una possibile causa il perché non legga i file delle credenziali probabilmente è che non trova
correttamente la directory dove contenuto il file.


Normalmente usiamo:


Application.StartupPath() + "\file.txt";  




Prova con Path.GetFullPath(Application.StartupPath() + "\file.txt";);

dovrebbe andare
mire.forumfree.it/ - Mire Engine
C# UI Designer
17/01/17 8:22
a_butta
Usare path relative è sbagliato? Ho sempre caricato il file semplicemente come "file.txt", sottointendendo che il file si trovi sempre nella stessa cartella dell'eseguibile. Quale sarebbe il problema?

Comunque sia ora provo ad inserire il riferimento assoluto e vedo se funziona. Grazie mille!
aaa
17/01/17 14:04
Thejuster
Dipende dai casi butta,

se è l'utente a lanciare l'applicazione, il percoso relativo va benissimo.
Ma se è un'altro process a lanciare l'applicazione, allora no.
Il percorso relativo non va per nulla bene.

Lo dico con certezza perché mi è capitato per il mio motore di gioco.
mire.forumfree.it/ - Mire Engine
C# UI Designer
17/01/17 18:51
a_butta
Postato originariamente da Thejuster:

Dipende dai casi butta,

se è l'utente a lanciare l'applicazione, il percoso relativo va benissimo.
Ma se è un'altro process a lanciare l'applicazione, allora no.
Il percorso relativo non va per nulla bene.

Lo dico con certezza perché mi è capitato per il mio motore di gioco.


Bingo Thejuster! Evidentemente il processo di windows che avvia la mia App non poteva leggere il file! Grazie mille sia per la soluzione che per la spiegazione! :D
aaa