We are exporting data to Excel from Net Express 5.1, calling Excel in the way below:
      $set ooctrl( P)
       class-control.
           MSExcel             is class "$OLE$Excel.Application".
    :
      *>   Create a new instance of Microsoft Excel
           invoke MSExcel "new" returning ExcelObject
Up till Windows 7 this has worked fine, in Windows 8 it don't work any longer.
We receive error message from "cblxecwm" saying "Load error: file 'C:\\Program' not found
This i probably because the registry CLSID for Excel in Win7 is: C:\\PROGRA~2\\MICROS~1\\Office12\\EXCEL.EXE /automation      ("short" path)
While in Win8 it is: C:\\Program Files (x86)\\Microsoft Office\\Office12\\EXCEL.EXE /automation     ("long" path, with spaces)
Looks like the call to Excel-class is cut off at the first space - any suggestions of how to solve this (without rewriting everything)? 
(For a test we tried to add " around registry path in Win8, but that did not change anything)
#netexpressI suggest you contact Micro Focus Customer Care and ask them to open a support incident. It's possible this is fixed in a more-recent product, or that a fix is available for 5.1; if not, an RPI should be raised.
Technically this is a bug in the MS Office installer. It should be quoting the spacy path it puts in the Registry entry. (As it is, the Registry entry is ambiguous; the invoking program has to determine that "/automation" is a program argument and not part of the program path. That's a terrible design, due in no small part to Microsoft's absymal decision to use spaces in standard OS paths, but there's no way to fix it now.)
However, there appear to be at least two issues in the version of Net Express you're using. First, the incorrect attempt to execute "C:\\Program" in cases like this is a well-known issue with security implications. (Windows has some special code to avoid the most-obvious security risks, but it's relatively easy to work around those defenses.) So the OLE code in NX ought to catch and handle this class of installer bug, if possible. Second, if editing the Registry entry to quote the program path didn't work, then that looks like a genuine bug in the OLE code; it should handle a quoted program path properly.
                
     
                                    
            We are exporting data to Excel from Net Express 5.1, calling Excel in the way below:
      $set ooctrl( P)
       class-control.
           MSExcel             is class "$OLE$Excel.Application".
    :
      *>   Create a new instance of Microsoft Excel
           invoke MSExcel "new" returning ExcelObject
Up till Windows 7 this has worked fine, in Windows 8 it don't work any longer.
We receive error message from "cblxecwm" saying "Load error: file 'C:\\Program' not found
This i probably because the registry CLSID for Excel in Win7 is: C:\\PROGRA~2\\MICROS~1\\Office12\\EXCEL.EXE /automation      ("short" path)
While in Win8 it is: C:\\Program Files (x86)\\Microsoft Office\\Office12\\EXCEL.EXE /automation     ("long" path, with spaces)
Looks like the call to Excel-class is cut off at the first space - any suggestions of how to solve this (without rewriting everything)? 
(For a test we tried to add " around registry path in Win8, but that did not change anything)
#netexpressHi Bjobreva, Net Epxress and Server for COBOL are not certified on Windows 8 or Windows Server 2012 platforms today. Our automated QA system has revealed several issues on these platforms and we've received a number of incidents from other customers. 
Visual COBOL has been tested on both of these platforms and carries the Windows 8 logo. So, our recommendation is to upgrade to this product if you require Windows 8 deployment.
For a list of supported platforms, please reference this page: supportline.microfocus.com/prodavail.aspx
Please contact your account manager if you need more information on this topic. They can also advise on interim support for Net Express whilst you transition to Visual COBOL.
Regards, Scot
                
     
                                    
            We are exporting data to Excel from Net Express 5.1, calling Excel in the way below:
      $set ooctrl( P)
       class-control.
           MSExcel             is class "$OLE$Excel.Application".
    :
      *>   Create a new instance of Microsoft Excel
           invoke MSExcel "new" returning ExcelObject
Up till Windows 7 this has worked fine, in Windows 8 it don't work any longer.
We receive error message from "cblxecwm" saying "Load error: file 'C:\\Program' not found
This i probably because the registry CLSID for Excel in Win7 is: C:\\PROGRA~2\\MICROS~1\\Office12\\EXCEL.EXE /automation      ("short" path)
While in Win8 it is: C:\\Program Files (x86)\\Microsoft Office\\Office12\\EXCEL.EXE /automation     ("long" path, with spaces)
Looks like the call to Excel-class is cut off at the first space - any suggestions of how to solve this (without rewriting everything)? 
(For a test we tried to add " around registry path in Win8, but that did not change anything)
#netexpressThank you for your answer.
(Upgrade to Visual COBOL is not an option for the moment.)
Regards, Bjørn
                
     
                                    
            We are exporting data to Excel from Net Express 5.1, calling Excel in the way below:
      $set ooctrl( P)
       class-control.
           MSExcel             is class "$OLE$Excel.Application".
    :
      *>   Create a new instance of Microsoft Excel
           invoke MSExcel "new" returning ExcelObject
Up till Windows 7 this has worked fine, in Windows 8 it don't work any longer.
We receive error message from "cblxecwm" saying "Load error: file 'C:\\Program' not found
This i probably because the registry CLSID for Excel in Win7 is: C:\\PROGRA~2\\MICROS~1\\Office12\\EXCEL.EXE /automation      ("short" path)
While in Win8 it is: C:\\Program Files (x86)\\Microsoft Office\\Office12\\EXCEL.EXE /automation     ("long" path, with spaces)
Looks like the call to Excel-class is cut off at the first space - any suggestions of how to solve this (without rewriting everything)? 
(For a test we tried to add " around registry path in Win8, but that did not change anything)
#netexpressThank you for your answer.
(Upgrade to Visual COBOL is not an option for the moment.)
Regards, Bjørn