si compila un programa en D2010 se genera automáticamente un archivo .res de manifiesto. ¿está incluido en tu programa por defecto? o tiene que incluirlo usted mismo? En caso afirmativo, ¿qué nivel de privilegio se le da? mi programa modifica una clave de registro ¿sería capaz de hacerlo sin modificaciones en el archivo .res? si no ¿qué modificaciones debo hacer?
una pregunta complementaria: ¿hay algún componente/experto (preferiblemente libre) que pueda generar/incluir el archivo .res en mis proyectos delphi 7 y delphi 2007 automáticamente al igual que delphi 2010?
edición: se olvidó de mencionar que no tengo Win7 o Vista ni nunca he utilizado los
Edit2: He incluido un archivo de manifiesto por si acaso siguiente this tutorial pero el tutorial sólo habla de Windows Vista y no 7 ¿el archivo .xml (manifiesto) en este tutorial hace que mi aplicación sea capaz de tratar con Win7 UAC también
edit3 si incluyo mi propio archivo de manifiesto y Delphi también lo incluye por defecto que hará 2 archivos de manifiesto (1 con admin previlages y 2nd sin), esto causaría problemas/comportamiento impredecibleson programas delphi 2010 capaces de abordar vista/win7 UAC de forma predeterminada
Respuesta
El manifiesto generado por delphi le da a su proceso los privilegios más bajos (que es el predeterminado por cierto).
Debe modificar el archivo de manifiesto para que ASK para que se pueda ejecutar el permiso en derechos administrativos (elevación llamada).
Su aplicación con los privilegios estándar debe leer/escribir en HKEY_CURRENT_USER
sin elevación.
El acceso a %programfiles%
y HKEY_LOCAL_MACHINE
requiere elevación. (No estoy tan seguro acerca de las otras colmenas de registro)
Este es un PDF que lo ayudará MUCHO con lo que está haciendo.
http://pascalfonteneau.developpez.com/articles/delphi/vista/uac/VistaUACandDelphi.pdf
gracias aldo, vea mi edit2 –
Eso también funcionará para Seven Sí, – zz1433
gracias de nuevo, ahora amablemente vea edit3 :-) –
- 1. ¿Delphi o BDS IDE son capaces de guardar los puntos de interrupción del código fuente?
- 2. ¿El IPad o el iPhone son capaces de OpenCL?
- 3. Hilos de Delphi 2010
- 4. Las matrices asociativas son locales de forma predeterminada
- 5. Por qué los destructores no son virtuales de forma predeterminada [C++]
- 6. Delphi 2010 inline inútil?
- 7. bibliotecas Delphi 2010 criptografía
- 8. Delphi 2010 con compilador anterior
- 9. Mover proyecto de Delphi 3 a Delphi 2010
- 10. Desactivando programáticamente el UAC
- 11. Delphi: solicite la elevación del UAC cuando sea necesario
- 12. Activar el manejo de excepciones en visual studio 2010 de forma predeterminada para todos los proyectos
- 13. Forma correcta de tratar con UAC en C#
- 14. ¿Cómo hacer IPC con elevación UAC de forma segura?
- 15. Delphi 2010: ¿Dónde está DockForm.pas?
- 16. Delphi 2010 RTTI y campos de interfaz
- 17. Implementación de Delphi 2010 y Dbexpress
- 18. ¿Debo usar cadena Unicode de forma predeterminada?
- 19. ¿Los métodos DateTime de .Net son capaces de reconocer un segundo bisieto?
- 20. DropDownListFor (...) seleccionando booleano falso de forma predeterminada
- 21. ¿Maven Surefire ejecuta casos de prueba secuencialmente de forma predeterminada?
- 22. ¿Prevenir la virtualización de UAC?
- 23. ¿Son todas las extensiones de Google Chrome de código abierto de forma predeterminada?
- 24. ¿Cómo debo preparar mis programas Delphi de 32 bits para un eventual compilador de 64 bits?
- 25. compruebe si 2 programas R son idénticos
- 26. ¿Por qué los programas de estilo rápido son más cortos que los programas de estilo defensivo?
- 27. Programas Delphi bloqueados por Kaspersky Antivirus. Necesita workarround
- 28. Delphi 2010: ¿qué pasó con TRTTIConstructor?
- 29. Abrir hoja de cálculo xml en Excel de forma predeterminada
- 30. HTML ya no ayudantes capaces de deducir argumentos de tipo
¿Por qué su programa tiene que modificar una clave de registro de nivel administrativo? Si su programa necesita hacer eso, también tendrá problemas para ejecutarse en versiones anteriores de Windows, a menos que sus clientes tengan todos sus usuarios corriendo con privilegios administrativos, lo que sería una tontería. Además, si va a admitir versiones más nuevas de Windows, valdría la pena comprar una copia para poder probar su software en las plataformas que afirma que admite. –
@rob kennedy: la situación no es lo que crees que en realidad obtuve una oferta de pasantía, mi primera entrevista fue bien pero me pidieron que enviara un programa de demostración, una de las cosas que me pidieron es que mi programa debería poder ejecutar cada time windows inicia mi solución a esto es modificar 'Software \ Microsoft \ Windows \ CurrentVersion \ Run' para que se inicie en el inicio de Windows. Temo que si lo prueban en Windows7 con una cuenta de usuario normal, mi software fallaría :( –
If modificas esa configuración de registro en ** 'HKey_Current_User' **, no deberías tener ningún problema. O si colocas un acceso directo a tu programa en la carpeta de Inicio del menú de Inicio, eso debería funcionar también. Creo que sería ser * peor * para que requiera privilegios de administrador para su programa si el resto de sus funciones no lo requieren. Además, estoy seguro de que puede decirles cuando envíe su programa que no tiene acceso a Windows. 7 y entonces no podrías probarlo allí; eso ' s una situación perfectamente comprensible para un estudiante. Lo probarán en Windows XP en su lugar. –