It is difficult for me to explain the problem with few sentences. Basically, we have the application that uses Excel components to export some data to its .xls format. Earlier, we used the Office 97 interface; now the Office 2007 interface is used. It happens that the user may have older MS Office installed. What must be distributed with the application to make sure that the export works?
More details. The application is written in native C++ (ATL, WTL, COM), and the interface code source was generated via:
#import "C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\MSO.DLL"\
#import "C:\Program Files (x86)\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
#import "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE"\
In other sources the headers are included via:
The export works fine when having MS Office 2007 installed. The other tested and working configuration had MS Office XP (i.e. 2002) with Compatibility Pack installed (even the .xlsx format works here). However, the MS Office 2000 is installed (without any extra pack), the application crashed. It is not that surprising for me as there is probably nothing like mso.dll and the other components that are expected to be there. So, the question is...
Is there any recommended package or installer to be distributed for the MS Office solution?
Thanks for your time and experience,
P.S. I am sending this explicitly to C++ zone as the generated interface may be different than say working from Visual Basic. Anyway, the problem may be language independent. Because of this I have chosen the MS Excel zone as the primary one.