Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: ((( SPAWN ))) en 5 Enero 2010, 20:11 pm



Título: VB.NET - Permisos para archivos en win7
Publicado por: ((( SPAWN ))) en 5 Enero 2010, 20:11 pm
Hola como estan?, les comento q estoy trabajando en win 7, el tema es q para crear un simple archivo de texto, me hace problemas para crearlo en la unidad c: o diferentes carpetas dentro de la misma unidad, les muestro un código sencillo q siempre utilice para crear archivos desde vb.net:

Código:
Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim xarchivo As New StreamWriter("c:\reg.txt")[color=red] ---> en esta parte me manda la excepcion [b]UnauthorizedAccessException[/b][/color]
        xarchivo.Close()
    End Sub
End Class

en la msdn me muestra lo siguiente:

Código:
Visual Basic (Declaración) 
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class FileIOPermission _
    Inherits CodeAccessPermission _
    Implements IUnrestrictedPermission

Código:
Visual Basic (Uso) 
Dim instance As FileIOPermission

el código q les mostre funciona perfectamente en windows xp, pero en win7 es el problema y me manda la excepcion, la pregunta es como puedo habilitar el permiso para crear o leer archivos por código en la unidad c: y demas carpetas contenidas?

Gracias de antemano, Saludos.


Título: Re: VB.NET - Permisos para archivos en win7
Publicado por: [D4N93R] en 5 Enero 2010, 20:17 pm
Claro, porque en Vista y 7 necesitas permisos de administrador para escribir en ciertas carpetas, como en \, Windows, System32, etc...

Tienes dos opciones, iniciar esa aplicación como administrador, o si es por debug, puedes iniciar Visual Studio como Administrador.

Todo esto son las nuevas políticas de Seguridad de Windows..

Saludos!


Título: Re: VB.NET - Permisos para archivos en win7
Publicado por: ((( SPAWN ))) en 5 Enero 2010, 20:21 pm
hola D4N93R, actualmente estoy trabajando todo como administrador, estaba pensando en desactivar el UAC pero en win7 es un poco diferente al vista.


Título: Re: VB.NET - Permisos para archivos en win7
Publicado por: Novlucker en 5 Enero 2010, 20:25 pm
Creo que ya lo he dicho como 50 veces a lo largo del foro :-X , en win 7 que la cuenta sea de Administrador no quiere decir que tenga los permisos todo el tiempo, botón derecho > Ejecutar como Administrador

Saludos


Título: Re: VB.NET - Permisos para archivos en win7
Publicado por: ((( SPAWN ))) en 5 Enero 2010, 20:34 pm
Gracias Novlucker si funciono, una pregunta más cuando yo genere la aplicación final, y el usuario en win7 ejecute el programa, siempre va a tener q ejecutarlo como administrador o hay alguna alternativa para habilitar y pedir ese permiso a travez de código o es no es posible hacer eso?


Título: Re: VB.NET - Permisos para archivos en win7
Publicado por: WHK en 5 Enero 2010, 20:38 pm
para eso existe windows server, win7 no sirve mucho para usarlo de servidor porque es demasiado estricto en cuanto a los permisos de escritura de archivos, ese sistema op es mas para usarlo en casa no para servidor.


Título: Re: VB.NET - Permisos para archivos en win7
Publicado por: elmaro en 7 Enero 2010, 03:03 am
Estaría bueno que cuando inicies la aplicación te solicite automáticamente la ejecución como administrador.
Podes hacerlo dándole botón derecho al ejecutable y poniendo "Ejecutar como administrador" o algo así.
Estaría mucho mejor poder hacer eso desde código. Si encuentro algo lo posteo porque a mi no me vendría nada mal.

Saludos!


Título: Re: VB.NET - Permisos para archivos en win7
Publicado por: seba123neo en 7 Enero 2010, 03:20 am
no estoy seguro, ya que no puedo probar porque no tengo widnows 7, pero proba usar AddAccessRule para cambiar permisos a las carpetas, esta en System.Security.AccessControl, busca en la MSDN por ejemplos.

saludos.