2009-08-13 16 views
6

Mi aplicación necesita acceso administrativo y quiero que se ejecute sin ningún tipo de molestias en Windows 7.Windows 7 - programación configurar una aplicación se ejecute en modo de compatibilidad con XP

tengo las siguientes opciones

1.Ask el usuario que usa la aplicación para desactivar el UAC. Esta es una opción de último recurso y odiaría hacer eso.

2. Inserta un manifiesto en la aplicación que dice elevar al administrador privelege. Esto funcionará, pero parece que generará un diálogo que requerirá el consentimiento de los usuarios cada vez que un usuario ejecute la aplicación.

3. Configure la aplicación para que se ejecute en el modo de compatibilidad de Windows XP. Esto funciona, pero tuve que hacer esto usando las propiedades de la aplicación explorer->. si puedo hacer esto programáticamente durante el tiempo de instalación, realmente preferiría esta opción. Mi pregunta es si hay alguna forma de lograr esto.

respecto

Ganesh

+0

Quizás sería informativo si explicara por qué su aplicación necesita acceso administrativo. Puede haber mejores formas de resolver el problema. –

+0

Si realmente * necesita * administrador, entonces no lo considero un problema. La única razón por la que alguien debería querer evitar el UAC es que están tratando de hacer algo infame. Hmmm .... –

+0

Tal vez Ganesh tiene alguna dependencia de un componente de un tercero que no funcionará en Windows 7 sin acceso de administrador o modo de compatibilidad de Windows XP. He visto componentes como ese, donde el proveedor original se ha hundido y la migración a otro componente es una gran tarea. – MarkJ

Respuesta

2

que he conseguido bastante acostumbrados a tratar con el cuadro de diálogo UAC, Vista corriente durante los últimos 2 años. Si te molesta, me pregunto cuánta experiencia tienes usando sistemas operativos posteriores a XP.

Como usuario Creo que hay dos maneras de verlo:

  1. El programa requiere inherentemente administrador. Para estos, aprecio mucho el diálogo, ya que sé que significa que nadie va a ejecutar a escondidas esa cosa en segundo plano y modificar mi sistema.
  2. El programa inherentemente hace no require admin. La mayoría de los programas solo necesitan que el administrador se actualice automáticamente (y probablemente no deberían necesitarlo entonces). Mi actitud es que estos programas están mal diseñados. Tal programa solo debería invocar AUC si descubre que necesita actualizarse, no cada vez que arranque el programa. Este es un problema de seguridad también, ya que cualquier desbordamiento de búfer que alguien encuentre en todo el programa me pone en riesgo.

localizar la necesidad de UAC tanto como le sea posible. Lo mejor sería poner un ejecutable por separado. (p. ej .: un "actualizador")

3

Pruebe making un application compatibility shim que diga que su aplicación necesita el modo de compatibilidad de XP y distribúyalo con su aplicación. Un shim es un medio para que los administradores simplifiquen la instalación de una aplicación de terceros que necesita configuraciones de compatibilidad, les ahorra ajustar cada PC individualmente. Probablemente pueda transferirlo a su programa de instalación con un pequeño ingenuity.

Cuestiones relacionadas