2013-02-06 10 views
6

La mia applicazione si collega a diversi database. Le stringhe di connessione vengono salvate nelle impostazioni dell'utente. Non riesco a utilizzare l'ambito dell'applicazione perché i dati vengono modificati in fase di esecuzione.Utilizzo di "Esegui ..." crea un diverso user.config

Se l'utente avvia l'applicazione normalmente non ci sono problemi. Tuttavia, se si utilizza il comando "Run..." dal menu Start poi una cartella diversa nella User\AppData\Local\MyApplication viene creato contenente un diverso user.config.

C'è un modo per interrompere o aggirare questo comportamento?

+2

Questo è normale, comportamento previsto. Stai correndo come un utente diverso. Quell'utente ottiene le proprie impostazioni utente (l'indizio è abbastanza vicino al nome) –

+0

Quando visualizzo i processi nel Task Manager mostra lo stesso proprietario, indipendentemente da come l'ho avviato. Non uso _runas_ e _user.config_ viene creato una cartella AppData dello stesso utente, solo con un ID diverso, sono confuso da come questo possa essere un altro utente. –

+0

Non è possibile interrompere questo comportamento. L'unica soluzione è generare i dati di configurazione mancanti all'avvio dell'applicazione (se manca). Qualsiasi altro modo è un hack e non è garantito che funzioni in ogni caso. –

risposta

1

Questo comportamento non può essere evitato.

Sembra che Windows non identifichi programmi avviati da altri programmi come i programmi eseguiti dall'utente.

Per risolvere il problema è necessario evitare le impostazioni effettuate da ConfigurationManager e creare i propri file per salvare i dati come indicato nei commenti.

Problemi correlati