Mi compañero de trabajo está tratando de registrar algunos componentes COM (que escribí) a través de RegAsm.exe y dice que necesita privilegios de administrador. Su cuenta tiene privilegios de administrador pero no ha iniciado sesión como administrador. ¿Hay alguna forma de usar su cuenta de usuario habitual y tener éxito en esta tarea?¿Puedo ejecutar RegAsm sin ser administrador?
Respuesta
Se requieren privilegios de administrador para permitir que Regasm.exe actualice el registro. Si se trata de una restricción de UAC, cree un acceso directo en el escritorio para cmd.exe y marque la casilla "Ejecutar este programa como administrador". O cambie esta configuración en el acceso directo del símbolo del sistema de Visual Studio, eso es más fácil.
Creo que esta pregunta pertenece a otra parte, pero Windows usa menos privilegios, por lo que si es un usuario que es a la vez un usuario normal y un Administrador, obtiene privilegios de usuario normales. Utilice runas para hacer esto o haga clic con el botón secundario en el elemento y "ejecutar como administrador"
¿Por qué no usa registration free com? Solo se admite desde 2003 y elimina la necesidad de acceso administrativo/de UAC para instalar componentes COM.
Con RegFree COM puede agrupar los DLL de COM con la aplicación que los usa como un ensamblado privado, pero eso no significa que no se puedan instalar correctamente, ya sea en el registro o en WinSxS en la implementación final install.exe/msi
wRT Subtexto la consulta real: no - registro COM está en la clave HKEY_LOCAL_MACHINE que siempre requiere acceso administrativo.
He mentido: en realidad se puede. Si crea una aplicación sin ningún manifiesto, Windows deduce que es una aplicación de la era XP que espera que se ejecute el acceso administrativo y activará un modo de compatibilidad que, entre otras funciones, redirecciona el acceso de escritura a HKLM a una ubicación de escritura bajo HKCU. Entonces, el registro del componente COM "tiene éxito", pero está registrado solo para el usuario actual.
No estoy seguro de por qué la capacidad de registrarse solo para la cuenta actual no se admite generalmente fuera del marco de compatibilidad.
Trabajo en un entorno/jurisdicción donde el acceso de administrador local a todos los usuarios simplemente no es posible (legal/cumplimiento/las regulaciones no lo permiten).
Parece que no hay equivalente de esta función en el mundo .NET: AtlSetPerUserRegistration
Prueba esto: Usando regasm, generar las entradas del registro con el argumento/regfile. De forma predeterminada, las entradas de registro deben usar HKEY_CLASSES_ROOT (HKCR) como raíz. Modifique las entradas (manualmente o por script) para usar HKEY_CURRENT_USER (HKCU).
Finalmente, distribuya su DLL .NET con el script de registro. Todavía puede ejecutar regedit sin derechos de administrador para registrar su DLL .NET. Manualmente desde la línea de comando, usando un archivo por lotes, o un programa de instalación separado (pequeño) puede manejar el registro.
He iniciado sesión en una cuenta que tiene privilegios de administrador. Pero RegAsm.exe todavía dice que necesita privilegios de administrador.
[De algunas notas que tengo paraWindows 2008 R2. Confirmar en otros sistemas operativos Windows compatibles con UAC. Lo siguiente asume que puede realizar cambios en laPolítica de seguridad local.]
En su configuración por defecto, la configuración de Control de cuentas de usuario (UAC) dan al administrador privilegios locales, sino que se limitan los privilegios de los otros miembros del grupo de administradores. Para levantar las restricciones de UAC en otros miembros del grupo Administradores, haga lo siguiente:
- Seleccionar inicio -> Todos los programas -> Herramientas administrativas -> Directiva de seguridad local .
- Seleccione Políticas locales ->Opciones de seguridad.
- En el panel derecho, haga doble clic en la tercera entrada de la parte inferior que dice Control de cuentas de usuario: ejecutar todos los administradores en Modo de aprobación de administrador.
- Haga clic en Desactivado.
- Haga clic en OK para cerrar el diálogo y cierre la herramienta de configuración de Directiva de seguridad local.
- Reinicie la computadora para completar este cambio en la configuración de UAC.
- 1. interoperabilidad COM sin regasm
- 2. ¿Cómo usar IPC sin ser un administrador local?
- 3. Psexec "ejecutar como administrador (remoto)"
- 4. ¿Cómo puedo ejecutar un System.Beep() sin bloqueo?
- 5. ¿Cómo puedo ejecutar SASS sin instalar?
- 6. ¿Cómo puedo instalar módulos Perl sin privilegios de administrador?
- 7. Registro con regasm y regsvcs
- 8. Ejecutar PowerShell como administrador desde C#
- 9. regasm RA0000: No se registraron tipos
- 10. ¿La plena confianza significa lo mismo que Ejecutar como administrador
- 11. Ejecutar como administrador: requireAdministrator & ClickOnce + emular la hora del sistema
- 12. Cómo ejecutar otra aplicación como administrador en Windows XP
- 13. Instale ClickOnce sin ejecutar
- 14. Win C#: ejecutar la aplicación como administrador sin solicitud de UAC
- 15. ¿Puedes forzar a MSI a ser siempre administrador?
- 16. ¿Cómo puedo usar JScript para crear un acceso directo que utiliza "Ejecutar como administrador"
- 17. Cómo eliminar el requisito "Ejecutar como administrador" en C#
- 18. Variable sin $, ¿puede ser posible?
- 19. Ejecutar un ejecutable con privilegios de administrador en Mac
- 20. WCF Service no se está ejecutando sin derechos de administrador
- 21. C# COM DLL: ¿uso Regasm o Regsvr32?
- 22. SFML 1.6 sin privilegios de administrador
- 23. Cambiando el registro sin derechos de administrador
- 24. Ejecutando Visual Studio sin derechos de administrador
- 25. Para ejecutar cmd como administrador junto con el comando?
- 26. Establezca "Ejecutar como administrador" para acceso directo automaticlly
- 27. ¿Cómo puedo ejecutar un php sin un servidor web?
- 28. NSIS: instalar una aplicación para ejecutar siempre como administrador
- 29. ejecutar programáticamente cmd.exe como administrador en vista, C#
- 30. ¿Cómo ejecutar el administrador de Wordpress en un subdominio diferente?