Fehlermeldung beim Arbeiten mit C# und InfoPath 2003


Plumpsi

Mitglied
Hallo,

ich entwickle ein Projekt mit InfoPath 2003. Ich bin grad dabei mich einzuarbeiten. Mit dem Toolkit für Visual Studio .NET greife ich von C# auf InfoPath drauf zu.
Ich habe folgendes Problem.
Wenn ich einen Button in einem InfoPath-Formular drücke, so soll er Dateien von einem Ordner in den anderen Ordner kopieren. Die Funktionalität habe ich in C# entwickelt.
Führe ich das ganze aus, so erscheint folgende Fehlermeldung

System.Security.SecurityException
Anforderung des Berechtigungstyps System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ist fehlgeschlagen.
at System.Security.CodeAccessSecurityEngine.CheckHelper(PermissionSet grantedSet, PermissionSet deniedSet, CodeAccessPermission demand, PermissionToken permToken)
at System.Security.CodeAccessSecurityEngine.Check(PermissionToken permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, Int32 checkFrames, Int32 unrestrictedOverride)
at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark)
at System.Security.CodeAccessPermission.Demand()
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
at System.IO.FileInfo.CopyTo(String destFileName, Boolean overwrite)
at StartFormular.StartFormular.copyFiles(DirectoryInfo di, String pattern) in c:\amdstartpcms\startformular\formcode.cs:line 135
at StartFormular.StartFormular.btnCopy_OnClick(DocActionEvent e) in c:\amdstartpcms\startformular\formcode.cs:line 70
at Microsoft.Office.Interop.InfoPath.SemiTrust._ButtonEventSink_SinkHelper.OnClick(DocActionEvent pEvent)


Was kann ich tun, damit das funktioniert? Die Dateien werden von einem Unterordner des Laufwerks C:\ ins Wurzelverzeichnis C.\ kopiert.
Weiß jemand eine Lösung zu diesem Problem?
 

Norbert Eder

Erfahrenes Mitglied
Wenn du die Fehlermeldung liest .. was will sie dir damit sagen? Richtig. Du hast ein Security-Problem.
Woran kann es liegen? Richtig, du darfst in dieses Verzeichnis nicht schreiben. Ergo die Permissions durchgucken und entsprechend setzen.
 

Plumpsi

Mitglied
Wie setze ich die Permissions? Kenn mich bei diesem Thema noch nicht so gut aus. Was muß ich denn da machen?
 

Christian Kusmanow

Erfahrenes Mitglied
Code:
using System.IO;
[...]
string[] aFiles = Directory.GetFiles( "MyFolder" );
foreach( string File in aFiles )
	File.SetAttributes( File, FileAttributes.Normal );
MfG, cosmo
 

Norbert Eder

Erfahrenes Mitglied
Nein, ich denke es geht hier um Benutzerberechtigungen. Die musst du unter Windows machen, hat mit Programmierung nichts zu tun ..

Eh wissen, rechte Maustaste auf Ordner, Sicherheitseinstellungen ....