Troubleshooting OLE (Object linking and embedding)
What is OLE?
OLE (Object Linking and Embedding) is a feature of Windows that lets you paste a Prism graph into Word or PowerPoint, and later double-click from within Word or PowerPoint to edit in Prism. OLE is a feature of Windows, that does not exist on Macs. Since Apple doesn't support object linking and embedding (OLE), you can't paste a Prism object in a PowerPoint file on a Mac and launch Prism from PowerPoint. Why we can't make this happen.
OLE is Windows only
If you open an Office document on a Mac, you won't be able to double click and open the graph in Prism.
OLE requires a delicate interaction of Prism, Office and Word. This document can help you troubleshoot when it doesn't work.
How to tell if you have pasted an OLE object or a picture.
From within Word or PowerPoint, right click on the graph, and look at the resulting shortcut menu. About halfway down the menu, if you see "Prism 6 object" (or some other version), then you know the object is a Prism object. If you see instead, "Change Picture", then only a picture was pasted. In this case, the data and analyses are simply not present and you can't double-click to edit. If you double-click, you'll see a picture tools toolbar within PowerPoint.
OLE requires cooperation of Windows, Prism and Office. It is delicate, so rebooting can fix some issues.
Prism 7. When you double-click you get a message "invalid license" or "Prism has not been properly installed. A valid serial number has not been found."
This issue was fixed with Prism 7.01, so please update to the latest relesase. If Prism 7.01 or later is the most recent version of Prism launched on your computer, it will open all Prism objects, regardless of which version of Prism created them. If you want to open a Prism object with Prism 6 or earlier, launch that version of Prism (while you have admin rights, or right-click on the application and choose Run as Admin). The version of Prism that opens the object depends on which version of Prism you last launched as an administrator user.
The problem with Prism 7.00: When Prism 7.00 starts, it looks to see if Prism 6 is still on the computer. If it is, then Prism 7.00 lets the registry setting stay put that tell windows to launch Prism 6 objects with Prism 6. If Prism 6 is not on the computer, Prism 7 (on startup) tells Windows to use Prism 7 with Prism 6 objects. If you upgraded from Prism 6, your Prism 6 license will be marked as invalid on our server. When you double click on the object, Windows still thinks Prism 6 is the right application to open the object. Prism 6 launches, checks with our server, and finds that the license is invalid and displays The solution is to update Prism. But the solution with 7.00 is to uninstall Prism 6, then relaunch Prism 7 with admin rights. If you are logged in as an admin, just launch Prism. If you are not, right click on the Prism icon and then click on "Run as administrator". On launching, Prism 7 will see that Prism 6 is gone so tell Windows that it (Prism 7) should be used to open Prism 6 objects. Now double-clicking on those objects will work fine.
Office 2016. Prism objects in PowerPoint (or Word) disappear and the program becomes unresponsive
One customer had recurring problems where PowerPoint would just stop showing embedding Prism graphs and then stop responding altogether. He discovered that this happened only when a certain network printer was the default printer. Switching to a different default printer solved the problem. No it doesn't make any sense. But is something easy to try.
When you double click in PowerPoint or Word to open a Prism object, it takes a long time
If your object has a lot of data, it can be slow to embed, and then slow to open. If you are embedding a layout of multiple graphs, you should consider copy-pasting the graphs one at time into Word or PowerPoint. Also consider using Paste Special, and pasting as a picture rather than an object. This is much faster to paste. But of course, you can't click on a picture to open in Prism. That requires an object, which requires all the data be stored in Word or PowerPoint, so is slower.
How to paste a Prism object into PowerPoint 2007 or 2010
When you copy a graph or layout from Prism, it places on the clipboard both an OLE object and a picture. By default PowerPoint 2007 and 2010 (but not Word or Excel 2007 or 2010) chooses to paste the picture, which cannot be edited instead of an OLE object that can be edited. In order to paste a graph from Prism to PowePoint 2007 as an object that can be edited, you have to paste into PowerPoint using the Paste Special command and choose to paste as Prism 6 Project Object. Microsoft finally fixed the problem in PowerPoint 2013.
A much easier workaround: Instead of copy-paste, use the Send-to-PowerPoint button. Learn more.
When I double click on the graph in PowerPoint, I see the message "The linked file was unavailable and can't be updated."
When you paste-special (or send) a Prism graph (or layout) to PowerPoint, one choice is to link the PowerPoint graph to the original Prism file. If you double click on this pasted link, you will edit the original file in Prism. This works only if the file still exists with its same name in the same location. If the file has been moved or renamed, PowerPoint will complain "the linked file was unavailable and can't be updated."
When I double-click on a Prism object embedded in Word or PowerPoint, an older version of Prism is launched to open it.
The Prism objects within Word or PowerPoint "know" which version of Prism created them. When Prism versions 3-6 launches (each time), it looks whether older versions of Prism are also installed on your computer. If it is not, then Prism sets up the proper Windows registry entries so it (the newer version) will be launched when you double-click on any Prism object. But if an older version of Prism still exists on your computer, the newer version of Prism won't touch those registry entries. When you double click on a Prism object, therefore, the right version of Prism opens it.
Prism 7.01 or later works differently. Prism 7 will tell Windows that it should open all Prism objects, regardless of which version of Prism opened them. But what if you have Prism 7 on your computer, but you want to open an object with an earlier version of Prism. You can do so, but must run that older version of Prism to let it again tell Windows that it is the right version of Prism to use.
If you uninstall an older version of Prism, be sure to run the current version once as an admin (so it updates the registry) before you double-click on Prism objects.
If you have an older version of Prism on your computer, but that license on that computer is no longer valid, you'll have a problem when you try to open Prism objects made with that version. Windows is smart enough to try to open the object in the version that created it. But if that version won't actually launch, it won't be helpful. If you uninstall the old version, and then quit and restart the new one, all will work fine.
How do I open an embedded Prism object from one version of Prism with another version of Prism?
To open an embedded object with a different version of Prism you must convert the object to that version of Prism. To do this, begin by right-clicking on the object and selecting Prism X Object, then Convert. This must be done on a computer that has a current version of Prism running.
In the prompt that appears, select the version of Prism that you would like to convert the object to and click OK. If you don't see this choice, quit Prism, and restart it by finding Prism.exe, right-clicking, and choose Run as Administrator. With admin rights, Prism can create the needed registry entires to allow the conversion to work. Note that all "Converting" does is flag the object so the correct version of Prism will open it when you double click. Despite the command name, the object (file) itself is not converted.
If you created the Prism object in Prism 7, and use the Convert...command to change to Prism 6 format, the object won't open in Prism 6 as it should. You'll see a message saying that Windows is trying to launch Prism 7 but can't. "The program used to create this object is Prism 7. That program is either not installed on your computer or is not responding...". Fixes/workaround:
- Here is a simple workaround. Use the Convert command to change to Prism 4 format. Nothing will be lost. The "conversion" is purely in a header and no information changes.
- Here is a more complicated fix for Windows geeks. Download this zip file with two .reg files, one for 32-bit Windows and one for 64-bit. Make sure you are logged in to Windows with admin rights, run the registry editor (Windows button+R, enter "regedit", OK) and import one of the two files above. Now embedded Prism 7 objects will open with Prism 6 with no error message.
Double-clicking on a Prism object within Word or PowerPoint 2016 does not launch Prism.
If Prism is not running, double-clicking on a Prism object in Word or PowerPoint ought to launch Prism. With Office 2016 and Prism 7.00 this does not work. You need to first launch Prism. Then double clicking on an object will open that object in Prism. We'll fix in 7.01.
When I double-click on a Prism object, I see the message: "The server application, source file, or item can't be found".
This can happen when Prism 6 was used to copy-paste the object, but only Prism 5 is present on the computer. Use the instructions above to change the object to a Prism 5 object. When you save the PowerPoint file, use the PPTX format. If you save using the older PPT format, PowerPoint will forget that it is supposed to open that object with Prism 5. Make sure that Prism 5 is updated to the last release, 5.04. Now if you double click on the graph, it will open in Prism 5. More....
General advice for fixing problems with OLE
OLE is a delicate interaction between Prism, Office and Windows. The first thing to try is rebooting Windows. Another thing to try is updating Windows and office via microsoft.com. Also check that Prism is up to date. You can also send a command to reregister the OLE components. One of our customers (using WIndows XP) told us that rebooting Windows didn't solve the problem unless he first performed these steps to establish OLE.
- Click Start, click Run, type the following command, and then click OK:
- The RegSvr32 dialog box pops up. Click OK.
- Restart the computer.
Using a 64 bit version of PowerPoint, double clicking on a Prism object doesn't launch Prism
One of our customers gave us this tip:
- Go to the System control panel,
- Go to the Advanced tab.
- Click the button, Environmental Variables.
- Find the Path variable
- Add to the path, preceded by a semicolon: C:\Windows\SysWOW64
I use Prism 4. When I double click on a graph made with Prism 5 embedded into Word or PowerPoint, it won't open.
When Prism 5 graphs are embedded into Microsoft Word, PowerPoint or Excel, they are tagged as a Prism 5 object. When you double-click, they won't open unless you have Prism 5 installed on that computer.
If you are using PowerPoint: It is possible to update the Windows registry to tell Windows to open Prism 5 objects embedded in PowerPoint with Prism 4. Follow these steps.
- Download this file and unzip it.
- If you are running Windows Vista, log in as an admin and turn off the UAC (User Access Control).
- Double click on the .reg file you unzipped.
- Windows warns you (several times) that changing the registry can be dangerous. OK.
- Delete the zip and reg files which you won't need again.
For each graph or layout you want to edit within PowerPoint:
- Right-click on the Prism graph or layout.
- In the right-click menu, select Prism Project Object->Convert... and click OK.
- In the Convert dialog, select Prism object and then click OK.
If you are using Word or Excel, it's unfortunately not possible to use that registry change (or a similar one) so that Prism 5 objects within Word or Excel can be opened with Prism 4.
I use Prism 5. When I double-click on a graph created by Prism 3 embedded in Word or PowerPoint, or on a PZM file, Prism 3 is launched rather than Prism 5.
If you have both Prism 3 and Prism 4 or 5 installed on your computer, then double clicking on Prism 3 files (*.PZM) or double-clicking on embedded graphs created by Prism 3 will launch Prism 3. If you want these files to be opened by Prism 5, you should uninstall Prism 3 and then launch Prism 5. After that, all your Prism 3 files and objects will be opened by Prism 5.
Here is a more detailed explanation. When Prism 4 launches, it checks the Windows registry to make sure that the Prism 5 .PZF extension is properly registered, so double-clicking on any *.PZF file, or any object created by Prism 5, launches Prism 5. Prism 5 then checks whether Prism 3 is also installed on the computer. If so, Prism 5 doesn't touch the registry settings for Prism 3 .PZM files or objects created by Prism 3. This means that double-clicking on a *.PZM file, or an object created by Prism 3, will launch Prism 3. But If Prism 3 has been uninstalled (or never installed on that computer), then Prism 5 tells the registry that Prism 5 should open objects and files made by Prism 3.
For network installations
Uninstall Prism 3 from the server. When Prism 5 sees that Prism 3 is no longer installed (it tracks the registry entries on the individual computer back to the server it points to), it will get rid of the Prism 3 registry entries, and take over the pzm extension (and p3 OLE objects). Then you double-click and Prism 5 should launch.
If that doesn't work, or if you can't uninstall from the server because others still use it, then you need to update the registry yourself. As you know, editing the registry is a big deal to be done slowly and carefully with backups.
Open Start menu, then Run, enter "regedit", click ok. In the registry editor, select Find from the Edit menu and search for all entries that include the path to Prism 3. Remove all the registry items that match. Also remove HKEY_CLASSES_ROOT\Prism.Document
If you don't want to edit the registry, here is a third possibility: Run Prism 5. - Open PP file and double click Prism embedded object. As a result, this object should be opened in Prism 5 (since it is running). - Open the File menu in Prism 5 and select the Update command. -Repeat for each Prism 3 object in your PowerPoint files - Exit Prism 5. - Resave PP file.
This last is a bit tedious, but it will work.