woensdag 9 januari 2008

.Net applicatie starten vanaf netwerk

Wanneer je een .Net applicatie (of een .Net project in Visual Studio) wil starten vanaf een netwerkschijf, dan kan je de volgende foutmelding krijgen:
Request for the permission of type 'System.Security.Permissions.EnvironmentPermission...' failed

In Visual Studio krijg je tijdens het debuggen een foutmelding zoals deze te zien:


Het .Net framework staat standaard niet toe dat applicaties gestart worden vanaf het netwerk. Via het Configuratiescherm kan geregeld worden dat .Net dit wel accepteert. Voer hiervoor de volgende stappen uit:
  1. Start "Microsoft .NET Framework 1.1 (of 2.0) Configuration" in Systeembeheer (of Administrative Tools) in het Configuratiescherm

  2. Ga naar My Computer / Runtime Security Policy / Machine / Code Groups / All_Code

  3. Klik in het rechter deel van het scherm op "Add a Child Code Group"

  4. Vul de naam voor de Code Group in (bijv. "Trust L drive") en klik op Next

  5. Specificeer URL als Condition Type en vul de URL naar de netwerk drive in (voor drive L is dit "file://L:/*") en klik op Next


  6. Selecteer voor de Permission Set de set "FullTrust" en klik op Next en daarna Finish

In dit voorbeeld is de netwerk drive L nu 'getrust' door het .Net framework en kunnen .Net applicaties uitgevoerd worden vanaf deze drive.

Indien je geen snelkoppeling naar "Microsoft .NET Framework 1.1 (of 2.0) Configuration" in Systeembeheer (of Administrative Tools) in het Configuratiescherm hebt, dan kan je ook gebruik maken van de command line tool CasPol.exe. Om hetzelfde als hierboven te bereiken dien je het volgende commando uit te voeren:
CasPol.exe -m -ag 1 -url file://L:/* FullTrust -n "Trust L drive"

Succes ermee !!