How to recover corrupted or locked Captivate projects

 Though thankfully a relatively rare event, Captivate projects have been known to suffer corruption. If damage is severe enough, a corrupted file will simply refuse to open in Captivate and then you need to resort to one of the methods suggested in this section to recover it.  

Why Captivate projects sometimes corrupt

It’s important to remember that Captivate 5 was not just an update to Cp4. It was a total rebuild of the application from the ground up. Adobe made extensive changes to the underlying software architecture. Of course, any radical rebuild of a software application is going to involve a number of bugs, and Captivate 5.0 did certainly have some ‘teething problems’ when it first came out. More recent versions of the app and its file format seem to have become progressively more stable.

Here are some of the reasons for this issue:

  • The nature of the CPTX file format -  A CPTX project file is actually a zip archive in disguise and may contain hundreds or even thousands of smaller files relating to the myriad of objects, images, and actions contained in your e-learning course. Each of these tiny files must be flawlessly saved back to the default location of the Cp project cache folder every time you perform a save action. If for any reason this does not occur as planned, corruption may result.
  • The project file is not corrupt, but some objects within it may be - We just mentioned that a Captivate project file is actually a collection of scores, hundreds, or even thousands of objects. Sometimes one or more objects conflict with others and this manifests itself similarly to project corruption.  
  • Including AS2 objects in an AS3 project file - All versions of Captivate before Cp5 were compatible with ActionScript 2 (AS2) and later versions up to Cp4 could use both AS2 and AS3.  Adobe officially dropped support for AS2 in Cp5 and from then on only AS3 objects could be used for preloaders, skins, animations, and widgets.  If you upgrade an older project to Cp5 or later format, you need to be sure NOT to retain any AS2 elements, otherwise your project could misbehave badly. 
  • Working on project files over a network - Another big cause of project file corruption in Captivate is the ill-advised practice of storing project files on a network drive and using Cp to directly access and work on these files over the network. All it takes is the smallest glitch in network traffic at the same moment your file is being saved to render it beyond repair. This is why Captivate authors are repeatedly advised to maintain all currently active project files in a folder on your PC hard drive rather than on a LAN.

  • The current IT love affair with virtualization technologies - In recent years we are seeing a growing trend for corporations to employ new technologies known as virtualization.  This approach is designed to make it easier to maintain the company’s valuable information assets by ensuring they are all located on central servers rather than being spread all over the landscape on individual PC drives.  This means that user profiles, desktops, and My Documents folders are now often stored on servers to facilitate easier management and backups. Unfortunately for Captivate users, this innovative IT management approach has some major downsides, one of which is that it can often cause Captivate to become unstable and crash, which can then result in project file corruption. If you work in a corporate environment where virtualization and roaming user profiles are the order of the day, you need to explain to your IT people that working from anywhere other than the hard drive is a known cause of file corruption and ruined projects with Adobe Captivate. Hopefully they will do a quick search on the Adobe Captivate Forums to verify your story. They should be able to locate large numbers of users complaining about lost projects due to working over a LAN instead of locally. 

This information is an excerpt from our e-books about troubleshooting and debugging Adobe Captivate. Buy the e-book to get the full story!...>

Unable to open a specific Captivate project file

One day you try to open a Cp project file you’ve been working on, and all you get is some kind of cryptic error message. Here are the most likely reasons:

Project lock file still present in folder

When you open a project file for editing, Captivate creates another hidden file with the same name, but with a cptx_lock file ending. This file locks your project to prevent any other user from attempting to edit the same file while you have it open.  

This file is normally deleted to unlock the project when you save and close.  However, if Captivate crashes or the lock file is not deleted on closing the project, then you project may remain locked from the previous editing session.

 

Solution

Browse to the file location and see if there is a file with the same name but with a cptx_lock file ending as shown above. (The lock file is a hidden file. So you need to Show Hidden Files and Folders in Windows folder settings.) If you find the lock file, delete it and try to open the project again from within Captivate.

Project file has become corrupted

If you still cannot open the project file, it may have become corrupted during the last editing session, or when you saved it.  You may be looking at a case of corruption if you see any of the following symptoms:

  • Captivate crashes as soon as you open the project. (You know this must be due to the project file itself rather than Captivate because other similar projects open without issue.)
  • The project crashes or throws error messages when you attempt to publish out.
  • After publishing, some part of the project fails to work or shows blank slides.
  • Captivate refuses to open the project file at all, even though the same project worked perfectly the last time you opened it.

The most common reason for project file corruption is NOT following the rule to ONLY work on projects stored on your local hard drive. In mild cases, you can often use a process of elimination to locate and remove corrupt slides, objects, or actions thereby restoring the project to full functionality. In worst-case scenarios, you may need to restore an entire project to an earlier point in time in order to resurrect it. That’s only possible via backups or by using the cache.

Solution 1

If you obey the instructions in this document about setting the Project Preference to Generate Project Backup, then all you need to do is go to the folder containing the project file, delete the .bak file ending from the backup file, and open it in Cp.  All you will lose this way is any work performed since you last saved and closed the project file.

Solution 2

If you have not as yet cleared your project Cache, see the instructions about how to recover a project file from the cache.

Locate and remove corrupted elements from a project

Corruption is usually limited to one or more slides. Sometimes the issue can be caused by a single object on one of the slides.  If you can locate and remove the corrupting elements, you can usually restore your project to full functionality.  If fortune smiles and you can still open and navigate the project, try using a process of elimination to locate the offending slide or object and remove it.  

Here’s how:

  1. Hide all slides in the first half of your project and try to publish again.  
  2. If you still cannot publish, hide all slides in the last half of the project and try to publish.  
  3. If you are able to identify the half of the project where the corruption exists, use the same slide hiding process to progressively narrow down where the problem slide is.
  4. Once you identify the issue, remove the object or slide and try publishing again.

The good news is that even if your Captivate project file does turn out to be completely corrupted, if you followed all the suggestions in the section of this document about setting up for Captivate development, you still have at least two options left.

Recover a project from backup

If you implement the suggestion to Generate Project Backup in Preferences, then you will start seeing duplicates of your project files appear in the same folder with .cptx.bak file endings. This is really just a copy of your current project file that contains all changes up until the last time you saved and closed your project.

  1. Just rename or delete your corrupted project file (so that you’ll know which one it was) and move it out of the way somewhere.  
  2. Next, remove the .bak ending from the backup file and try to open it in Captivate.  If your backup file predates the moment when corruption afflicted your project, then it should open properly and you’re back in business.  You will of course lose all work performed after that file was lasted saved and closed, but at least you’ll still have a working project file.

Recover a project from cache

Your backup file can only ever contain changes you made up until the last time you successfully saved and closed down your project.  If you want to try and recover all changes to the current state of your project, you can try restoring from the cache.  This is a special folder where temporary working files are stored as you edit a Captivate project file. The default location is usually in My Documents > Adobe Captivate Cached Projects.  

However, the cache folder location can be changed and set to a different default location under Preferences > General Settings > Default Locations > Project Cache.

 

If you’ve been working on quite a few project files your cache will likely contain a large number of folders with names that consist of seemingly random letters and numbers.  These folders contain all the files necessary to recreate each separate project file you’ve worked on since the last time the cache was cleared.  The contents of the cache folder are updated each time you hit Save for that particular project.  This means, if you know what to do, you can sometimes resurrect a project file that steadfastly refuses to open via any other method.  This is great news for Captivate developers!

But it’s not all good. Since the folders all have this cryptic naming convention, it’s impossible to tell from just looking at the names which specific project each one contains. If you run into project corruption issues during a particular session, you can sort the project folders by date modified and that should shorten the odds somewhat.  The most recently modified folder is probably the one for your project.

Using the Dcache application

However, what if you are trying to resurrect a project file from last week or last month?  By now you may have opened and worked on dozens of projects and finding the right one in the cache is like finding a needle in a digital haystack.  

Fortunately Adobe realized this would be the case and created a special AIR application called Dcache. You can download the free Dcache utility from here. This application enables you to browse those cryptic cache folders and see which one relates to a given project.  

Once you locate the correct cache folder for your problematic project, just browse to that folder in windows explorer and open the single db folder it contains to see the files and folders shown in the screenshot below. Now you’re ready to recover the project as per the following instructions.

To recover a project from within the cache db folder:

  1. Select all files and folders EXCEPT any called already_in_use.lock or backup_data.  (These files would prevent Captivate from opening the recovered project.)
  2. Right click on the selected group of files and choose Winzip > Add to db.zip from the context menu. 
  3. Save this zip file to another location (usually where you store your project files) and change the file extension from .zip to .cptx.
  4. Open the .cptx file in Adobe Captivate.  You will need to use the same version of Cp that was last used to edit the project file.

If the project file opens successfully, you will see all saved changes up to the point the development session was closed or Cp became unresponsive and crashed.  If the recovered project file will NOT open, you may yet be able to find an older cached version that is still recoverable.  However, if you’ve already cleaned out your cache, those versions will not exist anymore.

So Adobe has tried to support you by providing a backup file option in Preferences, cached project versions you can use as a last resort to restore the project, and even a free utility to browse the cache and identify specific projects you may want to recover.  But, in some cases none of this is going to be enough and you WILL lose work due to corrupted projects.  

Life wasn’t meant to be easy…

 

IF YOU LIKE WHAT YOU'VE READ ABOVE, THERE'S PLENTY MORE!

Join more than 2500 other Adobe Captivate users just like yourself and receive regular troubleshooting tips, illustrated tutorials, technical information, and creative solutions to real-world e-learning development issues. (See an example here.) Click the button below to join our community.  It's completely FREE!