tags:

views:

414

answers:

2

We have an application that is distribute to a varity of customers. Sometime it is installed on a network share. Usually we can give that application access with caspol.exe and grant the LocalIntranet Zone FullTrust. Sometimes the customers admins do not manage to grant that application access due to some network settings. When we launch the exe it opens for a short time and appears in the Client Task Manager and disappears silently... now the question is there a tool which gives me some debugging or tracing details on that. Is there a tool to debug security issues like that... I assueme that this happens before any of my code is executed... and I do not see anything in the event trace neither on the client nor on the server...

Any ideas?

+1  A: 

Can I recommend - perhaps look at ClickOnce - a click-once application can be hosted on a network share, but has much better security deployment factors. You just run the .application rather than the .exe (VS2005 and VS2008 have all the tools you need to publish a ClickOnce application trivially).

Also - in one of the recent service packs (perhaps with 3.5 SP1), I believe that mapped shares get more priveleges - so \\foo\bar\my.exe would still error, but f:\my.exe (to the same location) should work.

Marc Gravell
we will port the app once to use clickonce but this will take time...I have 3.5 SP1 installed on the client but still would need use caspol... is there no way to get any error messages or trace that?
Have you tried: http://blogs.msdn.com/suzcook/archive/2003/05/29/57120.aspx
Marc Gravell
+1  A: 

We're having similar issues with our applications which are usually placed on a network share. We're solving this issue by:

  • signing and timestamping all application components with Microsoft Authenticode certificate issued by Thawte.
  • deploying msi package containing security policy granting full trust to applications signed by our certificate.

If your company will not / cannot buy code signing cert, you can install a CA somewhere and issue cert for that purpose only ( I think it will work altough this cert will not resolve to trusted root. )

The other option, with a lot more hassle would be to strong-sign all assemblies, and grant full trust to all assemblies signed with that key.

Both approaches result in performing procedure once per workstation ( updated applications will still work ). I think it can even be propagated throughout the enterprise somehow, but never did that and don't know details.

Željko Tanović