AddOleObjectFrame Method: Specify Class Name without File Type in C#

There was a change to AddOleObjectFrame taking in OleEmbeddedDataInfo instead of data and classname as separate parameters. See obsolete methods mentioned here Aspose.Slides for .NET 21.2 Release Notes|Aspose.Slides Documentation

I believe this has added a requirement of a file type association to allow resolution of the extension to a classname. Is this correct, and if so, is there any way to work around that requirement? In our use case, I know the classname - but there is no file type associated with it.

I have tried passing the classname as the extension. OleObjectFrame.ObjectProgId looks to be set correctly, but when viewed in PowerPoint, the embedded object shows as a Packager Shell Object and cannot be properly activated.

Thank you for posting the question.

Please share the following additional files and code examples:

  • code example that works for you with previous versions of Aspose.Slides
  • code example that does not work for you with new versions of Aspose.Slides
  • output presentation files for both code examples (143.5 KB)

See sample attached. outV18.pptx works, outV23.pptx does not. There are screenshots showing the difference in behavior when right clicking the ole object to activate.

Note that if you extract the pptx files, the embedded file in V18 matches the input file while the embedded file in V23 does not (it is larger).

Thank you for the details. I will get back to you as soon as possible.

As for the Screenshot-V18.png and Screenshot-V23.png images, could you please point out the version of PowerPoint you used to open the output presentations?

Version 2208 (Build 15601.20538)

Thank you for the additional information. I am working on the issue you described and will get back to you as soon as possible.

We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

Issue ID(s): SLIDESNET-43854

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.

Our developers are working on the issue you described. Please share the following information:

  1. Where did you get the OleObject1.bin file from?
  2. Which application opens the file embedded in the presentation?

We use an internal COM library which creates the data contained in OleObject1.bin. That library is used to open / edit the ActiveX object within PowerPoint.

If the internal library is your own library, you should use a file extension other than .bin. You have to then associate this file extension with an application in the operating system.

Before the change requiring OleEmbeddedDataInfo, we specified the class name explicitly, and that worked fine. There is no file extension registered for the com library.

I’ve forwarded this information to our developers.

The issues you found earlier (filed as SLIDESNET-43854) have been fixed in Aspose.Slides for .NET 23.4 (ZIP, MSI).
You can check all fixes on the Release Notes page.
You can also find the latest version of our library on the Product Download page.