954,184 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Call external program from ASP.NET

Hi,
Does anyone know how to run an external program from ASP.NET.
The System.Diagnostics.Process or Shell() functions do not work for opening GUI applications like NotePad. I need my ASP.NET web form to open a Windows application that we be installed on the Client. Any ideas?

Thanks,
Mike

mikefitz
Newbie Poster
20 posts since Mar 2006
Reputation Points: 10
Solved Threads: 0
 

I was able to get this to work using the
System.Diagnostics.Process. I did this by:

string fileLocation = @"filename";
Process test = new Process();
test.StartInfo.FileName = fileLocation;
test.Start();

leonpwhirl
Newbie Poster
6 posts since Sep 2006
Reputation Points: 14
Solved Threads: 0
 

If you want to open an external app on the client, then asp.net won't help. Asp.net is server side. When using System.Diagnostics.Process, you can open external apps, but it opens on the web server, not the clients machine.

If you want to open an app, such as notepad, on the client machine, you need to use client side scripting such as javascript. NOTE: Most of the time, this won't work unless you lossen up the security, so it's very risky.

Anyway, here's a sample code to launch apps on the client.

var theShell = new ActiveXObject("Shell.Application");
var theApp = "C:\\Windows\\Notepad.exe";
theShell.ShellExecute(theApp, "", "", "open", "1");
M_K_Higa
Junior Poster
102 posts since Sep 2006
Reputation Points: 12
Solved Threads: 2
 

That will work just fine. Thanks

mikefitz
Newbie Poster
20 posts since Mar 2006
Reputation Points: 10
Solved Threads: 0
 

That is really only suitable for an intranet application, and an IE-only browser environment.

tgreer
Made Her Cry
Team Colleague
2,118 posts since Dec 2004
Reputation Points: 227
Solved Threads: 37
 

You are correct. This is more suitable for an intranet environment. Thanks for the clarification. I'd like to stress, even in an intranet environment, you still have to relax the security requirements a whole lot to make this work.

M_K_Higa
Junior Poster
102 posts since Sep 2006
Reputation Points: 12
Solved Threads: 2
 

My little advice: Never mess with the client computer!
I hate when web pages try to do that.

ManicCW
Junior Poster in Training
95 posts since Nov 2005
Reputation Points: 13
Solved Threads: 11
 

I put :

<script language="javascript" >
    
        function todo()
        {
        var theShell = new ActiveXObject("Shell.Application");
        var theApp = "C:\\Windows\\Notepad.exe";
        theShell.ShellExecute(theApp, "", "", "open", "1");
        }
    </script>


and then <input type = "BUTTON" value = "Push Me!" name = "Command1" onclick="todo()">

but it doesnt seem to work

please helpme.

tcornejo
Newbie Poster
1 post since Jun 2009
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You