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

pass parameter from windows service to windows application interna

P: n/a
Hi,

I have 2 applications running, one Windows application project and the other
windows services project.
I want to call my Windows application in my windows services.
I want to run them as seperate process.
If my windows application starts running,only if it completes fully,
then my windows services should continue its execution.

My main process is Windows service.
I want to pass Windows services,MakeZip function parameters to my Windows
Application
MakeZip(string zipname,string[] files)
I want to pass this function parameters to my Windows application.
How can I do this?Only then I know my windows application will run
internally as seperate process
without disturbing windows services.I think we have to use command line
arguments,
but I dont know how to use it.

Here is my code for Windows service and windows application.
Please help me
1. how to create process ie. how to run windows application as seperate
process
inside windows services code.I want windows service to run as seperate
process and
Windows application to run as seperate process.
2. how to pass parameters from windows services project to windows
application project.
//My Code starts here:
Windows Services:

MakeZip(string zipname,string[] files)
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents=false;
proc.StartInfo.FileName="c:\\programfiles\\visuals tudioprojects\\WindowsAppZip.exe";
proc.Start();
MessageBox.Show("Zipped Done");
}
WindowsAppZip:

using Xceed.Compression;

using Xceed.FileSystem;

using Xceed.Zip;

private void button2_Click(object sender, System.EventArgs e)
{
// In my windows services zipname and files have got values.
//I want to call them here in this application from Windows service
MakeZip(string zipname,string[] files) // calling MakeZipFile Function Here
}
Xceed.Zip.Licenser.LicenseKey = "ZINxx-xxxxx-xxxxx-xxxx";

public int MakeZip(string zipFileName, string[] filesToComp)
{
int retVal = 0;
try
{
ZipArchive zip = new ZipArchive( new DiskFile( zipFileName ) );
try
{
zip.BeginUpdate();
foreach( string file in filesToComp )
{
DiskFile fileToZip = new DiskFile( file );
fileToZip.CopyTo( zip, true );
++retVal;
}
}
finally
{
zip.EndUpdate();
}
}

catch(Exception exec)
{
throw new ZipException(exec.Message);
}
finally
{
}
return retVal;
}
}

}
Dec 31 '07 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Why not have the service perform the zip operation?

Regardless, you will need to use remoting for this. You will have to
have the windows application contact the server over a remoting channel
(using Remoting, or Windows Communications Foundation), and then store a
reference to an object derived from MarshalByRefObject that the windows
application passes to the server (or if using WCF, you would pass a callback
interface which would be called by the server).

Then, you would make calls in the service to the client through the
reference passed to it.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"vishruth" <vi******@discussions.microsoft.comwrote in message
news:86**********************************@microsof t.com...
Hi,

I have 2 applications running, one Windows application project and the
other
windows services project.
I want to call my Windows application in my windows services.
I want to run them as seperate process.
If my windows application starts running,only if it completes fully,
then my windows services should continue its execution.

My main process is Windows service.
I want to pass Windows services,MakeZip function parameters to my Windows
Application
MakeZip(string zipname,string[] files)
I want to pass this function parameters to my Windows application.
How can I do this?Only then I know my windows application will run
internally as seperate process
without disturbing windows services.I think we have to use command line
arguments,
but I dont know how to use it.

Here is my code for Windows service and windows application.
Please help me
1. how to create process ie. how to run windows application as seperate
process
inside windows services code.I want windows service to run as seperate
process and
Windows application to run as seperate process.
2. how to pass parameters from windows services project to windows
application project.
//My Code starts here:
Windows Services:

MakeZip(string zipname,string[] files)
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents=false;
proc.StartInfo.FileName="c:\\programfiles\\visuals tudioprojects\\WindowsAppZip.exe";
proc.Start();
MessageBox.Show("Zipped Done");
}
WindowsAppZip:

using Xceed.Compression;

using Xceed.FileSystem;

using Xceed.Zip;

private void button2_Click(object sender, System.EventArgs e)
{
// In my windows services zipname and files have got values.
//I want to call them here in this application from Windows service
MakeZip(string zipname,string[] files) // calling MakeZipFile Function
Here
}
Xceed.Zip.Licenser.LicenseKey = "ZINxx-xxxxx-xxxxx-xxxx";

public int MakeZip(string zipFileName, string[] filesToComp)
{
int retVal = 0;
try
{
ZipArchive zip = new ZipArchive( new DiskFile( zipFileName ) );
try
{
zip.BeginUpdate();
foreach( string file in filesToComp )
{
DiskFile fileToZip = new DiskFile( file );
fileToZip.CopyTo( zip, true );
++retVal;
}
}
finally
{
zip.EndUpdate();
}
}

catch(Exception exec)
{
throw new ZipException(exec.Message);
}
finally
{
}
return retVal;
}
}

}


Dec 31 '07 #2

P: n/a
Can u please provide me the snippet of code (related to my task) to perform
this task.
I have absolutely no idea about remoting or WCF .
Thank u for ur help.
Vishruth

"Nicholas Paldino [.NET/C# MVP]" wrote:
Why not have the service perform the zip operation?

Regardless, you will need to use remoting for this. You will have to
have the windows application contact the server over a remoting channel
(using Remoting, or Windows Communications Foundation), and then store a
reference to an object derived from MarshalByRefObject that the windows
application passes to the server (or if using WCF, you would pass a callback
interface which would be called by the server).

Then, you would make calls in the service to the client through the
reference passed to it.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com

"vishruth" <vi******@discussions.microsoft.comwrote in message
news:86**********************************@microsof t.com...
Hi,

I have 2 applications running, one Windows application project and the
other
windows services project.
I want to call my Windows application in my windows services.
I want to run them as seperate process.
If my windows application starts running,only if it completes fully,
then my windows services should continue its execution.

My main process is Windows service.
I want to pass Windows services,MakeZip function parameters to my Windows
Application
MakeZip(string zipname,string[] files)
I want to pass this function parameters to my Windows application.
How can I do this?Only then I know my windows application will run
internally as seperate process
without disturbing windows services.I think we have to use command line
arguments,
but I dont know how to use it.

Here is my code for Windows service and windows application.
Please help me
1. how to create process ie. how to run windows application as seperate
process
inside windows services code.I want windows service to run as seperate
process and
Windows application to run as seperate process.
2. how to pass parameters from windows services project to windows
application project.
//My Code starts here:
Windows Services:

MakeZip(string zipname,string[] files)
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents=false;
proc.StartInfo.FileName="c:\\programfiles\\visuals tudioprojects\\WindowsAppZip.exe";
proc.Start();
MessageBox.Show("Zipped Done");
}
WindowsAppZip:

using Xceed.Compression;

using Xceed.FileSystem;

using Xceed.Zip;

private void button2_Click(object sender, System.EventArgs e)
{
// In my windows services zipname and files have got values.
//I want to call them here in this application from Windows service
MakeZip(string zipname,string[] files) // calling MakeZipFile Function
Here
}
Xceed.Zip.Licenser.LicenseKey = "ZINxx-xxxxx-xxxxx-xxxx";

public int MakeZip(string zipFileName, string[] filesToComp)
{
int retVal = 0;
try
{
ZipArchive zip = new ZipArchive( new DiskFile( zipFileName ) );
try
{
zip.BeginUpdate();
foreach( string file in filesToComp )
{
DiskFile fileToZip = new DiskFile( file );
fileToZip.CopyTo( zip, true );
++retVal;
}
}
finally
{
zip.EndUpdate();
}
}

catch(Exception exec)
{
throw new ZipException(exec.Message);
}
finally
{
}
return retVal;
}
}

}


Jan 1 '08 #3

This discussion thread is closed

Replies have been disabled for this discussion.