Posts tagged "processErrorCode"

Unreadable Encrypted Local Store and the general internal error

One of the issues you may encounter when updating an AIR project in Flash Builder is what appears to be corruption of your Encrypted Local Store. This might manifest itself as a vague “general internal error” when your application attempts to read from or save to the ELS:

Error: general internal error
at flash.data::EncryptedLocalStore$/processErrorCode()
at flash.data::EncryptedLocalStore$/getItem()

When you run a new project and attempt to access the ELS, Flash will search the ELS directory with a case insensitive search, creating a new ELS if it doesn’t find an appropriate app ID. This is important to note, as the data you encrypt and save is keyed to a case sensitive copy of your application ID! Thus, if you migrate a Flex project with an application ID that varies only in case, Flash will find the ELS directory but fail to decrypt it, as your application ID is different than the key used to encrypt the ELS.

Flash will also fail to decrypt the ELS if your username (or perhaps user information) has changed, or if something serious happens to your keychain.

ELS files are stored in:
OS X: ~/Library/Application Support/Adobe/ELS/[app ID]
Linux: ~/.appdata/Adobe/AIR/ELS

In XP I’ve read that the files are either in C:\Documents and Settings\[username]\Application Data\Adobe\AIR\ELS or C:\Documents and Settings\[username]>\Application Data\[app ID]\ELS. On Vista I’ve read that it’s in C:\Users\[username]\AppData\Roaming\Adobe\AIR\ELS.

Your solutions are:
1. If you want your new application ID to be the same as your old one, make sure it doesn’t vary in case
2. If you want a new application ID, changing the case is not sufficient, as Flash performs a case-insensitive search while looking for the ELS
3. Remove the ELS data and allow Flash to create a new store. E.g., delete ~/Library/Application Support/Adobe/ELS/[app id]. You will lose any encrypted information