Ejecutar una aplicación .NET desde un recurso compartido de archivos sin firma de código

StackOverflow https://stackoverflow.com/questions/815740

Pregunta

El modelo de seguridad .NET genera errores de seguridad cada vez que se ejecuta un archivo .NET desde un recurso compartido de archivos. El error no aparece cuando se ejecuta desde una unidad local. ¿Alguien sabe de alguna manera de evitar esto sin requerir que el código esté firmado?

Otros consejos

Utilice caspol.exe para asignar ese archivo comparte suficientes permisos para ejecutar su programa.

Es posible que pueda compilar la aplicación contra .net 3.5 sp1, esta versión estaba eliminando esta configuración de seguridad.

Para solucionar esto, terminamos envolviendo nuestro .exe en un archivo por lotes. El archivo por lotes copió el archivo .exe en la unidad local y lo ejecutó desde allí. ¡Aunque estoy seguro de que hay una forma menos pirata!

Asegúrese de que .Net 3.5SP1 esté instalado en la máquina que ejecuta el software. Esta versión elimina la restricción de seguridad en las aplicaciones que se ejecutan desde un recurso compartido de archivos. Les permite funcionar con plena confianza en comparación con el modelo anterior, lo que los coloca en un entorno restringido.

Aquí hay un enlace al artículo del blog de Vance sobre el tema

Puede usar el asistente de configuración de .Net para aflojar la seguridad de la Asamblea específica y su ubicación, esto a su vez se puede implementar a través de una política de grupo. También puede usar caspol como se mencionó anteriormente.

La otra alternativa es usar la seguridad de acceso al código. Hay un brillante artículo de MSDN aquí explicándolo.

La tercera alternativa es usar la implementación de clickonce, sin embargo, esto todavía crea una instancia local del ensamblaje cuando se ejecuta.

Puede usar Haga clic en Implementación una vez para implementar su aplicación desde un archivo compartido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top