1 Reply Latest reply on Dec 11, 2012 9:51 AM by CAIDave

    generating exe file for fdk script : getting error

    Ramesh Babu K Level 1

      we trying to convert FM file to PDF using FDK asynchrouns script. we are getting below error while running attched script to crete exe file .

      Error "the application has faield to start because icuu32.dll was not found . re- installing the application may fix this problem"


      Script :



      #define DONT_REDEFINE // Console app needs native types
      #define WBUFLEN 512
      #include "fdetypes.h"
      #include "futils.h"
      #include "fapi.h"
      #include "fstrings.h"
      #include <windows.h>
      #include <ddeml.h> //not required
      #include <stdarg.h> //not required

      int main(int argc, char **argv)
      StringT opt_progid;
      CLSID pclsid;
      LPOLESTR progStr;
      HRESULT res;
      F_ObjHandleT docId;

      // Get the process name.
      if(argc == 2)
      opt_progid = F_StrCopyString((StringT)argv[1]);
      else {
      fprintf(stderr, "You must provide a process name.");

      // Convert the process name into a GUID
      progStr = (OLECHAR*)malloc( WBUFLEN*sizeof(wchar_t) );
      if(0 == MultiByteToWideChar(CP_ACP, 0,
      (char *)opt_progid, -1,
        progStr, WBUFLEN )) {
      fprintf(stderr, "failed to allocate\n");
      if (progStr[0] == '{') // hex-codes within brackets
      res = CLSIDFromString(progStr, &pclsid);
      res = CLSIDFromProgID(progStr, &pclsid);

      if(res == S_OK)
      F_ApiWinConnectSession(NULL, NULL, &pclsid);
      if (!F_ApiAlive()) {
      fprintf(stderr, "No connection: %s\n", opt_progid);
      return 1;
      // Print the name of the current document.
      docId = F_ApiGetId(0, FV_SessionId, FP_ActiveDoc);
      if (docId) {
      StringT docname = F_ApiGetString(FO_Session, docId,
      fprintf(stderr, "Current document: %s\n", docname);
      } else
      fprintf(stderr, "No active document\n");

      return 0;


      we have got below steps from one of adobe person :




      can you please explaine clearly The above steps  and how can we generate PDF for a FM file without manual intervention .


      the actual requirement is :


      1) Goto installed location of FM and launch framemaker with specified process id.

      eg : $Installdir\FrameMaker.exe /progid:MyProcess
      2) Build the asynchronous client exe\dll with the help from attached sample client.
      3) Goto the location where client exe is copied and then run with specified FM process id.
      eg : asynch_script.exe MyProcess

      To resolve few dependencies, you can also copy the client exe to installed location of FM. So the above step in that case would be

      $Installdir\ asynch_script.exe MyProcess


      Hi All , We are going for upgrade of  Frame maker 8 which is on unix system  to FM 10 or 11. We are using Framemaker mainly for renditions, i.e to convert the fm documents to PDF. To convert fm document to PDF we are using the below mentioned command line utility available in FM 8.(on unix). /opt/app/frame8.0/bin/fmprint -i -p Sample.fm.fmtpl Sample.fm Currently the the fm file which need to converted to PDF and the FM 8(installed) are available on the same unix system ,so we were able to initiate/use the command line utility of FM 8. The rendition of the FM to PDF is On -Demand.( We are not running any batch activities/ bulk renditions).We are rendering the document as soon as the document  is available. As we upgrade the FM to newer versions which would be installed on the Windows machine as Frame maker 10 or 11 will not support unix plat form, so can you please let us know which option is better to use i.e we want to convert fm file to PDF using java program without any manual intevention . we came to know that about FDK and extend scripts but we are very new to those !! could you please any one can provide us ways and provide us sample codes/scripts to convert FM file to PDF !! and please let us know which one is better client / server version to do this .


      please heklp us as it is very important

        • 1. Re: generating exe file for fdk script : getting error



          I am not clear which platform that you are asking this question for. Here is an answer for Windows.


          The icuuc32.dll is one of several unicode support libraries. These files are usually included in same directory as FrameMaker.exe (e.g. c:\Program Files\Adobe\FrameMaker11).


          If your asynchronous client is located in any other directory than this directory, icuuc32.dll will not be found when your asynchronous client starts. You need to set your Windows environment "Path" variable to include it's location (e.g. c:\Program Files\Adobe\FrameMaker 11). The "Path" will be searched when your asynchronous client starts and these files should then be found.


          with Windows Vista (I think Windows 7 in the same) the "Path" is set in Control Panel | System | Advanced System Settings | Environment Variables. I would suggest adding C:\Program Files\FrameMaker11 to the "Path" in the system variables.


          There will be several files in this directory that your asynchronous client needs to start.


          Hope this helps