[solved] ASP.Net/C# Programm auf Webserver ausführen

Hallo zusammen,

Ich habe Folgendes Problem. Ich möchte anhand ein Aktion die der Besucher einer Webseite durchführt ein Programm Lokal auf dem Webserver starten.

Im Moment sieht das ganze so aus. Das hab ich mir schon zusammengelesen.
Code:
Process Test = new Process();
string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\testprogramm\programm.exe";

Test.StartInfo.FileName = path;

Test.Start();

Mein Problem besteht darin das es völlig egal ist ob ich absolute oder relative pfadangeben gebe. Ich bekomm immer die meldung das die Datei nicht gefunden wird. Hat jemand von euch schon erfahrung mit sowas?

Danke schonmal und Greets

Mortiis
 
mh.. kanns sein das keine leserechte draus sind oO
passiert mir auch hin und wieder mal...
 
Hi,
danke erstmal fü deine Antwort.
Hab mal Berechtigungen etc. überprüft und nochmal etwas damit rumgespielt. Macht leider absolut keinen Unterschied.


Vielleicht noch eine kleine Info zur Struktur des Servers:
W2k3 Server
IIS 6
.Net Framework 2.0

Greets
Mortiis
 
ganz spontan würd ich sagen "IIS" is schuld... ;)

ne jetz aber mal ehrlich ich hab vom IIS leider keine ahnung... versuchs mal mit dem Apache... von dem wurde ich noch nie enttäuscht ^^
 
Für ASP.Net ist der Apache eher ungeeignet (bzw. gibt es da mittlerweile ein Modul für?), selbst wenn der IIS sollte die bessere Wahl sein (für ASP.Net).

Werde den Code nachher mal selbst bei mir in der Entiwcklungsumgebung testen.

*EDIT*
Muss ich zuhause Testen, denke mal das wird am Wochenende was.
Hab auf die schnelle das gefunden http://www.devtrain.de/artikel_808.aspx, also sollte dein Code eigentlich funktionieren, schon mal auf nem anderen Server getestet, nicht das irgend eine einstellung beim IIS das verhindert?
 
Tag nochmal,

danke erstmal für eure Antworten.
Das Problem hat sich gelöst.

Lösung:
1. Die exe befand sich wirklich in einem Ordner der nur Scriptberechtigung hatte.
2. Die Berechtigungen waren noch nicht komplett ok. Wie es aussieht war es der User "NETZWERKDIENST" hatte nur berechtigung den ordner anzuzeigen und sonst keine :D
3. Es werden absolute Pfade benötigt.

Code:
Process Test = new Process();
string path = "c:\\Inetpub\\wwwroot\\testordner\\testprogramm\\testprog.exe";
Test.StartInfo.FileName = path;
Test.Start();

Danke und Greets
Mortiis
 
Zurück
Oben