2009-08-13 16 views
6

La mia applicazione richiede l'accesso amministrativo e voglio che venga eseguito senza problemi in Windows 7.Windows 7 - programmazione configurare un'applicazione per l'esecuzione in modalità di compatibilità XP

ho le seguenti opzioni

1.Ask l'utente che utilizza l'applicazione per disattivare UAC. Questa è l'ultima opzione e non oso farlo.

2.Invia un manifest nell'applicazione che dice elevare ad amministratore privato. Questo funzionerà ma sembra che aprirà una finestra di dialogo che richiede il consenso degli utenti ogni volta che un utente esegue l'applicazione.

3. Configurare l'applicazione per l'esecuzione in modalità compatibile con Windows XP. Funziona, ma dovevo farlo usando explorer-> proprietà dell'applicazione. se posso farlo a livello di codice durante il tempo di installazione, preferirei davvero questa opzione. La mia domanda è se c'è un modo per raggiungere questo obiettivo.

riguarda

Ganesh

+0

Forse sarebbe informativo se doveste spiegare perché la vostra applicazione ha bisogno di un accesso amministrativo. Ci potrebbero essere modi migliori per risolvere il problema. –

+0

Se davvero * ha * bisogno di admin, allora non lo considero un problema. L'unica ragione per cui chiunque dovrebbe voler aggirare l'UAC è che stanno cercando di fare qualcosa di nefasto. Hmmm .... –

+0

Forse Ganesh ha qualche dipendenza da un componente di terze parti che non funzionerà su Windows 7 senza accesso di amministratore o modalità di compatibilità di Windows XP. Ho visto componenti del genere, in cui il fornitore originale è andato giù e la migrazione verso un altro componente è un compito importante. – MarkJ

risposta

2

ho ottenuto abbastanza abituati a trattare con la finestra di UAC, sistema operativo Vista per gli ultimi 2 anni. Se ti infastidisce, devo chiedermi quanta esperienza hai usando i SO post-XP.

Come utente penso che ci sono due modi di vedere le cose:

  1. il programma richiede intrinsecamente admin. Per questi, apprezzo molto il dialogo, perché so che significa che nessuno sta eseguendo di nascosto quella cosa in sottofondo su di me e modificherà il mio sistema.
  2. Il programma inerentemente non richiede admin. La maggior parte dei programmi ha bisogno solo dell'amministratore per aggiornarsi automaticamente (e probabilmente non dovrebbe averne bisogno allora). Il mio atteggiamento è che questi programmi sono mal progettati. Un programma del genere dovrebbe invocare l'AUC solo se scopre che è necessario aggiornarlo, non ogni singolo momento di friggere che lo avvio. Anche questo è un problema di sicurezza, poiché qualsiasi overflow del buffer che qualcuno trova nell'intero programma mi mette a rischio.

Localizza la necessità di UAC il più possibile. La cosa migliore sarebbe inserire un eseguibile separato. (ad esempio: un "programma di aggiornamento")

3

Prova making un application compatibility shim che dice che l'app richiede la modalità di compatibilità XP e la distribuisce con la tua app. Uno shim è un mezzo che consente agli amministratori di semplificare l'installazione di un'app di terze parti che necessita di impostazioni di compatibilità, in quanto consente di salvarle modificando individualmente ciascun PC. Probabilmente puoi lanciarlo nel tuo programma di installazione con un po 'di ingenuity.

Problemi correlati