Ejecutar EXE en Carpeta Compartida

07/01/2007 - 09:15 por Rodrilobo | Informe spam
Amigos estoy intentanto crear un exe que se pueda ejecutar desde una
carpeta compartida, este se conecta con una BD en SQL Server 2005.

Tengo los siguientes problemas:
-Cuando inicio la aplicacion desde la carpeta compartida
inicia bien la interfaz grafica pero cuando intenta conectar a la BD da
un error...

en fin no puedo conectarme a la BD...

Alguien sabe porque...

hay que hacer algo adicional????

Agradezco toda ayuda...

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
07/01/2007 - 10:29 | Informe spam
"Rodrilobo" wrote in message
news:
Amigos estoy intentanto crear un exe que se pueda ejecutar desde una
carpeta compartida, este se conecta con una BD en SQL Server 2005.

Tengo los siguientes problemas:
-Cuando inicio la aplicacion desde la carpeta compartida
inicia bien la interfaz grafica pero cuando intenta conectar a la BD da
un error...

en fin no puedo conectarme a la BD...

Alguien sabe porque...

hay que hacer algo adicional????



Es una pregunta que aparece con frecuencia en estos foros. Agún día me
decidiré a escribir una FAQ :-)

Se trata de un problema de permisos de .Net. De forma predeterminada, el
runtime de .Net concede permisos ilimitados a los ejecutables que se cargan
desde el disco local, pero limita seriamente los permisos de los programas
cargados desde la intranet, y todavía más los que se cargan desde la zona
internet. Entre otras cosas, no les permite acceder a base de datos.
Estos permisos se pueden modificar con la utilidad CASPOL.EXE, o desde
el panel de control, herramientas administrativas, configuración del .Net
framework. Esta última herramienta siempre se instala con el framewrok
versión 1, pero con el de la versión 2 solo se instala si instalas algún
producto que la traiga, tal como visual studio o el SDK del Framework.
La configuración deseada (concesión de permisos) hay que repetirla en
todos los PCs en los que se desee ejecutar ese programa desde la carpeta
compartida. Una forma de automatizar este proceso consiste en conceder los
permisos en un puesto a nivel "enterprise" (es uno de los tres niveles que
salen en la herramienta administrativa), y luego usar la misma herramienta
para exportarlos a un instalable de tipo ".msi". Ese msi se puede instalar
en todos los puestos; si pertenecen a un dominio windows se puede
automatizar con una política de grupo.
Respuesta Responder a este mensaje
#2 Rodrilobo
08/01/2007 - 00:06 | Informe spam
Gracias Alberto... Tenias razon estes un tema bastante hablado...
Buscanco por ahi he visto que ejecutando la sentencia

"caspol -machine -chggroup LocalIntranet_Zone FullTrust"

la cual ejecuto en la maquina en la que deseo ejecutar el programa y
funciono...

esta bien asi o me falta algo????...

Alberto Poblacion ha escrito:

"Rodrilobo" wrote in message
news:
> Amigos estoy intentanto crear un exe que se pueda ejecutar desde una
> carpeta compartida, este se conecta con una BD en SQL Server 2005.
>
> Tengo los siguientes problemas:
> -Cuando inicio la aplicacion desde la carpeta compartida
> inicia bien la interfaz grafica pero cuando intenta conectar a la BD da
> un error...
>
> en fin no puedo conectarme a la BD...
>
> Alguien sabe porque...
>
> hay que hacer algo adicional????

Es una pregunta que aparece con frecuencia en estos foros. Agún día me
decidiré a escribir una FAQ :-)

Se trata de un problema de permisos de .Net. De forma predeterminada, el
runtime de .Net concede permisos ilimitados a los ejecutables que se cargan
desde el disco local, pero limita seriamente los permisos de los programas
cargados desde la intranet, y todavía más los que se cargan desde la zona
internet. Entre otras cosas, no les permite acceder a base de datos.
Estos permisos se pueden modificar con la utilidad CASPOL.EXE, o desde
el panel de control, herramientas administrativas, configuración del .Net
framework. Esta última herramienta siempre se instala con el framewrok
versión 1, pero con el de la versión 2 solo se instala si instalas algún
producto que la traiga, tal como visual studio o el SDK del Framework.
La configuración deseada (concesión de permisos) hay que repetirla en
todos los PCs en los que se desee ejecutar ese programa desde la carpeta
compartida. Una forma de automatizar este proceso consiste en conceder los
permisos en un puesto a nivel "enterprise" (es uno de los tres niveles que
salen en la herramienta administrativa), y luego usar la misma herramienta
para exportarlos a un instalable de tipo ".msi". Ese msi se puede instalar
en todos los puestos; si pertenecen a un dominio windows se puede
automatizar con una política de grupo.
Respuesta Responder a este mensaje
#3 Alberto Poblacion
08/01/2007 - 07:59 | Informe spam
"Rodrilobo" wrote in message
news:

"caspol -machine -chggroup LocalIntranet_Zone FullTrust"

la cual ejecuto en la maquina en la que deseo ejecutar el programa y
funciono...

esta bien asi o me falta algo????...



Todo depende de cómo de crítica sea la seguridad en tu red. Cuando la
seguridad es importante, uno de los criterios a seguir es "conceder solo los
permisos mínimos necesarios y no dar permisos superfluos". En este caso, con
el comando que has introducido, estás concediendo permisos ilimitados a
todos los ejecutables descargados desde todos los ordenadores de la red
local. Si es una red pequeña, con pocos usuarios todos ellos muy cuidadosos
con lo que ejecutan en su máquina, no pasa nada. En cambio, en una empresa
grande, probablemente los responsables de seguridad del departamento de
informática se mostrarían escandalizados ante ese comando, y exigirían que
restringieses los permisos a "solo los programas descargados desde el
servidor 'oficial'".
Respuesta Responder a este mensaje
#4 Rodrilobo
11/01/2007 - 01:21 | Informe spam
Alberto cual seria el comando para solo permitir programas que vengan
del servidor??

porque lo que tengo es una carpeta compartida del servidor y solo
necesito ejecutar de ahi...




Alberto Poblacion ha escrito:

"Rodrilobo" wrote in message
news:
>
> "caspol -machine -chggroup LocalIntranet_Zone FullTrust"
>
> la cual ejecuto en la maquina en la que deseo ejecutar el programa y
> funciono...
>
> esta bien asi o me falta algo????...

Todo depende de cómo de crítica sea la seguridad en tu red. Cuando la
seguridad es importante, uno de los criterios a seguir es "conceder solo los
permisos mínimos necesarios y no dar permisos superfluos". En este caso, con
el comando que has introducido, estás concediendo permisos ilimitados a
todos los ejecutables descargados desde todos los ordenadores de la red
local. Si es una red pequeña, con pocos usuarios todos ellos muy cuidadosos
con lo que ejecutan en su máquina, no pasa nada. En cambio, en una empresa
grande, probablemente los responsables de seguridad del departamento de
informática se mostrarían escandalizados ante ese comando, y exigirían que
restringieses los permisos a "solo los programas descargados desde el
servidor 'oficial'".
Respuesta Responder a este mensaje
#5 Alberto Poblacion
11/01/2007 - 13:45 | Informe spam
"Rodrilobo" wrote in message
news:
Alberto cual seria el comando para solo permitir programas que vengan
del servidor??



Pues de memoria no me lo sé. Hay que llamar dos veces al Caspol, una
diciéndole que cree un grupo de código para el código descargado desde ese
servidor y otra para decirle que conceda FullTrust a ese grupo (esta segunda
es "caspol -machine -chggroup MiGrupo FullTrust")

Yo lo hago desde el panel de control, pinchando en el icono de
configuración del .Net Framework. Solo hay que pinchar en los grupos de
código, en All_Code y seleccionar "New...", y el asistente ya te pregunta
los datos del grupo. En la condición de pertenencia le indicas una condición
que especifique tu servidor. Después se puede exportar a los otros
ordenadores con la opción "Create deployment package", que crea un .msi para
el Windows installer.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida