Executing a PERL script from ASP.NET appl.

G

Guest

Hey 2gether!

I'm trying to execute a PERL script on the web server when the user presses
a button in an ASP.NET Web Application using Visual Basic. The most obvious
solution for me seemed to be to use the 'Shell()'-command [Like this:
Shell("C:\\Inetpub\\wwwroot\\BasicDataRequests\\Robot.pl",
AppWinStyle.NormalNoFocus, True, 5000)].
This didn't work: Either I get an "File not found" error, or I get no error
at all, but the PERL script isn't executed anyway. The strange thing is that
I managed to execute a .bat file for example. Why the hell can't I execute
the PERL script?
Just to make sure, I also tried:
Shell("C:\\Perl\\bin\\perl.exe
C:\\Inetpub\\wwwroot\\BasicDataRequests\\Robot.pl",
AppWinStyle.NormalNoFocus, True, 5000)
... to make sure he can find the PERL-interpreter.

Has anyone got a clue, what the problem is? (Security? Userrights? Wrong
path? etc. etc.?) Or has anyone got a different solution for this problem
(target: Execute PERL script out of ASP.NET appl. using VB)?

I've read that with the PerlASPX module you can run PERL in ASP.NET, but
that costs 295$. Maybe there are any other known, free products..?

Thanks alot in before!
 
K

Klaus H. Probst

You realize that executing applications from web pages is probably a bad
idea, right?

If you can execute the command interpreter then you should be able to run
the Perl one as well, though maybe the issue is quotes around the arguments
or something like that.

If you install ActivePerl you can use Perl in IIS either in "CGI" mode or as
a scripting language in ASP pages or under its own IIS handler (pages that
have the .plx extension).

I'd recommend the latter if your Perl script can run under IIS.
 
D

Dino Chiesa [Microsoft]

How about trying Process.Start(). ?

http://cheeso.members.winisp.net/srcview.aspx?dir=misc&file=shellex.aspx


Klaus H. Probst said:
You realize that executing applications from web pages is probably a bad
idea, right?

If you can execute the command interpreter then you should be able to run
the Perl one as well, though maybe the issue is quotes around the
arguments
or something like that.

If you install ActivePerl you can use Perl in IIS either in "CGI" mode or
as
a scripting language in ASP pages or under its own IIS handler (pages that
have the .plx extension).

I'd recommend the latter if your Perl script can run under IIS.


--
Klaus H. Probst, MVP
http://www.vbbox.com/


PzYon said:
Hey 2gether!

I'm trying to execute a PERL script on the web server when the user presses
a button in an ASP.NET Web Application using Visual Basic. The most obvious
solution for me seemed to be to use the 'Shell()'-command [Like this:
Shell("C:\\Inetpub\\wwwroot\\BasicDataRequests\\Robot.pl",
AppWinStyle.NormalNoFocus, True, 5000)].
This didn't work: Either I get an "File not found" error, or I get no error
at all, but the PERL script isn't executed anyway. The strange thing is that
I managed to execute a .bat file for example. Why the hell can't I
execute
the PERL script?
Just to make sure, I also tried:
Shell("C:\\Perl\\bin\\perl.exe
C:\\Inetpub\\wwwroot\\BasicDataRequests\\Robot.pl",
AppWinStyle.NormalNoFocus, True, 5000)
.. to make sure he can find the PERL-interpreter.

Has anyone got a clue, what the problem is? (Security? Userrights? Wrong
path? etc. etc.?) Or has anyone got a different solution for this problem
(target: Execute PERL script out of ASP.NET appl. using VB)?

I've read that with the PerlASPX module you can run PERL in ASP.NET, but
that costs 295$. Maybe there are any other known, free products..?

Thanks alot in before!
 
K

Klaus H. Probst

Hi Dino -

I believe the VB "Shell" command is just a wrapper around Process.Start. In
any case if the target EXE has a problem with the command line format (the
Perl interpreter is touchy about this, I know) or he has a permissions issue
or something like that it won't work no matter what.

It's still a bad idea to run EXEs from web processes though =)


--
Klaus H. Probst, MVP
http://www.vbbox.com/


Dino Chiesa said:
How about trying Process.Start(). ?

http://cheeso.members.winisp.net/srcview.aspx?dir=misc&file=shellex.aspx


Klaus H. Probst said:
You realize that executing applications from web pages is probably a bad
idea, right?

If you can execute the command interpreter then you should be able to run
the Perl one as well, though maybe the issue is quotes around the
arguments
or something like that.

If you install ActivePerl you can use Perl in IIS either in "CGI" mode or
as
a scripting language in ASP pages or under its own IIS handler (pages that
have the .plx extension).

I'd recommend the latter if your Perl script can run under IIS.


--
Klaus H. Probst, MVP
http://www.vbbox.com/


PzYon said:
Hey 2gether!

I'm trying to execute a PERL script on the web server when the user presses
a button in an ASP.NET Web Application using Visual Basic. The most obvious
solution for me seemed to be to use the 'Shell()'-command [Like this:
Shell("C:\\Inetpub\\wwwroot\\BasicDataRequests\\Robot.pl",
AppWinStyle.NormalNoFocus, True, 5000)].
This didn't work: Either I get an "File not found" error, or I get no error
at all, but the PERL script isn't executed anyway. The strange thing is that
I managed to execute a .bat file for example. Why the hell can't I
execute
the PERL script?
Just to make sure, I also tried:
Shell("C:\\Perl\\bin\\perl.exe
C:\\Inetpub\\wwwroot\\BasicDataRequests\\Robot.pl",
AppWinStyle.NormalNoFocus, True, 5000)
.. to make sure he can find the PERL-interpreter.

Has anyone got a clue, what the problem is? (Security? Userrights? Wrong
path? etc. etc.?) Or has anyone got a different solution for this problem
(target: Execute PERL script out of ASP.NET appl. using VB)?

I've read that with the PerlASPX module you can run PERL in ASP.NET, but
that costs 295$. Maybe there are any other known, free products..?

Thanks alot in before!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top