Note that there are some explanatory texts on larger screens.

plurals
  1. PORunning process using C#, how to find out whether error occurred or not?
    primarykey
    data
    text
    <p>As part of automating BizTalk deployment, I'm using the following code to run process from C#.</p> <pre><code> string commandArguments = "ImportApp /ApplicationName:\"" + ApplicationFullName + "\" /Package:\"" + MsiFilePath+ "\""; Process p = new Process(); p.StartInfo.UseShellExecute = false; p.StartInfo.FileName = "BTSTask.exe"; p.StartInfo.Arguments = commandArguments; p.StartInfo.RedirectStandardError = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.CreateNoWindow = true; p.Start(); StreamReader outputStream = p.StandardOutput; StreamReader errorStream = p.StandardError; // Read the standard output //string output = outputStream.ReadToEnd(); string error = errorStream.ReadToEnd(); //WriteToLogFile(output); if (!error.Equals("")) { WriteToLogFile(error); throw new Exception("Error occurred while importing application " + ApplicationFullName + Environment.NewLine + error); } p.WaitForExit(); p.Close(); return; </code></pre> <p>The output of this process that I'm getting in the log file looks like this:</p> <pre><code>Copyright (c) 2010 Microsoft Corporation. All rights reserved. Information: Importing package "\\tc6218\BizTalkReceiveDrop\servername\Apps\Core.Artifacts.msi" into application "Core.Artifacts" in BizTalk configuration database (server="TC6218", database="BizTalkMgmtDb")... Information: Performing action "Create" on host "ConfigurationDb" using package "\\ Apps\Core.Artifacts.msi". Information: Validating resources (count=6)... * Validating resource (-Type="System.BizTalk:Assembly" -Luid="TC.BizTalk.Functoid.AdvancedDatabaseLookup, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f68c7d112162f09d")... * Validating resource (-Type="System.BizTalk:Assembly" -Luid="TaylorCorp.Erp.ServiceBus.MasterData.Components.BusinessRules, Version=1.0.0.2, Culture=neutral, PublicKeyToken=f68c7d112162f09d")... * Validating resource (-Type="System.BizTalk:BizTalkAssembly" -Luid="ICSM.Schemas, Version=4.0.1.0, Culture=neutral, PublicKeyToken=69c11018615fef04")... * Validating resource (-Type="System.BizTalk:BizTalkAssembly" -Luid="ICSM.Pipelines, Version=4.0.1.0, Culture=neutral, PublicKeyToken=69c11018615fef04")... * Validating resource (-Type="System.BizTalk:BizTalkAssembly" -Luid="ICSM.Maps, Version=2.0.0.0, Culture=neutral, PublicKeyToken=69c11018615fef04")... * Validating resource (-Type="System.BizTalk:BizTalkBinding" -Luid="Application/Core.Artifacts")... Information: Performing change requests... Information: Calling BeginTypeChangeRequest for all selected resource types... PerformingBeginChangeRequest PerformingBeginChangeRequest PerformingBeginChangeRequest Adding resource (-Type="System.BizTalk:Assembly" -Luid="TC.BizTalk.Functoid.AdvancedDatabaseLookup, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f68c7d112162f09d") to store. Information: PerformingEndChangeRequestsWithRollBack * Performing EndTypeChangeRequest for resource type "System.BizTalk:Assembly". * Performing EndTypeChangeRequest for resource type "System.BizTalk:BizTalkAssembly". * Performing EndTypeChangeRequest for resource type "System.BizTalk:BizTalkBinding". Error: Resource (-Type="System.BizTalk:Assembly" -Luid="TC.BizTalk.Functoid.AdvancedDatabaseLookup, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f68c7d112162f09d") already in store. 1) Use BTSTask's overwrite flag or 2) Set redeploy flag to true in BizTalk Project or 3) Click overwrite all checkbox in Admin MMC to update if the resource exists in the specified target application "Core.Artifacts". Overwrite flag will be ignored if the resource is associated with another application. Command failed with 1 errors, 0 warnings. </code></pre> <p>Now, all I need to do is find out whether a process errored or not. And, I need to store both the output stream as well as the error stream into string variables. ( I don't want to parse this string , you probably know this by now. And I don't wish to encounter problems stated by Microsoft as "Deadlocks" which I don't understand completely in this scenario.</p> <p>Thanks for your help!</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload