Tools Host best practice

Last update: 4 August 2017
.responsive-example-table td, .responsive-example-table th { text-align: left!important; }

Tools Host best practice

Summary

Conversion may fail and content as Final Form stays empty after converting to final form.
Eventlog might show:

Error: COO.1.1.1.2662/COOSYSTEM@1.1:DLLERR_FAILURE
Text: DLL: Error when calling "FSCCNV92.FSCCONVConvertExcel" (The system
 cannot find the path specified.  (0x80070003/2147942403))
Object: COO.10.7665.3.2661
Action: FSCCONV@1.1001:ConvertExcel
Library: FSCCNV92
Function: FSCCONVConvertExcel
User: SUPPORT\conv_w2k8x64925folio
Process: 3368 (0x00000D28) [W3WP]
Thread: 2412 (0x0000096C)
Version: 9.2.5.67
System: WinVista 6.00 Build 6002 Service Pack 2.00
Memory: 87836/2235556/4291302768

Information

The Fabasoft Folio conversion services using several third-party products to convert content objects from the source file format to the destination file format.

These conversion tools are invoked in the security context of the conversion user service account and configured as described in the installation guide to not show any user dialog that could interrupt the conversion process.

Nevertheless there might pop up dialogs in certain circumstances especially in Microsoft Office programs. So Fabasoft uses a mechanism that is called Tools Host to detect and close all known popup dialogs.

Figure 1 shows the Tools Host configuration object

The blocking windows are detected on their Windows Title, Window Class whereas #32770 stands for “Dialog”, Window Style and the Window Process.

Solution

Detect blocking dialogs on example of Microsoft Excel

Activate conversion logging FSCCONV@1.1001( Logging possibilities ) and open the input file manually as conversion service user.

If no dialog box shows up go to the print dialog and select a Fabasoft printer and press OK.

(This is what the conversion service actually does)

In this example the following message box appears.

Note: if you where asked for an “Output file name” everything is fine!

Start the Fabasoft Tracer and select Trace -> Windows
Look for class #32770 (Dialog)

01374: 2010-11-18 10:44:43:    0.006: --- level = 1
01375: 2010-11-18 10:44:43:    0.006: --- window = 0x0000000000040210 
01376: 2010-11-18 10:44:43:    0.006: --- parent = 0x00000000000601B4 
01377: 2010-11-18 10:44:43:    0.006: --- class = <#32770>
01378: 2010-11-18 10:44:43:    0.006: --- thread = 0x000006BC
01379: 2010-11-18 10:44:43:    0.006: --- process = 0x000013D0
01380: 2010-11-18 10:44:43:    0.006: --- instance = 0x000000005D160000 (invalid)
01381: 2010-11-18 10:44:43:    0.006: --- windowrect = (350/336)-(682/444)
01382: 2010-11-18 10:44:43:    0.006: --- clientrect = (0/0)-(326/83)
01383: 2010-11-18 10:44:43:    0.006: --- prop <#43286 > 0x0000000000000002
01384: 2010-11-18 10:44:43:    0.006: --- style = 0x94C801C5
01385: 2010-11-18 10:44:43:    0.006: --- WS_POPUP
01386: 2010-11-18 10:44:43:    0.006: --- WS_VISIBLE
01387: 2010-11-18 10:44:43:    0.006: --- WS_CLIPSIBLINGS
01388: 2010-11-18 10:44:43:    0.006: --- WS_CAPTION
01389: 2010-11-18 10:44:43:    0.006: --- WS_BORDER
01390: 2010-11-18 10:44:43:    0.006: --- WS_DLGFRAME
01391: 2010-11-18 10:44:43:    0.006: --- WS_SYSMENU
01392: 2010-11-18 10:44:43:    0.006: --- WS_TILED
01393: 2010-11-18 10:44:43:    0.006: --- WS_POPUPWINDOW
01394: 2010-11-18 10:44:43:    0.006: --- extended style = 0x00010101
01395: 2010-11-18 10:44:43:    0.006: --- WS_EX_DLGMODALFRAME
01396: 2010-11-18 10:44:43:    0.006: --- WS_EX_WINDOWEDGE
01397: 2010-11-18 10:44:43:    0.006: --- WS_EX_CONTROLPARENT

Create a new aggregate line in tools host configuration object and map the trace output to the Tools Host configuration
(in the inequality signs: < >)

Tool Host trace output
Windows Title window value
Window Class class value
Window Style decimal value of the calculated style

calculate style value: style =  0x94C801C5
Add 8 leading F to the hex value to achieve 64 bit:  FFFFFFFF94C801C5
(also necessary for 32 Bit conversion services)
Convert value to decimal:  -1798831675

Blocking window of Microsoft Word

When you open a damaged document in Microsoft Office Word, the Show Repairs dialog box appears. This can lead to unexpected situations during conversions. The dialog can be prevented as described in the Microsoft knowledge base articel
http://support.microsoft.com/kb/903740/en-us .

Applies to

  • all current versions

Further questions?