Problemas aplicacion C# y Vista

15/12/2007 - 22:20 por Yuste | Informe spam
Hola foro, tengo una pregunta que hacerles.
Resulta que tengo hecha una aplicación de copias de seguridad creada en C# y
Net 2.0 que funciona perfectamente en Windows XP pero no en Windows Vista.
Verán, el programa puede iniciar con unos parámetro que son recogidos en el
método Main y hacen que se pueda llamar directamente al método copiar() para
que empice la copia automáticamente sin el formulario inicial. Pues bien
esto en XP funciona bien pero en vista no muesta la pantalla de avance de la
copia y el proceso si inicia dando luego un error. Otro problema es que
tengo que borrar el archivo comprimido de copias antiguo para crear el nuevo
de la nueva copia, bien pues al borrar "a veces" me dice bajo Vista no se
que de seguridad ahora no lo recuerdo pero tiene que ver con la seguridad
del sistema de archivos, el método que lo borra es Fichero.Delete() donde
Fichero es una instancia de FileInfo. Pues en XP funciona (lo borrar) pero
en Vista "a veces" me da ese error y no lo borra y el programa finaliza. Y
otra cosa es el control MonthDateTime que si lo coloco en un sitio del form
en XP ok pero en Vista ese control es más grande y me destroza el
formulario, tengo al lado de ese control un listview y claro el
monthdatetime es más grando por lo que se me superpone sobre el listview,
¿Tengo que currarmelo, para averiguar que versión de Windows ejecuto y así
adaptar el restor de controles? que curro.

Bueno y algún otro que más que ahora no me acuerdo que bajo XP bien y no en
Vista.
Si hay alguna solución o es un error y hay alguna manera "facil" de
arregralo espero me lo hagan saber, si no tengo muchos programas que en XP
bien pero no en Vista y eso es un desastre que por cambiar la versión del SO
tenga esos problemas.

Muchas gracias y hasta otra.

Preguntas similare

Leer las respuestas

#1 Yuste
16/12/2007 - 20:05 | Informe spam
El mensaje de error es...
Acceso denegado a la ruta de acceso "+ el nombre del fichero a borrar"

Pero como digo en XP funciona con la implementación que he programado.
Si en vista hay algun problema con la seguridad para borrar por favor
diganmelo.

Gracias.
Respuesta Responder a este mensaje
#2 Alberto Poblacion
16/12/2007 - 22:23 | Informe spam
"Yuste" wrote in message
news:
El mensaje de error es...
Acceso denegado a la ruta de acceso "+ el nombre del fichero a borrar"

Pero como digo en XP funciona con la implementación que he programado.
Si en vista hay algun problema con la seguridad para borrar por favor
diganmelo.



¿No será que te estás topando con el User Account Control (UAC) de Vista?
El UAC no tiene nada que ver con C#, y te daría los mismos errores con
independencia de que hubieras desarrollado el programa con cualquier otro
entorno de desarrollo.

Mira a ver si tu situación es esta: el fichero que intentas borrar tiene
permisos tales que se requiere ser Administrador para borrarlo. El usuario
que ejecuta el programa es, efectivamente, Administrador. Bajo Windows XP,
en estas circunstancias el fichero se borra. Pero en Vista, aunque el
usuario sea administrador, no ejecuta los programas (de forma
predeterminada) como administrador, sino con permisos de usuario normal. Por
eso el programa se encuentra con un error al intentar borrar el archivo.
Para comprobar si este es tu caso, ejecuta el programa con permisos de
administrador (botón derecho sobre el icono, y selecciona en el menú de
contexto la opción de ejecutar como administrador). Si el programa así te
funciona sin errores, entonces efectivamente tu problema con Vista era el
UAC.
Respuesta Responder a este mensaje
#3 Yuste
17/12/2007 - 00:24 | Informe spam
Gracias Alberto. Si que el problema era por el UAC de Vista.

Pero, como soluciono esto sin tener que ejecutar con el usuario
administrador?
¿Hay alguna manera por código que haga que se ejecute el proceso con
permisos de administrador?

Gracias.
Respuesta Responder a este mensaje
#4 Alberto Poblacion
17/12/2007 - 07:57 | Informe spam
"Yuste" wrote in message
news:
Gracias Alberto. Si que el problema era por el UAC de Vista.

Pero, como soluciono esto sin tener que ejecutar con el usuario
administrador?
¿Hay alguna manera por código que haga que se ejecute el proceso con
permisos de administrador?



Nunca lo he hecho, pero supuestamente puedes indicar en el Manifiesto de
la aplicación el "nivel de ejecución solicitado" indicando el valor
"requireAdministrator", y entonces ella sola presenta el cuadro de diálogo
pidiéndole al usuario permiso para rodar con privilegios elevados.

http://www.codeproject.com/KB/vista...Aware.aspx
Respuesta Responder a este mensaje
#5 Yuste
17/12/2007 - 14:20 | Informe spam
Muchas gracias. Todo claro ahora.
Hasta otra.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida