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

System.Diagnostics.Process not working !! please help

P: n/a
This is the third newsgroup that I'm posting my problem.
I'm sorry for the multiple posts but the matter becoming urgent.

I hope this is the right place for it...

I have created a very simple batch file (echo hello world) and was trying to
retrieve the standard output but every time I run the code it returns
ExitCode as 1.

The batch file runs just fine from command line.

There is no Win32Exception (no ERROR_FILE_NOT_FOUND and no
ERROR_ACCESS_DENIED)

Also strOutput and strError returns empty.

What ExitCode1 means?

Am I missing on something?

Here is the code:

try
{
System.Diagnostics.Process MFGProc = new System.Diagnostics.Process();
MFGProc.StartInfo.FileName = strMfgWorkDir + strMfgBatFile;
MFGProc.StartInfo.WorkingDirectory = strMfgWorkDir;
MFGProc.StartInfo.UseShellExecute = false;
MFGProc.StartInfo.RedirectStandardError = true;
MFGProc.StartInfo.RedirectStandardOutput = true;
MFGProc.Start();

string strOutput = MFGProc.StandardOutput.ReadToEnd();
string strError = MFGProc.StandardError.ReadToEnd();
MFGProc.WaitForExit();

if (MFGProc.ExitCode == 0)
{
Ok = true;
}
else
{
strErrorMsg = " Running failed. Description: " + strError;
}
}
catch (Win32Exception e)
{
strErrorMsg = "W32 Error:" + e.NativeErrorCode.ToString() + "." +
e.Message ;
}

catch (Exception err)
{
// Process other errors here
strErrorMsg = ("RunMFGCimSession Other error. ErrorMessage: " +
err.Message );
}

Thanks

Nurit


Jan 5 '06 #1
Share this Question
Share on Google+
11 Replies


P: n/a
Hi,
I just tried your code and it works fine ( with a lil modification) for me,
the strOutput gets the right output. I'm pasting the code here and you check
it works for you or not. Make a new console application and past the code
there:

//--------------<code>
using System;

using System.Diagnostics;
using System.ComponentModel;

namespace ConsoleApplication1
{

class csomething
{
public static void Main()
{
csomething c = new csomething();
c.dosomething();

}
public void dosomething()
{

try
{
System.Diagnostics.Process MFGProc = new System.Diagnostics.Process();
MFGProc.StartInfo.FileName =
AppDomain.CurrentDomain.BaseDirectory+@"bat.bat"; //strMfgWorkDir +
strMfgBatFile;
MFGProc.StartInfo.WorkingDirectory =
AppDomain.CurrentDomain.BaseDirectory;
//@"D:\mycode\ConsoleApplication1\ConsoleApplication 1\bin";
MFGProc.StartInfo.UseShellExecute = false;
MFGProc.StartInfo.RedirectStandardError = true;
MFGProc.StartInfo.RedirectStandardOutput = true;
MFGProc.Start();

string strOutput = MFGProc.StandardOutput.ReadToEnd();
string strError = MFGProc.StandardError.ReadToEnd();
MFGProc.WaitForExit();

if (MFGProc.ExitCode == 0)
{
//Ok = true;
Console.Write("no problem");

}
else
{
//strErrorMsg = " Running failed. Description: " + strError;
Console.Write("some problem");
}
}
catch (Win32Exception e)
{
Console.Write("W32 Error:" + e.NativeErrorCode.ToString() + "." +
e.Message);
}

catch (Exception err)
{
// Process other errors here
Console.Write("RunMFGCimSession Other error. ErrorMessage: " +
err.Message);
}

}

}//class

}

//--------------</code>

make a batch file in your debug bin directory and name it bat.bat and use
notepad to add the "echo hello world" in it.

-Abubakar.

++==
P.S: when pasting your code for others to run, make sure its complete in a
way that anyone can just copy and past it in the editor and it would give
the output that your writing about. Your code had missing variables and
missing using statements. It takes time to change those things and chances
for your getting help reduces. So always submit the complete working code.
Plz read this link http://www.pobox.com/~skeet/csharp/complete.html
-Thanks

"Nurit N" <Nu****@sitqad.co.il> wrote in message
news:eh*************@TK2MSFTNGP12.phx.gbl...
This is the third newsgroup that I'm posting my problem.
I'm sorry for the multiple posts but the matter becoming urgent.

I hope this is the right place for it...

I have created a very simple batch file (echo hello world) and was trying to retrieve the standard output but every time I run the code it returns
ExitCode as 1.

The batch file runs just fine from command line.

There is no Win32Exception (no ERROR_FILE_NOT_FOUND and no
ERROR_ACCESS_DENIED)

Also strOutput and strError returns empty.

What ExitCode1 means?

Am I missing on something?

Here is the code:

try
{
System.Diagnostics.Process MFGProc = new System.Diagnostics.Process();
MFGProc.StartInfo.FileName = strMfgWorkDir + strMfgBatFile;
MFGProc.StartInfo.WorkingDirectory = strMfgWorkDir;
MFGProc.StartInfo.UseShellExecute = false;
MFGProc.StartInfo.RedirectStandardError = true;
MFGProc.StartInfo.RedirectStandardOutput = true;
MFGProc.Start();

string strOutput = MFGProc.StandardOutput.ReadToEnd();
string strError = MFGProc.StandardError.ReadToEnd();
MFGProc.WaitForExit();

if (MFGProc.ExitCode == 0)
{
Ok = true;
}
else
{
strErrorMsg = " Running failed. Description: " + strError;
}
}
catch (Win32Exception e)
{
strErrorMsg = "W32 Error:" + e.NativeErrorCode.ToString() + "." +
e.Message ;
}

catch (Exception err)
{
// Process other errors here
strErrorMsg = ("RunMFGCimSession Other error. ErrorMessage: " +
err.Message );
}

Thanks

Nurit

Jan 5 '06 #2

P: n/a
Thanks for your replay.

I tried the code you sent me and it's working for me as well.

The different (and I'm sorry not to mentioned that before) that I'm running
on a web service application.

My program supposes to start the CMD on the server.

Any Idea?
"Abubakar" <ab*******@gmail.com> wrote in message
news:uE**************@TK2MSFTNGP11.phx.gbl...
Hi,
I just tried your code and it works fine ( with a lil modification) for
me,
the strOutput gets the right output. I'm pasting the code here and you
check
it works for you or not. Make a new console application and past the code
there:

//--------------<code>
using System;

using System.Diagnostics;
using System.ComponentModel;

namespace ConsoleApplication1
{

class csomething
{
public static void Main()
{
csomething c = new csomething();
c.dosomething();

}
public void dosomething()
{

try
{
System.Diagnostics.Process MFGProc = new System.Diagnostics.Process();
MFGProc.StartInfo.FileName =
AppDomain.CurrentDomain.BaseDirectory+@"bat.bat"; //strMfgWorkDir +
strMfgBatFile;
MFGProc.StartInfo.WorkingDirectory =
AppDomain.CurrentDomain.BaseDirectory;
//@"D:\mycode\ConsoleApplication1\ConsoleApplication 1\bin";
MFGProc.StartInfo.UseShellExecute = false;
MFGProc.StartInfo.RedirectStandardError = true;
MFGProc.StartInfo.RedirectStandardOutput = true;
MFGProc.Start();

string strOutput = MFGProc.StandardOutput.ReadToEnd();
string strError = MFGProc.StandardError.ReadToEnd();
MFGProc.WaitForExit();

if (MFGProc.ExitCode == 0)
{
//Ok = true;
Console.Write("no problem");

}
else
{
//strErrorMsg = " Running failed. Description: " + strError;
Console.Write("some problem");
}
}
catch (Win32Exception e)
{
Console.Write("W32 Error:" + e.NativeErrorCode.ToString() + "." +
e.Message);
}

catch (Exception err)
{
// Process other errors here
Console.Write("RunMFGCimSession Other error. ErrorMessage: " +
err.Message);
}

}

}//class

}

//--------------</code>

make a batch file in your debug bin directory and name it bat.bat and use
notepad to add the "echo hello world" in it.

-Abubakar.

++==
P.S: when pasting your code for others to run, make sure its complete in a
way that anyone can just copy and past it in the editor and it would give
the output that your writing about. Your code had missing variables and
missing using statements. It takes time to change those things and chances
for your getting help reduces. So always submit the complete working code.
Plz read this link http://www.pobox.com/~skeet/csharp/complete.html
-Thanks

"Nurit N" <Nu****@sitqad.co.il> wrote in message
news:eh*************@TK2MSFTNGP12.phx.gbl...
This is the third newsgroup that I'm posting my problem.
I'm sorry for the multiple posts but the matter becoming urgent.

I hope this is the right place for it...

I have created a very simple batch file (echo hello world) and was trying

to
retrieve the standard output but every time I run the code it returns
ExitCode as 1.

The batch file runs just fine from command line.

There is no Win32Exception (no ERROR_FILE_NOT_FOUND and no
ERROR_ACCESS_DENIED)

Also strOutput and strError returns empty.

What ExitCode1 means?

Am I missing on something?

Here is the code:

try
{
System.Diagnostics.Process MFGProc = new
System.Diagnostics.Process();
MFGProc.StartInfo.FileName = strMfgWorkDir + strMfgBatFile;
MFGProc.StartInfo.WorkingDirectory = strMfgWorkDir;
MFGProc.StartInfo.UseShellExecute = false;
MFGProc.StartInfo.RedirectStandardError = true;
MFGProc.StartInfo.RedirectStandardOutput = true;
MFGProc.Start();

string strOutput = MFGProc.StandardOutput.ReadToEnd();
string strError = MFGProc.StandardError.ReadToEnd();
MFGProc.WaitForExit();

if (MFGProc.ExitCode == 0)
{
Ok = true;
}
else
{
strErrorMsg = " Running failed. Description: " + strError;
}
}
catch (Win32Exception e)
{
strErrorMsg = "W32 Error:" + e.NativeErrorCode.ToString() + "." +
e.Message ;
}

catch (Exception err)
{
// Process other errors here
strErrorMsg = ("RunMFGCimSession Other error. ErrorMessage: " +
err.Message );
}

Thanks

Nurit


Jan 5 '06 #3

P: n/a

You must be having permissions problem. You need to give approriate
permissions to the directory that you are trying to access on the harddrive
from the virtual directory. You can right click the directory where your
batch file is and goto the "security" tab, add the ASPNET user in it and
give appropriate permissions. Although this would be insecure i beleive but
first try this.

I created a new web appplication to do this in visual studio 2k5, but have
no problems running this code. What exact error do u get when you run this
code?

Ab.

"Nurit N" <Nu****@sitqad.co.il> wrote in message
news:uY**************@tk2msftngp13.phx.gbl...
Thanks for your replay.

I tried the code you sent me and it's working for me as well.

The different (and I'm sorry not to mentioned that before) that I'm running on a web service application.

My program supposes to start the CMD on the server.

Any Idea?
"Abubakar" <ab*******@gmail.com> wrote in message
news:uE**************@TK2MSFTNGP11.phx.gbl...
Hi,
I just tried your code and it works fine ( with a lil modification) for
me,
the strOutput gets the right output. I'm pasting the code here and you
check
it works for you or not. Make a new console application and past the code there:

//--------------<code>
using System;

using System.Diagnostics;
using System.ComponentModel;

namespace ConsoleApplication1
{

class csomething
{
public static void Main()
{
csomething c = new csomething();
c.dosomething();

}
public void dosomething()
{

try
{
System.Diagnostics.Process MFGProc = new System.Diagnostics.Process(); MFGProc.StartInfo.FileName =
AppDomain.CurrentDomain.BaseDirectory+@"bat.bat"; //strMfgWorkDir +
strMfgBatFile;
MFGProc.StartInfo.WorkingDirectory =
AppDomain.CurrentDomain.BaseDirectory;
//@"D:\mycode\ConsoleApplication1\ConsoleApplication 1\bin";
MFGProc.StartInfo.UseShellExecute = false;
MFGProc.StartInfo.RedirectStandardError = true;
MFGProc.StartInfo.RedirectStandardOutput = true;
MFGProc.Start();

string strOutput = MFGProc.StandardOutput.ReadToEnd();
string strError = MFGProc.StandardError.ReadToEnd();
MFGProc.WaitForExit();

if (MFGProc.ExitCode == 0)
{
//Ok = true;
Console.Write("no problem");

}
else
{
//strErrorMsg = " Running failed. Description: " + strError;
Console.Write("some problem");
}
}
catch (Win32Exception e)
{
Console.Write("W32 Error:" + e.NativeErrorCode.ToString() + "." +
e.Message);
}

catch (Exception err)
{
// Process other errors here
Console.Write("RunMFGCimSession Other error. ErrorMessage: " +
err.Message);
}

}

}//class

}

//--------------</code>

make a batch file in your debug bin directory and name it bat.bat and use notepad to add the "echo hello world" in it.

-Abubakar.

++==
P.S: when pasting your code for others to run, make sure its complete in a way that anyone can just copy and past it in the editor and it would give the output that your writing about. Your code had missing variables and
missing using statements. It takes time to change those things and chances for your getting help reduces. So always submit the complete working code. Plz read this link http://www.pobox.com/~skeet/csharp/complete.html
-Thanks

"Nurit N" <Nu****@sitqad.co.il> wrote in message
news:eh*************@TK2MSFTNGP12.phx.gbl...
This is the third newsgroup that I'm posting my problem.
I'm sorry for the multiple posts but the matter becoming urgent.

I hope this is the right place for it...

I have created a very simple batch file (echo hello world) and was
trying to
retrieve the standard output but every time I run the code it returns
ExitCode as 1.

The batch file runs just fine from command line.

There is no Win32Exception (no ERROR_FILE_NOT_FOUND and no
ERROR_ACCESS_DENIED)

Also strOutput and strError returns empty.

What ExitCode1 means?

Am I missing on something?

Here is the code:

try
{
System.Diagnostics.Process MFGProc = new
System.Diagnostics.Process();
MFGProc.StartInfo.FileName = strMfgWorkDir + strMfgBatFile;
MFGProc.StartInfo.WorkingDirectory = strMfgWorkDir;
MFGProc.StartInfo.UseShellExecute = false;
MFGProc.StartInfo.RedirectStandardError = true;
MFGProc.StartInfo.RedirectStandardOutput = true;
MFGProc.Start();

string strOutput = MFGProc.StandardOutput.ReadToEnd();
string strError = MFGProc.StandardError.ReadToEnd();
MFGProc.WaitForExit();

if (MFGProc.ExitCode == 0)
{
Ok = true;
}
else
{
strErrorMsg = " Running failed. Description: " + strError;
}
}
catch (Win32Exception e)
{
strErrorMsg = "W32 Error:" + e.NativeErrorCode.ToString() + "." +
e.Message ;
}

catch (Exception err)
{
// Process other errors here
strErrorMsg = ("RunMFGCimSession Other error. ErrorMessage: " +
err.Message );
}

Thanks

Nurit



Jan 5 '06 #4

P: n/a
Thank u again a lot for your replays.

I couldn't add ASPNET user. Gave me: "An object named "ASPNET" cannot be
found."

So I added the EVERYONE user instead for directory and sub-directory and CMD
file it self and gave it full control.

I didnít get any error just ExitCode equals 1.

What does it mean?

In a log file on run time I got:

MFGProc.Start();

MFGProc.HasExited: False
MFGProc.Id: 8096
MFGProc.MachineName: .
MFGProc strOutput:

MFGProc strError:

MFGProc.WaitForExit();
MFGProc.ExitCode: 1

"Abubakar" <ab*******@gmail.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...

You must be having permissions problem. You need to give approriate
permissions to the directory that you are trying to access on the
harddrive
from the virtual directory. You can right click the directory where your
batch file is and goto the "security" tab, add the ASPNET user in it and
give appropriate permissions. Although this would be insecure i beleive
but
first try this.

I created a new web appplication to do this in visual studio 2k5, but
have
no problems running this code. What exact error do u get when you run this
code?

Ab.

"Nurit N" <Nu****@sitqad.co.il> wrote in message
news:uY**************@tk2msftngp13.phx.gbl...
Thanks for your replay.

I tried the code you sent me and it's working for me as well.

The different (and I'm sorry not to mentioned that before) that I'm

running
on a web service application.

My program supposes to start the CMD on the server.

Any Idea?
"Abubakar" <ab*******@gmail.com> wrote in message
news:uE**************@TK2MSFTNGP11.phx.gbl...
> Hi,
> I just tried your code and it works fine ( with a lil modification) for
> me,
> the strOutput gets the right output. I'm pasting the code here and you
> check
> it works for you or not. Make a new console application and past the code > there:
>
> //--------------<code>
> using System;
>
> using System.Diagnostics;
> using System.ComponentModel;
>
> namespace ConsoleApplication1
> {
>
> class csomething
> {
> public static void Main()
> {
> csomething c = new csomething();
> c.dosomething();
>
> }
> public void dosomething()
> {
>
> try
> {
> System.Diagnostics.Process MFGProc = new System.Diagnostics.Process(); > MFGProc.StartInfo.FileName =
> AppDomain.CurrentDomain.BaseDirectory+@"bat.bat"; //strMfgWorkDir +
> strMfgBatFile;
> MFGProc.StartInfo.WorkingDirectory =
> AppDomain.CurrentDomain.BaseDirectory;
> //@"D:\mycode\ConsoleApplication1\ConsoleApplication 1\bin";
> MFGProc.StartInfo.UseShellExecute = false;
> MFGProc.StartInfo.RedirectStandardError = true;
> MFGProc.StartInfo.RedirectStandardOutput = true;
> MFGProc.Start();
>
> string strOutput = MFGProc.StandardOutput.ReadToEnd();
> string strError = MFGProc.StandardError.ReadToEnd();
> MFGProc.WaitForExit();
>
> if (MFGProc.ExitCode == 0)
> {
> //Ok = true;
> Console.Write("no problem");
>
> }
> else
> {
> //strErrorMsg = " Running failed. Description: " + strError;
> Console.Write("some problem");
> }
> }
> catch (Win32Exception e)
> {
> Console.Write("W32 Error:" + e.NativeErrorCode.ToString() + "." +
> e.Message);
> }
>
> catch (Exception err)
> {
> // Process other errors here
> Console.Write("RunMFGCimSession Other error. ErrorMessage: " +
> err.Message);
> }
>
> }
>
> }//class
>
> }
>
> //--------------</code>
>
> make a batch file in your debug bin directory and name it bat.bat and use > notepad to add the "echo hello world" in it.
>
> -Abubakar.
>
> ++==
> P.S: when pasting your code for others to run, make sure its complete
> in a > way that anyone can just copy and past it in the editor and it would give > the output that your writing about. Your code had missing variables and
> missing using statements. It takes time to change those things and chances > for your getting help reduces. So always submit the complete working code. > Plz read this link http://www.pobox.com/~skeet/csharp/complete.html
> -Thanks
>
> "Nurit N" <Nu****@sitqad.co.il> wrote in message
> news:eh*************@TK2MSFTNGP12.phx.gbl...
>> This is the third newsgroup that I'm posting my problem.
>> I'm sorry for the multiple posts but the matter becoming urgent.
>>
>> I hope this is the right place for it...
>>
>>
>>
>> I have created a very simple batch file (echo hello world) and was trying > to
>> retrieve the standard output but every time I run the code it returns
>> ExitCode as 1.
>>
>> The batch file runs just fine from command line.
>>
>> There is no Win32Exception (no ERROR_FILE_NOT_FOUND and no
>> ERROR_ACCESS_DENIED)
>>
>> Also strOutput and strError returns empty.
>>
>> What ExitCode1 means?
>>
>> Am I missing on something?
>>
>> Here is the code:
>>
>> try
>> {
>> System.Diagnostics.Process MFGProc = new
>> System.Diagnostics.Process();
>> MFGProc.StartInfo.FileName = strMfgWorkDir + strMfgBatFile;
>> MFGProc.StartInfo.WorkingDirectory = strMfgWorkDir;
>> MFGProc.StartInfo.UseShellExecute = false;
>> MFGProc.StartInfo.RedirectStandardError = true;
>> MFGProc.StartInfo.RedirectStandardOutput = true;
>> MFGProc.Start();
>>
>> string strOutput = MFGProc.StandardOutput.ReadToEnd();
>> string strError = MFGProc.StandardError.ReadToEnd();
>> MFGProc.WaitForExit();
>>
>> if (MFGProc.ExitCode == 0)
>> {
>> Ok = true;
>> }
>> else
>> {
>> strErrorMsg = " Running failed. Description: " + strError;
>> }
>> }
>> catch (Win32Exception e)
>> {
>> strErrorMsg = "W32 Error:" + e.NativeErrorCode.ToString() + "."
>> +
>> e.Message ;
>> }
>>
>> catch (Exception err)
>> {
>> // Process other errors here
>> strErrorMsg = ("RunMFGCimSession Other error. ErrorMessage: " +
>> err.Message );
>> }
>>
>> Thanks
>>
>> Nurit
>>
>>
>>
>>
>
>



Jan 5 '06 #5

P: n/a
I cant figure out why are you getting that message. My process starts and
exits very fast and my exit code is always 0. What is that log file that you
are viewing, who creats that file?

Ab.

"Nurit N" <Nu****@sitqad.co.il> wrote in message
news:up*************@TK2MSFTNGP15.phx.gbl...
Thank u again a lot for your replays.

I couldn't add ASPNET user. Gave me: "An object named "ASPNET" cannot be
found."

So I added the EVERYONE user instead for directory and sub-directory and CMD file it self and gave it full control.

I didn't get any error just ExitCode equals 1.

What does it mean?

In a log file on run time I got:

MFGProc.Start();

MFGProc.HasExited: False
MFGProc.Id: 8096
MFGProc.MachineName: .
MFGProc strOutput:

MFGProc strError:

MFGProc.WaitForExit();
MFGProc.ExitCode: 1

"Abubakar" <ab*******@gmail.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...

Jan 5 '06 #6

P: n/a
Because I'm running a web service I'm writing on run time to txt file to
debug the program.

Do u have any idea why i don't have ASPNET user on my server?

This is the full function that starts the process:

private bool RunMFGCimSession (string strFileName)

{

bool Ok = false;

try

{

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" In RunMFGCimSession.");

dbg.Close();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc 2: " + strMfgWorkDir +
strMfgBatFile);

dbg.Close();

System.Diagnostics.Process MFGProc = new
System.Diagnostics.Process();

MFGProc.StartInfo.FileName = strMfgWorkDir +
strMfgBatFile;

MFGProc.StartInfo.WorkingDirectory = strMfgWorkDir;

MFGProc.StartInfo.UseShellExecute = false;

MFGProc.EnableRaisingEvents = false;

MFGProc.StartInfo.RedirectStandardError = true;

MFGProc.StartInfo.RedirectStandardOutput = true;

MFGProc.Start();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc.HasExited: " +
MFGProc.HasExited);

dbg.WriteLine(" MFGProc.Id: " + MFGProc.Id);

dbg.WriteLine(" MFGProc.MachineName: " +
MFGProc.MachineName);

dbg.Close();

string strOutput =
MFGProc.StandardOutput.ReadToEnd();

string strError = MFGProc.StandardError.ReadToEnd();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc strOutput: " + strOutput + "
MFGProc strError: " + strError);

dbg.Close();

MFGProc.WaitForExit();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc.ExitCode: " +
MFGProc.ExitCode);

dbg.Close();

if (MFGProc.ExitCode == 0)

{

Ok = true;

}

else

{

strErrorMsg = "RunMFGCimSession error: Running
MFG failed. Description: " + strError;

}

}

catch (Win32Exception e)

{

strErrorMsg = "W32 Error:" +
e.NativeErrorCode.ToString() + "." + e.Message ;

}

catch (Exception err)

{

// Process other errors here

strErrorMsg = ("RunMFGCimSession Other error.
ErrorMessage: " + err.Message );

}

return Ok;

}

"Abubakar" <ab*******@gmail.com> wrote in message
news:uh**************@TK2MSFTNGP14.phx.gbl...
I cant figure out why are you getting that message. My process starts and
exits very fast and my exit code is always 0. What is that log file that
you
are viewing, who creats that file?

Ab.

"Nurit N" <Nu****@sitqad.co.il> wrote in message
news:up*************@TK2MSFTNGP15.phx.gbl...
Thank u again a lot for your replays.

I couldn't add ASPNET user. Gave me: "An object named "ASPNET" cannot be
found."

So I added the EVERYONE user instead for directory and sub-directory and

CMD
file it self and gave it full control.

I didn't get any error just ExitCode equals 1.

What does it mean?

In a log file on run time I got:

MFGProc.Start();

MFGProc.HasExited: False
MFGProc.Id: 8096
MFGProc.MachineName: .
MFGProc strOutput:

MFGProc strError:

MFGProc.WaitForExit();
MFGProc.ExitCode: 1

"Abubakar" <ab*******@gmail.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...


Jan 5 '06 #7

P: n/a
Why do you want to write all this to the txt file when you can easily step
in the source at the debugger?

ASPNET should be created when the asp.net installs. Its local machine
account, you can try, yourmachinename\ASPNET. I dont know why its not there
in your system.

Since you are already writing to the txt file you already have the rights to
write on the harddrive directly so the permissions thing I wrote about is
not applicable here.

I have tried the source on web application, web service, console, and all
work fine. If you can try to run the same thing on some other machine that
may give you some idea of what the problem is.

Ab.

"Nurit N" <Nu****@sitqad.co.il> wrote in message
news:eR**************@TK2MSFTNGP11.phx.gbl...
Because I'm running a web service I'm writing on run time to txt file to
debug the program.

Do u have any idea why i don't have ASPNET user on my server?

This is the full function that starts the process:

private bool RunMFGCimSession (string strFileName)

{

bool Ok = false;

try

{

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" In RunMFGCimSession.");

dbg.Close();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc 2: " + strMfgWorkDir +
strMfgBatFile);

dbg.Close();

System.Diagnostics.Process MFGProc = new
System.Diagnostics.Process();

MFGProc.StartInfo.FileName = strMfgWorkDir +
strMfgBatFile;

MFGProc.StartInfo.WorkingDirectory = strMfgWorkDir;
MFGProc.StartInfo.UseShellExecute = false;

MFGProc.EnableRaisingEvents = false;

MFGProc.StartInfo.RedirectStandardError = true;

MFGProc.StartInfo.RedirectStandardOutput = true;

MFGProc.Start();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc.HasExited: " +
MFGProc.HasExited);

dbg.WriteLine(" MFGProc.Id: " + MFGProc.Id);

dbg.WriteLine(" MFGProc.MachineName: " +
MFGProc.MachineName);

dbg.Close();

string strOutput =
MFGProc.StandardOutput.ReadToEnd();

string strError = MFGProc.StandardError.ReadToEnd();
dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc strOutput: " + strOutput + " MFGProc strError: " + strError);

dbg.Close();

MFGProc.WaitForExit();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc.ExitCode: " +
MFGProc.ExitCode);

dbg.Close();

if (MFGProc.ExitCode == 0)

{

Ok = true;

}

else

{

strErrorMsg = "RunMFGCimSession error: Running MFG failed. Description: " + strError;

}

}

catch (Win32Exception e)

{

strErrorMsg = "W32 Error:" +
e.NativeErrorCode.ToString() + "." + e.Message ;

}

catch (Exception err)

{

// Process other errors here

strErrorMsg = ("RunMFGCimSession Other error.
ErrorMessage: " + err.Message );

}

return Ok;

}

"Abubakar" <ab*******@gmail.com> wrote in message
news:uh**************@TK2MSFTNGP14.phx.gbl...
I cant figure out why are you getting that message. My process starts and
exits very fast and my exit code is always 0. What is that log file that
you
are viewing, who creats that file?

Ab.

"Nurit N" <Nu****@sitqad.co.il> wrote in message
news:up*************@TK2MSFTNGP15.phx.gbl...
Thank u again a lot for your replays.

I couldn't add ASPNET user. Gave me: "An object named "ASPNET" cannot be found."

So I added the EVERYONE user instead for directory and sub-directory
and CMD
file it self and gave it full control.

I didn't get any error just ExitCode equals 1.

What does it mean?

In a log file on run time I got:

MFGProc.Start();

MFGProc.HasExited: False
MFGProc.Id: 8096
MFGProc.MachineName: .
MFGProc strOutput:

MFGProc strError:

MFGProc.WaitForExit();
MFGProc.ExitCode: 1

"Abubakar" <ab*******@gmail.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...



Jan 5 '06 #8

P: n/a
"Nurit N" wrote:
Do u have any idea why i don't have ASPNET user on my server?


If you're running on Windows Server 2003, ASP.NET runs under the "Network
Service" account. Is that the case?
Jan 5 '06 #9

P: n/a
Thanks, that's correct :-)
Any way I'm trying to run under other server now (Windows Server 2003)....

"Jeremy Davis" <Je*********@discussions.microsoft.com> wrote in message
news:F6**********************************@microsof t.com...
"Nurit N" wrote:
Do u have any idea why i don't have ASPNET user on my server?


If you're running on Windows Server 2003, ASP.NET runs under the "Network
Service" account. Is that the case?


Jan 8 '06 #10

P: n/a
I'm trying that and I'll get back to u

Thanks for everything :-)
"Abubakar" <ab*******@gmail.com> wrote in message
news:%2****************@TK2MSFTNGP14.phx.gbl...
Why do you want to write all this to the txt file when you can easily step
in the source at the debugger?

ASPNET should be created when the asp.net installs. Its local machine
account, you can try, yourmachinename\ASPNET. I dont know why its not
there
in your system.

Since you are already writing to the txt file you already have the rights
to
write on the harddrive directly so the permissions thing I wrote about is
not applicable here.

I have tried the source on web application, web service, console, and all
work fine. If you can try to run the same thing on some other machine that
may give you some idea of what the problem is.

Ab.

"Nurit N" <Nu****@sitqad.co.il> wrote in message
news:eR**************@TK2MSFTNGP11.phx.gbl...
Because I'm running a web service I'm writing on run time to txt file to
debug the program.

Do u have any idea why i don't have ASPNET user on my server?

This is the full function that starts the process:

private bool RunMFGCimSession (string strFileName)

{

bool Ok = false;

try

{

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" In RunMFGCimSession.");

dbg.Close();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc 2: " + strMfgWorkDir +
strMfgBatFile);

dbg.Close();

System.Diagnostics.Process MFGProc = new
System.Diagnostics.Process();

MFGProc.StartInfo.FileName = strMfgWorkDir +
strMfgBatFile;

MFGProc.StartInfo.WorkingDirectory =

strMfgWorkDir;

MFGProc.StartInfo.UseShellExecute = false;

MFGProc.EnableRaisingEvents = false;

MFGProc.StartInfo.RedirectStandardError = true;

MFGProc.StartInfo.RedirectStandardOutput = true;

MFGProc.Start();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc.HasExited: " +
MFGProc.HasExited);

dbg.WriteLine(" MFGProc.Id: " + MFGProc.Id);

dbg.WriteLine(" MFGProc.MachineName: " +
MFGProc.MachineName);

dbg.Close();

string strOutput =
MFGProc.StandardOutput.ReadToEnd();

string strError =

MFGProc.StandardError.ReadToEnd();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc strOutput: " + strOutput
+

"
MFGProc strError: " + strError);

dbg.Close();

MFGProc.WaitForExit();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc.ExitCode: " +
MFGProc.ExitCode);

dbg.Close();

if (MFGProc.ExitCode == 0)

{

Ok = true;

}

else

{

strErrorMsg = "RunMFGCimSession error:

Running
MFG failed. Description: " + strError;

}

}

catch (Win32Exception e)

{

strErrorMsg = "W32 Error:" +
e.NativeErrorCode.ToString() + "." + e.Message ;

}

catch (Exception err)

{

// Process other errors here

strErrorMsg = ("RunMFGCimSession Other error.
ErrorMessage: " + err.Message );

}

return Ok;

}

"Abubakar" <ab*******@gmail.com> wrote in message
news:uh**************@TK2MSFTNGP14.phx.gbl...
>I cant figure out why are you getting that message. My process starts
>and
> exits very fast and my exit code is always 0. What is that log file
> that
> you
> are viewing, who creats that file?
>
> Ab.
>
> "Nurit N" <Nu****@sitqad.co.il> wrote in message
> news:up*************@TK2MSFTNGP15.phx.gbl...
>> Thank u again a lot for your replays.
>>
>> I couldn't add ASPNET user. Gave me: "An object named "ASPNET" cannot be >> found."
>>
>> So I added the EVERYONE user instead for directory and sub-directory and > CMD
>> file it self and gave it full control.
>>
>> I didn't get any error just ExitCode equals 1.
>>
>> What does it mean?
>>
>> In a log file on run time I got:
>>
>>
>>
>> MFGProc.Start();
>>
>> MFGProc.HasExited: False
>> MFGProc.Id: 8096
>> MFGProc.MachineName: .
>> MFGProc strOutput:
>>
>> MFGProc strError:
>>
>> MFGProc.WaitForExit();
>> MFGProc.ExitCode: 1
>>
>>
>>
>>
>>
>> "Abubakar" <ab*******@gmail.com> wrote in message
>> news:%2****************@TK2MSFTNGP11.phx.gbl...
>
>




Jan 8 '06 #11

P: n/a
It's working now on the new server. I don't know what the problem was...

Very strange...

I want to thank you very much for the time and efforts :-)

"Abubakar" <ab*******@gmail.com> wrote in message
news:%2****************@TK2MSFTNGP14.phx.gbl...
Why do you want to write all this to the txt file when you can easily step
in the source at the debugger?

ASPNET should be created when the asp.net installs. Its local machine
account, you can try, yourmachinename\ASPNET. I dont know why its not
there
in your system.

Since you are already writing to the txt file you already have the rights
to
write on the harddrive directly so the permissions thing I wrote about is
not applicable here.

I have tried the source on web application, web service, console, and all
work fine. If you can try to run the same thing on some other machine that
may give you some idea of what the problem is.

Ab.

"Nurit N" <Nu****@sitqad.co.il> wrote in message
news:eR**************@TK2MSFTNGP11.phx.gbl...
Because I'm running a web service I'm writing on run time to txt file to
debug the program.

Do u have any idea why i don't have ASPNET user on my server?

This is the full function that starts the process:

private bool RunMFGCimSession (string strFileName)

{

bool Ok = false;

try

{

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" In RunMFGCimSession.");

dbg.Close();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc 2: " + strMfgWorkDir +
strMfgBatFile);

dbg.Close();

System.Diagnostics.Process MFGProc = new
System.Diagnostics.Process();

MFGProc.StartInfo.FileName = strMfgWorkDir +
strMfgBatFile;

MFGProc.StartInfo.WorkingDirectory =

strMfgWorkDir;

MFGProc.StartInfo.UseShellExecute = false;

MFGProc.EnableRaisingEvents = false;

MFGProc.StartInfo.RedirectStandardError = true;

MFGProc.StartInfo.RedirectStandardOutput = true;

MFGProc.Start();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc.HasExited: " +
MFGProc.HasExited);

dbg.WriteLine(" MFGProc.Id: " + MFGProc.Id);

dbg.WriteLine(" MFGProc.MachineName: " +
MFGProc.MachineName);

dbg.Close();

string strOutput =
MFGProc.StandardOutput.ReadToEnd();

string strError =

MFGProc.StandardError.ReadToEnd();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc strOutput: " + strOutput
+

"
MFGProc strError: " + strError);

dbg.Close();

MFGProc.WaitForExit();

dbg = File.AppendText("c:\\temp\\1web.txt");

dbg.WriteLine(" MFGProc.ExitCode: " +
MFGProc.ExitCode);

dbg.Close();

if (MFGProc.ExitCode == 0)

{

Ok = true;

}

else

{

strErrorMsg = "RunMFGCimSession error:

Running
MFG failed. Description: " + strError;

}

}

catch (Win32Exception e)

{

strErrorMsg = "W32 Error:" +
e.NativeErrorCode.ToString() + "." + e.Message ;

}

catch (Exception err)

{

// Process other errors here

strErrorMsg = ("RunMFGCimSession Other error.
ErrorMessage: " + err.Message );

}

return Ok;

}

"Abubakar" <ab*******@gmail.com> wrote in message
news:uh**************@TK2MSFTNGP14.phx.gbl...
>I cant figure out why are you getting that message. My process starts
>and
> exits very fast and my exit code is always 0. What is that log file
> that
> you
> are viewing, who creats that file?
>
> Ab.
>
> "Nurit N" <Nu****@sitqad.co.il> wrote in message
> news:up*************@TK2MSFTNGP15.phx.gbl...
>> Thank u again a lot for your replays.
>>
>> I couldn't add ASPNET user. Gave me: "An object named "ASPNET" cannot be >> found."
>>
>> So I added the EVERYONE user instead for directory and sub-directory and > CMD
>> file it self and gave it full control.
>>
>> I didn't get any error just ExitCode equals 1.
>>
>> What does it mean?
>>
>> In a log file on run time I got:
>>
>>
>>
>> MFGProc.Start();
>>
>> MFGProc.HasExited: False
>> MFGProc.Id: 8096
>> MFGProc.MachineName: .
>> MFGProc strOutput:
>>
>> MFGProc strError:
>>
>> MFGProc.WaitForExit();
>> MFGProc.ExitCode: 1
>>
>>
>>
>>
>>
>> "Abubakar" <ab*******@gmail.com> wrote in message
>> news:%2****************@TK2MSFTNGP11.phx.gbl...
>
>



Jan 8 '06 #12

This discussion thread is closed

Replies have been disabled for this discussion.