19.02.2015 11:32:49
Topic:
MSBuild Task with CO_E_SERVER_EXEC_FAILURE
criebopt
|
Hello, we are using RC-Wintrans 7.3.95.1 with our automated Microsift TFS Build System based on MSBuild 4.0. recently we notice the following error Message when running the RC-Wintrans Application from the Build Task.
BuildStep TeamFoundationServerUrl="http://***.corp:8080/tfs/DefaultCollection" BuildUri="vstfs:///Build/Build/9995" ID="-1" Message="***language packets started." Name="WinTrans" Status="InProgress" Exception catched! Message: Retrieving the COM class factory for component with CLSID {FFCD3AE7-16B2-48D3-85BC-6FEFFB4870FA} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)). Source: task_wintrans ExceptionString: System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {FFCD3AE7-16B2-48D3-85BC-6FEFFB4870FA} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)). at task_wintrans.x_wintrans.Execute() StackTrace: at task_wintrans.x_wintrans.Execute() DBFile: d:\**\*_rc.mdb
How to solve the issue ??? Thanks in advance.
We using following code to control the Application from the msbuild task:
public override bool Execute() { try { _rc_wintrans = new RCWinTransLib.Application(); _rc_wintrans.WindowState = 0; // Run RunWintrans(strDBFile,strRCFile); // clean up _rc_wintrans = null; GC.Collect(); // ensure the Wintrans resource is removed by the GarbageCollector. } catch (System.Runtime.InteropServices.COMException ex) { // can't create a RCWinTrans instance _rc_wintrans = null; Log.LogMessage(MessageImportance.High, string.Format("Exception catched! \t\t Message: {0} Source: {1} ExceptionString: {2} StackTrace: {3} DBFile: {4}", ex.Message, ex.Source, ex.ToString(), ex.StackTrace, strDBFile)); Log.LogMessage(MessageImportance.High, string.Format("Run RCWintrans \t\t {0}, {1} failed", strDBFile, strRCFile)); } } protected bool RunWintrans(string strDBFile, string strRCFile) { bool bOk = true; bOk = _rc_wintrans.IsUpToDate(strRCFile, strDBFile); bOk = _rc_wintrans.UpdateDatabase(strRCFile, strDBFile); short[] langidarray = {0}; object LangIDAry = new System.Runtime.InteropServices.VariantWrapper(langidarray); int nRet = _rc_wintrans.GetTargetLanguages(strDBFile, ref LangIDAry); foreach (object obj in (object[])LangIDAry) { int langID = (short)obj; bOk = _rc_wintrans.HasTargetLanguage(strDBFile, langID); if (bOk == true) { // returns always zero ? short Percent = 0; Percent = _rc_wintrans.IsTranslated(strDBFile, langID); // Write Targt File Character Encoding //#define CODING_MBCS 1 // ASCII/MBCS //#define CODING_UTF8 2 // UTF-8 //#define CODING_UNICODE 3 // Unicode //#define CODING_JAVA_NATIVE 4 // Java Native ASCII (with Unicode escape sequences) bOk = _rc_wintrans.WriteTargetFile( "", strDBFile, "", langID, 0x01, // Options, iEncoding, // Encoding, "1.0.0.0", // Version, "", ""); } } return true; } |