none
RS no exporta a Office MS.Utility.EventTrace. Acceso denegado al registro solicitado RRS feed

  • Pregunta

  • Amigos:

    Tengo una app en Windows Form, desarrollada en C# con Visual studio 2019, las BD son SQL Server 2017. Los informes rdl con acceso remoto a Reporting Services. Todo muy bien, al momento que quiero exportar a algun documento tipo Office ( a todas la otras extensiones no hay problema) me da un error: "Se produjo una excepcion en el inicializador de tipo MS.Utility.EventTrace. Acceso denegado al registro solicitado".

    En el desarrollo del informe con VS y al hacer una vista preliminar hago las exportaciones sin problemas pero en ejecucion (reportviewer) o por la pagina web del Reporting Service da la excepcion.

    Su ayuda por favor.

    Saludos


    saludos.



    • Editado Jaime65 domingo, 21 de abril de 2019 17:07
    domingo, 21 de abril de 2019 17:03

Todas las respuestas

  • Hola  

    Jaime65

     

    Dando seguimiento a tu pregunta, te comparto algunos procedimientos que puedes intentar.

    Dim user As String = Environment.UserDomainName & "\" & Environment.UserName
     
            Dim subkey As String = "Software\Microsoft\Internet Explorer\Approved Extensions"
            Dim rk As RegistryKey = Registry.CurrentUser.OpenSubKey(subkey, RegistryKeyPermissionCheck.ReadWriteSubTree, RegistryRights.ChangePermissions Or RegistryRights.ReadKey)
            Dim rs As New RegistrySecurity()
            rs.AddAccessRule(New RegistryAccessRule(user, RegistryRights.FullControl, InheritanceFlags.None, PropagationFlags.None, AccessControlType.Allow))
            rk.SetAccessControl(rs)
            rk = Registry.CurrentUser.OpenSubKey(subkey, RegistryKeyPermissionCheck.ReadWriteSubTree, RegistryRights.FullControl)
            rk.SetAccessControl(rs)

     

     

    Espero que te sean de utilidad.

     

    Gracias por usar los foros de MSDN.

     

    Pablo Rubio

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. 

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

     

    jueves, 25 de abril de 2019 17:58
    Moderador
  • Plablo muchas gracias tu respuesta.

    Adjunto el codigo que da FullControl a un registro, funciona perfecto pero no es el registro que da el problema en este caso.

    Alguna idea?

    Saludos y gracias.

    Jaime.


    saludos.




    public static bool SetRegSecurity()
            {
                bool result = false;
    
                string subKeyPath = @"Software\Microsoft\Internet Explorer\Approved Extensions";
    
                string userName = @"DOMINIO\usuario";
    
                RegistryRights rights = RegistryRights.FullControl;
    
                RegistryAccessRule accessRule = new RegistryAccessRule(userName, rights,
                                            InheritanceFlags.None,
                                            PropagationFlags.NoPropagateInherit,
                                            AccessControlType.Allow);
    
                using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(subKeyPath, true))
                {
                    RegistrySecurity keySecurity = key.GetAccessControl(AccessControlSections.Access);
    
                    keySecurity.ModifyAccessRule(AccessControlModification.Add, accessRule, out result);
                    if (result)
                    {
                        accessRule = new RegistryAccessRule(userName, rights,
                                                InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
                                                PropagationFlags.InheritOnly,
                                                AccessControlType.Allow);
    
                        keySecurity.ModifyAccessRule(AccessControlModification.Add, accessRule, out result);
                        if (result)
                        {
                            key.SetAccessControl(keySecurity);
                        }
                    }
    
                }
    
                return result;
            }


    • Editado Jaime65 viernes, 26 de abril de 2019 6:51
    jueves, 25 de abril de 2019 19:10