Haces AssignProcessToJobObject
y error de "acceso denegado" pero sólo cuando se está ejecutando en el depurador. ¿Por qué es esto?AssignProcessToJobObject falla con "acceso denegado" error cuando se ejecuta en el depurador
Respuesta
Esto me desconcertó durante unos 30 minutos.
En primer lugar, probablemente necesite un manifiesto de UAC incrustado en su aplicación (as suggested here). Algo como esto:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
En segundo lugar (y esta es la parte que se quedó atascado en), cuando se está ejecutando la aplicación en el depurador, se crea en el proceso de un objeto de trabajo. De lo que el proceso de su hijo debe poder separarse antes de poder asignarlo a su trabajo. Entonces (duh), necesita especificar CREATE_BREAKAWAY_FROM_JOB
en los indicadores para CreateProcess
).
Si no se estaba ejecutando bajo el depurador, o su proceso principal estaba en el trabajo, esto no habría sucedido.
Esto parece muérdeme muy a menudo, y aunque está bien, no parece el post de 1800INFORMATION para incluir una serie de razones y correcciones que parecen útiles, por lo que merezca la pena para publicar un resumen de por qué he visto que esto suceda .
- Al tratar de resolver esto por sí mismo, nota que este problema puede ocurrir por diferentes razones cuando se ejecuta desde cmd.exe, Explorer, y Visual Studio. Intentar ejecutar el ejecutable que falla desde el lugares respectivos puede ayudar a identificar la causa del problema. Puede que la aplicación solo encuentre trabajo desde CMD.EXE a pesar de fallar en V.S. y Explorer.exe
- En mi caso, bajo Win7, que parecían necesitar un-comentar los "supportedOS" elemento que indica la compatibilidad Win7 del archivo app.manifest . Esto parece solucionar el problema cuando se ejecuta desde Explorer. Para añadir un manifiesto, haga clic derecho sobre el proyecto, golpeó Añadir, y encontrar 'Aplicación archivo de manifiesto'.
- Para que funcione Visual Studio 2010, parece que necesito evitar que use el Asistente de compatibilidad de programas, Tom Minka comparte dos formas de hacerlo aquí: https://stackoverflow.com/a/4232259/86375, nota, tuve que reiniciar VS2010 para llevar a cabo los cambios sugeridos.
- 1. shutil.rmtree falla en Windows con 'Acceso denegado'
- 2. sn.exe falla con el mensaje de error Acceso denegado
- 3. Postgres rake db: migrate falla con error de acceso denegado
- 4. maven tomcat7: implementación falla con acceso denegado
- 5. obteniendo acceso denegado el error en IE8
- 6. AVG Acceso advertencia denegado cuando se ejecuta el más simple programa en C++
- 7. XMLHTTP y error "Acceso denegado"
- 8. WindowsError [error 5] Acceso denegado
- 9. FTP "550 Acceso denegado" Error
- 10. mysqlimport: Error: 1045, Acceso denegado
- 11. Error # 1045 Acceso denegado en PhpMyAdmin
- 12. Servicio de Windows: error 5: Acceso denegado
- 13. Acceso a archivos desde el objeto COM de Excel falla cuando se ejecuta desde el servicio NT en Vista
- 14. CDO.Message.1 error '80070005' Acceso denegado.
- 15. tablas de acceso - acceso denegado
- 16. FindFirstFile devuelve acceso denegado
- 17. IIS7 403 - Acceso denegado
- 18. Obteniendo el error "Acceso denegado" al ejecutar pg_dump en Windows
- 19. Acceso denegado intentando purgar PrintQueue en C#
- 20. Permiso denegado para vincular al puerto cuando se ejecuta la aplicación Scala a través de SBT
- 21. acceso denegado en .htacces localhost
- 22. Depuración remota en VS2010 - acceso denegado
- 23. "HTTP status 401: Acceso denegado" error para el servicio web, incluso cuando el directorio virtual permite el acceso anónimo
- 24. acceso a magento denegado
- 25. Acceso denegado utilizando MSXML
- 26. SUBINACL obteniendo acceso denegado
- 27. Obteniendo acceso denegado error al instalar phpmyadmin en ubuntu11.4
- 28. especificación persona pasa cuando se ejecuta solo, pero falla cuando se ejecute todas las características
- 29. subproceso en Windows, acceso denegado
- 30. SQL Server y .NET: inserción falla (! Silencio) en el código, pero no cuando se ejecuta manualmente