Solved

Make dot net console application trusted on Local Intranet

Posted on 2008-10-20
10
2,174 Views
Last Modified: 2013-12-17
I have written a console application in C# dot net 1.1 that simply runs a program (robocopy.exe) as another user (Impersonation). The app works fine on my computer. It is supposed to be executed on a shared location (H:\path\app.exe). But when I run it from that direction/path an error message appears saying: "Application has generated an exception that could not be handled".

When I go to administrator tools -> .net wizards -> adjust dot net security and sets the Local Intranet to full trust it works fine.

Is there a way to make my app run under Medium Trust? Signing? Some users are not administrators and cant choose Full Trust.

full-trust.bmp
medium-trust.bmp
errormessage.bmp
0
Comment
Question by:einarbrown
  • 4
  • 3
  • 3
10 Comments
 
LVL 6

Expert Comment

by:AmarIs26
ID: 22756003
You need to sign your assembly/exe with a key. I remember fixing a similar problem while back by signing the assembly so it could be executed from a shared folder.
0
 
LVL 69

Expert Comment

by:Éric Moreau
ID: 22756151
Because the error is not related to security, it has nothing to do with the level of trust.

Add tracing to your application to find exactly what statement in your code is triggering the error.
0
 
LVL 6

Author Comment

by:einarbrown
ID: 22756867
When I debugging on the shared network drive a get a message thats not handled even though I have try-catched it. When I set the Local Network to Full trust it works. So my guess is that it has to do with the Security Settings.
error2.bmp
0
 
LVL 69

Expert Comment

by:Éric Moreau
ID: 22756945
This other error message is clearly related to security but the first one is not. There is something that makes the application crash.
0
 
LVL 6

Expert Comment

by:AmarIs26
ID: 22756993
Debugging probably wouldnt work as the runtime is not allowing your code to execute because it does not have the necesarry permissions.
Have you signed your assembly?
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 69

Expert Comment

by:Éric Moreau
ID: 22757019
AmarIs26, if you elevate Trust to Full, you don't have to sign the assembly.
0
 
LVL 6

Author Comment

by:einarbrown
ID: 22757178
If its possible, I rather not change the Trust level.

How do I sing the application? What I have done is made a .snk file and referenced it in AssemblyInfo.cs. Is there something more I should do to sign it? Can I put the .snk file on the shared path or is it compiled into the .exe?
[assembly: AssemblyKeyFile("path\\keyfile.snk")]

Open in new window

0
 
LVL 69

Accepted Solution

by:
Éric Moreau earned 250 total points
ID: 22757278
>>I rather not change the Trust level.

If the purpose of not changing the Trust Level is not having to do it on each PC, notice that you will have to trust that signed assembly on each PC.
0
 
LVL 6

Assisted Solution

by:AmarIs26
AmarIs26 earned 250 total points
ID: 22757386
You can simply configure the signing in the Project Property dialog if you are using visual studio 2005. Right click on the project and  then properties and finally select the Signing tab.
Then it is just the case of checking the sign the assembly checkbox and selecting the key file. We had an app that came up with an error when deployed in the shared folder and signing it fixed that.
I suggest you try that as your first step. If that doesnt work then the next step would be to configure the permissions. Then again you could add Attributes in your code to demand a lower permission or something....
0
 
LVL 6

Author Closing Comment

by:einarbrown
ID: 31507739
Thanks for all your help. Its really been helpful and Im very grateful. Thanks allot!
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Recently while returning home from work my wife (another .NET developer) was murmuring something. On further poking she said that she has been assigned a task where she has to serialize and deserialize objects and she is afraid of serialization. Wha…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now