By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,236 Members | 1,795 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,236 IT Pros & Developers. It's quick & easy.

Executing an application inside a Service

P: n/a
Hi all,

i have written a Service,now i want to execute another application (for
eg;calc.exe) in the service....how will i perform it??...

i tried using this....

/**************Executing a Process code starts here**************/
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents=false;
proc.StartInfo.FileName="calc";
proc.Start();
/**************Executing a Process code ends here**************/

the above code is not working.......what is the other alternative or is my
approach wrong??...

with regards,
C.C.Chakkaradeep
Nov 16 '05 #1
Share this Question
Share on Google+
15 Replies


P: n/a
Chakkaradeep,

What's happening when you run it? Running another program from inside a
service isn't the best idea in the world, especially if it has a UI. If it
has a UI, then you have to let the service interact with the desktop, and
even then, you can't guarantee that there will be a desktop session (there
is none if no one is logged in).

What are you trying to do?
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:D4**********************************@microsof t.com...
Hi all,

i have written a Service,now i want to execute another application (for
eg;calc.exe) in the service....how will i perform it??...

i tried using this....

/**************Executing a Process code starts here**************/
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents=false;
proc.StartInfo.FileName="calc";
proc.Start();
/**************Executing a Process code ends here**************/

the above code is not working.......what is the other alternative or is my
approach wrong??...

with regards,
C.C.Chakkaradeep

Nov 16 '05 #2

P: n/a
Hi,

My Service is a Multithreaded Server which listens for connections at a
particular port....if any incoming connections come,the server accepts it and
starts an application with the parameter got from remote end by receiving the
informations from Socket....this is what i want to do...i have developed a
Multithreaded Server runnning as service,it is working fine by sending back
replies to clients....but am not able to execute an application....

so what is my next step??...am a newbie to Services...

with regards,
C.C.Chakkaradeep

"Nicholas Paldino [.NET/C# MVP]" wrote:
Chakkaradeep,

What's happening when you run it? Running another program from inside a
service isn't the best idea in the world, especially if it has a UI. If it
has a UI, then you have to let the service interact with the desktop, and
even then, you can't guarantee that there will be a desktop session (there
is none if no one is logged in).

What are you trying to do?
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:D4**********************************@microsof t.com...
Hi all,

i have written a Service,now i want to execute another application (for
eg;calc.exe) in the service....how will i perform it??...

i tried using this....

/**************Executing a Process code starts here**************/
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents=false;
proc.StartInfo.FileName="calc";
proc.Start();
/**************Executing a Process code ends here**************/

the above code is not working.......what is the other alternative or is my
approach wrong??...

with regards,
C.C.Chakkaradeep


Nov 16 '05 #3

P: n/a
As I told you before, services should not consider the presence of an
interactive destop, also, they should not spawn processes that have a UI
(he, they should not spawn processes at all).
By default services run in the context of a sandboxed desktop environment,
running a service in the context of the interactive desktop (enabling
"interact with desktop" in the Service properties) should ONLY be considered
for debugging purposes.

Willy.

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:7D**********************************@microsof t.com...
Hi,

My Service is a Multithreaded Server which listens for connections at a
particular port....if any incoming connections come,the server accepts it
and
starts an application with the parameter got from remote end by receiving
the
informations from Socket....this is what i want to do...i have developed a
Multithreaded Server runnning as service,it is working fine by sending
back
replies to clients....but am not able to execute an application....

so what is my next step??...am a newbie to Services...

with regards,
C.C.Chakkaradeep

"Nicholas Paldino [.NET/C# MVP]" wrote:
Chakkaradeep,

What's happening when you run it? Running another program from
inside a
service isn't the best idea in the world, especially if it has a UI. If
it
has a UI, then you have to let the service interact with the desktop, and
even then, you can't guarantee that there will be a desktop session
(there
is none if no one is logged in).

What are you trying to do?
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:D4**********************************@microsof t.com...
> Hi all,
>
> i have written a Service,now i want to execute another application (for
> eg;calc.exe) in the service....how will i perform it??...
>
> i tried using this....
>
> /**************Executing a Process code starts here**************/
> System.Diagnostics.Process proc = new System.Diagnostics.Process();
> proc.EnableRaisingEvents=false;
> proc.StartInfo.FileName="calc";
> proc.Start();
> /**************Executing a Process code ends here**************/
>
> the above code is not working.......what is the other alternative or is
> my
> approach wrong??...
>
> with regards,
> C.C.Chakkaradeep


Nov 16 '05 #4

P: n/a
Chakkaradeep,

Does the account that the service is running under have the appropriate
permissions? Does the application you are running have a UI, or is it a
console app?

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:7D**********************************@microsof t.com...
Hi,

My Service is a Multithreaded Server which listens for connections at a
particular port....if any incoming connections come,the server accepts it
and
starts an application with the parameter got from remote end by receiving
the
informations from Socket....this is what i want to do...i have developed a
Multithreaded Server runnning as service,it is working fine by sending
back
replies to clients....but am not able to execute an application....

so what is my next step??...am a newbie to Services...

with regards,
C.C.Chakkaradeep

"Nicholas Paldino [.NET/C# MVP]" wrote:
Chakkaradeep,

What's happening when you run it? Running another program from
inside a
service isn't the best idea in the world, especially if it has a UI. If
it
has a UI, then you have to let the service interact with the desktop, and
even then, you can't guarantee that there will be a desktop session
(there
is none if no one is logged in).

What are you trying to do?
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:D4**********************************@microsof t.com...
> Hi all,
>
> i have written a Service,now i want to execute another application (for
> eg;calc.exe) in the service....how will i perform it??...
>
> i tried using this....
>
> /**************Executing a Process code starts here**************/
> System.Diagnostics.Process proc = new System.Diagnostics.Process();
> proc.EnableRaisingEvents=false;
> proc.StartInfo.FileName="calc";
> proc.Start();
> /**************Executing a Process code ends here**************/
>
> the above code is not working.......what is the other alternative or is
> my
> approach wrong??...
>
> with regards,
> C.C.Chakkaradeep


Nov 16 '05 #5

P: n/a
Hi,

My application which to be made run by my Service is a GUI application say
"somename.exe",service has to just make it run....for this also i need to
spawn a thread???

with regards,
C.C.Chakkaradeep

"Nicholas Paldino [.NET/C# MVP]" wrote:
Chakkaradeep,

Does the account that the service is running under have the appropriate
permissions? Does the application you are running have a UI, or is it a
console app?

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:7D**********************************@microsof t.com...
Hi,

My Service is a Multithreaded Server which listens for connections at a
particular port....if any incoming connections come,the server accepts it
and
starts an application with the parameter got from remote end by receiving
the
informations from Socket....this is what i want to do...i have developed a
Multithreaded Server runnning as service,it is working fine by sending
back
replies to clients....but am not able to execute an application....

so what is my next step??...am a newbie to Services...

with regards,
C.C.Chakkaradeep

"Nicholas Paldino [.NET/C# MVP]" wrote:
Chakkaradeep,

What's happening when you run it? Running another program from
inside a
service isn't the best idea in the world, especially if it has a UI. If
it
has a UI, then you have to let the service interact with the desktop, and
even then, you can't guarantee that there will be a desktop session
(there
is none if no one is logged in).

What are you trying to do?
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:D4**********************************@microsof t.com...
> Hi all,
>
> i have written a Service,now i want to execute another application (for
> eg;calc.exe) in the service....how will i perform it??...
>
> i tried using this....
>
> /**************Executing a Process code starts here**************/
> System.Diagnostics.Process proc = new System.Diagnostics.Process();
> proc.EnableRaisingEvents=false;
> proc.StartInfo.FileName="calc";
> proc.Start();
> /**************Executing a Process code ends here**************/
>
> the above code is not working.......what is the other alternative or is
> my
> approach wrong??...
>
> with regards,
> C.C.Chakkaradeep


Nov 16 '05 #6

P: n/a
Chakkaradeep,

In this case, you can't do this from a service. How are you going to
control the app from the service if it requires a UI? Also, the interaction
with the desktop is an issue as well. I would find another way to do what
you are doing (perhaps accessing a library that performs the same
functionality).
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:74**********************************@microsof t.com...
Hi,

My application which to be made run by my Service is a GUI application say
"somename.exe",service has to just make it run....for this also i need to
spawn a thread???

with regards,
C.C.Chakkaradeep

"Nicholas Paldino [.NET/C# MVP]" wrote:
Chakkaradeep,

Does the account that the service is running under have the
appropriate
permissions? Does the application you are running have a UI, or is it a
console app?

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:7D**********************************@microsof t.com...
> Hi,
>
> My Service is a Multithreaded Server which listens for connections at a
> particular port....if any incoming connections come,the server accepts
> it
> and
> starts an application with the parameter got from remote end by
> receiving
> the
> informations from Socket....this is what i want to do...i have
> developed a
> Multithreaded Server runnning as service,it is working fine by sending
> back
> replies to clients....but am not able to execute an application....
>
> so what is my next step??...am a newbie to Services...
>
> with regards,
> C.C.Chakkaradeep
>
> "Nicholas Paldino [.NET/C# MVP]" wrote:
>
>> Chakkaradeep,
>>
>> What's happening when you run it? Running another program from
>> inside a
>> service isn't the best idea in the world, especially if it has a UI.
>> If
>> it
>> has a UI, then you have to let the service interact with the desktop,
>> and
>> even then, you can't guarantee that there will be a desktop session
>> (there
>> is none if no one is logged in).
>>
>> What are you trying to do?
>>
>>
>> --
>> - Nicholas Paldino [.NET/C# MVP]
>> - mv*@spam.guard.caspershouse.com
>>
>> "Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in
>> message
>> news:D4**********************************@microsof t.com...
>> > Hi all,
>> >
>> > i have written a Service,now i want to execute another application
>> > (for
>> > eg;calc.exe) in the service....how will i perform it??...
>> >
>> > i tried using this....
>> >
>> > /**************Executing a Process code starts here**************/
>> > System.Diagnostics.Process proc = new System.Diagnostics.Process();
>> > proc.EnableRaisingEvents=false;
>> > proc.StartInfo.FileName="calc";
>> > proc.Start();
>> > /**************Executing a Process code ends here**************/
>> >
>> > the above code is not working.......what is the other alternative or
>> > is
>> > my
>> > approach wrong??...
>> >
>> > with regards,
>> > C.C.Chakkaradeep
>>
>>
>>


Nov 16 '05 #7

P: n/a
Hi,

sorry friends,i forgot to add someting IMPORTANT in previous post...i opened
up my Task Manager and found instances of "calc.exe" running which was
started by my Service...but GUI has not shown ???......

this service is important for me becoz am monitoring a port regularly and
have to start my client application as and when i get request....

there is no means that we can start an application using Services???...if
there is,then can anyone tell me code for that or link??

with regards,
C.C.Chakkaradeep

"Chakkaradeep" wrote:
Hi,

My application which to be made run by my Service is a GUI application say
"somename.exe",service has to just make it run....for this also i need to
spawn a thread???

with regards,
C.C.Chakkaradeep

"Nicholas Paldino [.NET/C# MVP]" wrote:
Chakkaradeep,

Does the account that the service is running under have the appropriate
permissions? Does the application you are running have a UI, or is it a
console app?

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:7D**********************************@microsof t.com...
Hi,

My Service is a Multithreaded Server which listens for connections at a
particular port....if any incoming connections come,the server accepts it
and
starts an application with the parameter got from remote end by receiving
the
informations from Socket....this is what i want to do...i have developed a
Multithreaded Server runnning as service,it is working fine by sending
back
replies to clients....but am not able to execute an application....

so what is my next step??...am a newbie to Services...

with regards,
C.C.Chakkaradeep

"Nicholas Paldino [.NET/C# MVP]" wrote:

> Chakkaradeep,
>
> What's happening when you run it? Running another program from
> inside a
> service isn't the best idea in the world, especially if it has a UI. If
> it
> has a UI, then you have to let the service interact with the desktop, and
> even then, you can't guarantee that there will be a desktop session
> (there
> is none if no one is logged in).
>
> What are you trying to do?
>
>
> --
> - Nicholas Paldino [.NET/C# MVP]
> - mv*@spam.guard.caspershouse.com
>
> "Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
> news:D4**********************************@microsof t.com...
> > Hi all,
> >
> > i have written a Service,now i want to execute another application (for
> > eg;calc.exe) in the service....how will i perform it??...
> >
> > i tried using this....
> >
> > /**************Executing a Process code starts here**************/
> > System.Diagnostics.Process proc = new System.Diagnostics.Process();
> > proc.EnableRaisingEvents=false;
> > proc.StartInfo.FileName="calc";
> > proc.Start();
> > /**************Executing a Process code ends here**************/
> >
> > the above code is not working.......what is the other alternative or is
> > my
> > approach wrong??...
> >
> > with regards,
> > C.C.Chakkaradeep
>
>
>


Nov 16 '05 #8

P: n/a

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:93**********************************@microsof t.com...
Hi,

sorry friends,i forgot to add someting IMPORTANT in previous post...i
opened
*** We added also IMPORTANT things in our replies my friend ;-). But I guess
something wasn't very clear.
up my Task Manager and found instances of "calc.exe" running which was
started by my Service...but GUI has not shown ???......
*** Because the service run in a non visible desktop! As a result all
process spawned from this service will run in an invisible desktop!
this service is important for me becoz am monitoring a port regularly and
have to start my client application as and when i get request....

there is no means that we can start an application using Services???...if
there is,then can anyone tell me code for that or link??

*** No, you can't, just run this as a normal desktop application, just start
it from a logon script if you need to have it running all the time there is
a user logged-on.

Willy.
Nov 16 '05 #9

P: n/a
One of these days I'll have to go through and test this so I can stop
talking theory, but for now here is what I have heard and believe will
work "in theory:"

You should be able to go into the service mmc snap-in and set the
properties of the service and set it to allow the service to interact
with the desktop. You'll obviously want to test this to see if it works
but I think it is sound, however as others have mentioned this setting
will only work (if at all) if someone is actively logged on to the system.

If you don't mind some design advice, I would recommend that you split
this into two different applications. One a service that listens for
connections and another that gets started when a user logs on to the
desktop. The startup application would register with the service to be
passed notification that the "calc.exe" application should be started
and then the startup application would run "calc.exe". This would allow
you to have the functionality that you are looking for, not be worried
about whether or not a service can run something on the desktop, and
allow remote workstations to register and receive the same kinds of
messages/application startups as the local system. Just a thought.

Have A Better One!

John M Deal, MCP
Necessity Software

P.S. Please let me/us know if you decide to try the interactive desktop
option and whether or not it works.

Chakkaradeep wrote:
Hi,

sorry friends,i forgot to add someting IMPORTANT in previous post...i opened
up my Task Manager and found instances of "calc.exe" running which was
started by my Service...but GUI has not shown ???......

this service is important for me becoz am monitoring a port regularly and
have to start my client application as and when i get request....

there is no means that we can start an application using Services???...if
there is,then can anyone tell me code for that or link??

with regards,
C.C.Chakkaradeep

"Chakkaradeep" wrote:

Hi,

My application which to be made run by my Service is a GUI application say
"somename.exe",service has to just make it run....for this also i need to
spawn a thread???

with regards,
C.C.Chakkaradeep

"Nicholas Paldino [.NET/C# MVP]" wrote:

Chakkaradeep,

Does the account that the service is running under have the appropriate
permissions? Does the application you are running have a UI, or is it a
console app?

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:7D**********************************@micro soft.com...

Hi,

My Service is a Multithreaded Server which listens for connections at a
particular port....if any incoming connections come,the server accepts it
and
starts an application with the parameter got from remote end by receiving
the
informations from Socket....this is what i want to do...i have developed a
Multithreaded Server runnning as service,it is working fine by sending
back
replies to clients....but am not able to execute an application....

so what is my next step??...am a newbie to Services...

with regards,
C.C.Chakkaradeep

"Nicholas Paldino [.NET/C# MVP]" wrote:
>Chakkaradeep,
>
> What's happening when you run it? Running another program from
>inside a
>service isn't the best idea in the world, especially if it has a UI. If
>it
>has a UI, then you have to let the service interact with the desktop, and
>even then, you can't guarantee that there will be a desktop session
>(there
>is none if no one is logged in).
>
> What are you trying to do?
>
>
>--
> - Nicholas Paldino [.NET/C# MVP]
> - mv*@spam.guard.caspershouse.com
>
>"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
>news:D4**********************************@mic rosoft.com...
>
>>Hi all,
>>
>>i have written a Service,now i want to execute another application (for
>>eg;calc.exe) in the service....how will i perform it??...
>>
>>i tried using this....
>>
>>/**************Executing a Process code starts here**************/
>>System.Diagnostics.Process proc = new System.Diagnostics.Process();
>>proc.EnableRaisingEvents=false;
>>proc.StartInfo.FileName="calc";
>>proc.Start();
>>/**************Executing a Process code ends here**************/
>>
>>the above code is not working.......what is the other alternative or is
>>my
>>approach wrong??...
>>
>>with regards,
>>C.C.Chakkaradeep
>
>
>

Nov 16 '05 #10

P: n/a
Hi,

hey i can see in Windows Task Manager , the process i started in my service
running..but i cant see the GUI part..........i think this is done in VB.NET
Service,becoz i saw in forum that a person implementing it in VB.NET...that
person asked for the same thing what i had asked and the error was
correctd..the error was putting the full path name n the FileName startinfo
parameter...

i cant really belive u Willy,Windows restricting an execution of another
application??...then whats the use of having services run in
background???....there should be some way......

how wil u access desktop in services??

with regards,
C.C.Chakkaradeep

"Willy Denoyette [MVP]" wrote:

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:93**********************************@microsof t.com...
Hi,

sorry friends,i forgot to add someting IMPORTANT in previous post...i
opened


*** We added also IMPORTANT things in our replies my friend ;-). But I guess
something wasn't very clear.
up my Task Manager and found instances of "calc.exe" running which was
started by my Service...but GUI has not shown ???......

*** Because the service run in a non visible desktop! As a result all
process spawned from this service will run in an invisible desktop!
this service is important for me becoz am monitoring a port regularly and
have to start my client application as and when i get request....

there is no means that we can start an application using Services???...if
there is,then can anyone tell me code for that or link??

*** No, you can't, just run this as a normal desktop application, just start
it from a logon script if you need to have it running all the time there is
a user logged-on.

Willy.

Nov 16 '05 #11

P: n/a
Chakkaradeep,

That's the thing, you don't (or at least, you should not, with an
emphasis on SHOULD NOT).

Rather, if you have a need to do something in the desktop from a
service, then the desktop application should make a request to the service
through remoting.

However, this isn't what you are doing, you want to run an application
to perform calculations. You shouldn't do it if it pops up a UI.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com
"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:74**********************************@microsof t.com...
Hi,

hey i can see in Windows Task Manager , the process i started in my
service
running..but i cant see the GUI part..........i think this is done in
VB.NET
Service,becoz i saw in forum that a person implementing it in
VB.NET...that
person asked for the same thing what i had asked and the error was
correctd..the error was putting the full path name n the FileName
startinfo
parameter...

i cant really belive u Willy,Windows restricting an execution of another
application??...then whats the use of having services run in
background???....there should be some way......

how wil u access desktop in services??

with regards,
C.C.Chakkaradeep

"Willy Denoyette [MVP]" wrote:

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:93**********************************@microsof t.com...
> Hi,
>
> sorry friends,i forgot to add someting IMPORTANT in previous post...i
> opened


*** We added also IMPORTANT things in our replies my friend ;-). But I
guess
something wasn't very clear.
> up my Task Manager and found instances of "calc.exe" running which was
> started by my Service...but GUI has not shown ???......
>

*** Because the service run in a non visible desktop! As a result all
process spawned from this service will run in an invisible desktop!
> this service is important for me becoz am monitoring a port regularly
> and
> have to start my client application as and when i get request....
>
> there is no means that we can start an application using
> Services???...if
> there is,then can anyone tell me code for that or link??

*** No, you can't, just run this as a normal desktop application, just
start
it from a logon script if you need to have it running all the time there
is
a user logged-on.

Willy.

Nov 16 '05 #12

P: n/a
hi all,

check out this link,this article shows how to run applications using NT
Service written in C,so when it can be done there why cant it be done in
C#???....

http://www.codeproject.com/system/xyntservice.asp

with regards,
C.C.Chakkaradeep
"John M Deal" wrote:
One of these days I'll have to go through and test this so I can stop
talking theory, but for now here is what I have heard and believe will
work "in theory:"

You should be able to go into the service mmc snap-in and set the
properties of the service and set it to allow the service to interact
with the desktop. You'll obviously want to test this to see if it works
but I think it is sound, however as others have mentioned this setting
will only work (if at all) if someone is actively logged on to the system.

If you don't mind some design advice, I would recommend that you split
this into two different applications. One a service that listens for
connections and another that gets started when a user logs on to the
desktop. The startup application would register with the service to be
passed notification that the "calc.exe" application should be started
and then the startup application would run "calc.exe". This would allow
you to have the functionality that you are looking for, not be worried
about whether or not a service can run something on the desktop, and
allow remote workstations to register and receive the same kinds of
messages/application startups as the local system. Just a thought.

Have A Better One!

John M Deal, MCP
Necessity Software

P.S. Please let me/us know if you decide to try the interactive desktop
option and whether or not it works.

Chakkaradeep wrote:
Hi,

sorry friends,i forgot to add someting IMPORTANT in previous post...i opened
up my Task Manager and found instances of "calc.exe" running which was
started by my Service...but GUI has not shown ???......

this service is important for me becoz am monitoring a port regularly and
have to start my client application as and when i get request....

there is no means that we can start an application using Services???...if
there is,then can anyone tell me code for that or link??

with regards,
C.C.Chakkaradeep

"Chakkaradeep" wrote:

Hi,

My application which to be made run by my Service is a GUI application say
"somename.exe",service has to just make it run....for this also i need to
spawn a thread???

with regards,
C.C.Chakkaradeep

"Nicholas Paldino [.NET/C# MVP]" wrote:
Chakkaradeep,

Does the account that the service is running under have the appropriate
permissions? Does the application you are running have a UI, or is it a
console app?

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:7D**********************************@micro soft.com...

>Hi,
>
>My Service is a Multithreaded Server which listens for connections at a
>particular port....if any incoming connections come,the server accepts it
>and
>starts an application with the parameter got from remote end by receiving
>the
>informations from Socket....this is what i want to do...i have developed a
>Multithreaded Server runnning as service,it is working fine by sending
>back
>replies to clients....but am not able to execute an application....
>
>so what is my next step??...am a newbie to Services...
>
>with regards,
>C.C.Chakkaradeep
>
>"Nicholas Paldino [.NET/C# MVP]" wrote:
>
>
>>Chakkaradeep,
>>
>> What's happening when you run it? Running another program from
>>inside a
>>service isn't the best idea in the world, especially if it has a UI. If
>>it
>>has a UI, then you have to let the service interact with the desktop, and
>>even then, you can't guarantee that there will be a desktop session
>>(there
>>is none if no one is logged in).
>>
>> What are you trying to do?
>>
>>
>>--
>> - Nicholas Paldino [.NET/C# MVP]
>> - mv*@spam.guard.caspershouse.com
>>
>>"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
>>news:D4**********************************@mic rosoft.com...
>>
>>>Hi all,
>>>
>>>i have written a Service,now i want to execute another application (for
>>>eg;calc.exe) in the service....how will i perform it??...
>>>
>>>i tried using this....
>>>
>>>/**************Executing a Process code starts here**************/
>>>System.Diagnostics.Process proc = new System.Diagnostics.Process();
>>>proc.EnableRaisingEvents=false;
>>>proc.StartInfo.FileName="calc";
>>>proc.Start();
>>>/**************Executing a Process code ends here**************/
>>>
>>>the above code is not working.......what is the other alternative or is
>>>my
>>>approach wrong??...
>>>
>>>with regards,
>>>C.C.Chakkaradeep
>>
>>
>>

Nov 16 '05 #13

P: n/a

"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:74**********************************@microsof t.com...
Hi,

hey i can see in Windows Task Manager , the process i started in my
service
running..but i cant see the GUI part..........i think this is done in
VB.NET
Service,becoz i saw in forum that a person implementing it in
VB.NET...that
person asked for the same thing what i had asked and the error was
correctd..the error was putting the full path name n the FileName
startinfo
parameter...

i cant really belive u Willy,Windows restricting an execution of another
application??...then whats the use of having services run in
background???....there should be some way......


Do you actually read what I'm writing? I told you, that:
- you can make your Service interact with the desktop, you can set "Interact
with desktop" if your service runs under the SYSTEM pseudo account using the
Services Control applet. But again you should NOT do this unless you are
debugging and even then I would suggest you don't, there are better options
to debug a service.
- Services are meant to run when no-one is logged on to the system, so when
there is no active desktop available, take a look at the services actually
running on your system, do they interact with the desktop? NO they don't.
- Services don't have access to a users profile either, just because they
are meant to run when no such profile is loaded.

But you don't have to believe me, if you prefer to find out yourself the
hard way.

Willy.
Nov 16 '05 #14

P: n/a


"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:74**********************************@microsof t.com...
hi all,

check out this link,this article shows how to run applications using NT
Service written in C,so when it can be done there why cant it be done in
C#???....


No, you should read this article, it clearly states:

<snip
a.. It can start as many programs as you want. The started programs behave
like NT services (i.e. they will be running in the background without the
user having to login to the machine).

/snip>

"The started programs behave like services" - means they don't interact with
the desktop.

unless...... somewhat further...
<snip
The UserInterface property controls whether a logged on user can see the
processes created by XYNTService.However, this only works when XYNTService
is running under the local system account, which is the default.
/snip>

This means that the XYNTService service itself toggles the "Can interact
with the desktop" option I have mentioned several times.
Note that we didn't say it wasn't possible, just that running services with
this option enabled is bad practice and starting GUI programs from within
services makes it even worse.
Again we suggest you to revise your design such that you have a real nice
service running in the background, that uses some form of IPC to talk to
another Interactive program. Let the UI program start by the logon user, or
automatically when the user logs on. It's up to the service to know when the
UI is available.

Willy.
Willy.
Nov 16 '05 #15

P: n/a
Hi,

Willy, but is there a way to implement this in C#...becoz my work of
Multithreaded Server Service is completed already.......

???

with regards,
C.C.Chakkaradeep

"Willy Denoyette [MVP]" wrote:


"Chakkaradeep" <Ch**********@discussions.microsoft.com> wrote in message
news:74**********************************@microsof t.com...
hi all,

check out this link,this article shows how to run applications using NT
Service written in C,so when it can be done there why cant it be done in
C#???....


No, you should read this article, it clearly states:

<snip
a.. It can start as many programs as you want. The started programs behave
like NT services (i.e. they will be running in the background without the
user having to login to the machine).

/snip>

"The started programs behave like services" - means they don't interact with
the desktop.

unless...... somewhat further...
<snip
The UserInterface property controls whether a logged on user can see the
processes created by XYNTService.However, this only works when XYNTService
is running under the local system account, which is the default.
/snip>

This means that the XYNTService service itself toggles the "Can interact
with the desktop" option I have mentioned several times.
Note that we didn't say it wasn't possible, just that running services with
this option enabled is bad practice and starting GUI programs from within
services makes it even worse.
Again we suggest you to revise your design such that you have a real nice
service running in the background, that uses some form of IPC to talk to
another Interactive program. Let the UI program start by the logon user, or
automatically when the user logs on. It's up to the service to know when the
UI is available.

Willy.
Willy.

Nov 16 '05 #16

This discussion thread is closed

Replies have been disabled for this discussion.