A few of our users were prompted to update to Adobe AIR 3.4 today. After doing this they were no longer able to use our Adobe AIR "desktop" app. I've downloaded the 3.4 SDK and run our app via ADT and I get the following error in the Introspector:
Error: EncryptedLocalStore database access error
Our app stores configuration info in the EncryptedLocalStore.
This has never occurred before and if I uninstall 3.4 and go back to 3.3 the problem does not exist. We need an urgent solution to this because we have hundreds of users who use our AIR app every day. We've told them NOT to update to 3.4 until further notice.
Any assistance would be greatly appreciated.
We have the same problem with our app. On some PCs the app even crashes when it accesses EncryptedLocalStore.
If we can help you identify the issue, you can contact me by email nikitap _at_ communigate.com
Getting a similiar problem here with our desktop users unable to open an encrypted database. The encryption key is generated using EncryptionKeyGenerator from as3corelib, which when looking at the source using EncyrptedLocalStore. When doing some debugging and switching between AIR 3.3 & 3.4 I noticted that a different value is coming out of the EncryptedLocalStore.getItem method.
This is a big issue and hopefully someone can give some more clarification on why it is happening & how to solve it.
We have the same problem.
I can't wait for the "SLOW" response of Adobe.
I decided to build the app in the following ways:
adt -package -storetype pkcs12 -keystore MyKey.p12 -target bundle MyApp.exe MyApp-app.xml MyApp.swf
In this way, I am able to provide an application independent of the user's environment.
I want to give you an update on where we are with this issue. We understand the severity of the problem and are actively investigating both bug fixes and workarounds. I hope to have more info later today or Monday at the latest. In the interim, please take a minute and vote/comment for the following bug:
If possible, please include a link to your application (or a sample app) and steps to repro. We'd like to make sure we include this in all future testing so this does not occur again. If you'd like to keep this private, please feel free to email me directly at email@example.com
From what I can tell, it works fine, when the code is launched from Flash Builder - in both debug and normal mode. But release version packaged as air installer, installed and launched, does not seem to be able to reach ELS. For me it just returns null. What's bizarre, though, is that the data can be saved back to ELS and then when I launch the application again, these new data are properly loaded. But ELS storage files do not change at all (sizes or dates)! They're not modified, so it would look to me like the ELS is created under a different path and referenced from there - although I couldn't figure out where it is.
This is on Mac OS X 10.8.1 by the way.
Remember to switch the AIR SDK in Flash Builder, otherwise the last installed version did not use the global installed AIR runtime.
And yes no new files like PrivateEncryptedData* are created for AIR apps which are installed and first time used with AIR 3.4.
A new app did not create files in the ELS folder.
(Mac OS 10.7.4)
Ah yes, I suspected that FB might run the app on 3.3 using its own runtime. It's kinda weird though. The SDK and the runtime are different things and should not be bound together, really. When I launch FP in browser, it is I who decide which player version is there. Same should go for AIR (use system runtime), at least for consistency.
Thanks for the update.
My application was originally written and compiled using the AIR 2.0 SDK and none of my users (300+) have ever lost their ELS data before after a runtime update.
Is the 3.4 update still being served?
I have created a sample application with instructions about the bug and hosted the source on github.
Hope a solution can be found quickly.
I'd like to echo the request to stop the 3.4 upgrade until this is fixed. My users are emailing with support requests asking why they have to register again or why they're getting an EncryptedLocalStore database access error.
I'll be meeting with the team today to get an update. Please keep the votes/comments coming on the bug report:
Hello AIR developers,
I want to thank you for your patience and again apologize to you for catching you off guard with this change. Our team met today and our immediate plan is to roll the ELS changes back to the AIR 3.3 level. We are working on a timeline for when this update will be occur. We are treating this with the highest priority and expect it will not take long.
For those interested, here’s how and why this change occurred. Over the past year or two we’ve heard complaints about the reliability of our ELS implementation, especially on the Mac platform. We’ve known all along that we wanted to refactor this feature and remove dependence on third party libraries. We undertook this restructuring during the 3.4 release schedule and finished without hearing any major complaints from our internal or prerelease users. One assumption we made was that ELS data was treated like a volatile cache. In the past we’ve given guidance on the usage of ELS in both blogs and our help documentation, suggesting that developers should not depend on ELS as permanent data storage because it “can be lost for a variety of reasons”. Our position on this hasn’t changed, but we acknowledge and understand that some applications have come to depend on this data and if at all possible, we should do our best to persist it.
Going forward, we will most likely reimplement our changes from 3.4, however when doing this we will also work to provide a way to automatically upgrade and persist your application's data. We will also give plenty of advanced notice and make releases available on our labs.adobe.com site. We want this change to improve your lives by adding improved stability and we look forward to working with you on this in the future.
While we work on implementing the changes I’ve previously described, we plan to disable the automatic AIR 3.4 update notifications that users are currently being prompted to install. Our hope is that this stops the spread of this issue and reduces the support required for you and your customers. Both the AIR 3.4 SDK and runtime will still be available for manual download via adobe.com. We will provide further instructions and information early next week.
Official statement - http://blogs.adobe.com/flashplayer/2012/09/air3-4els.html
The update mechanism should now be turned off, we're working on rolling back the ELS changes and it should be included in our next update.
Thanks for your continued attention to this critical issue.
Question: some of my users have deleted the existing ELS folder for my app and then gone on to re-register as a way of getting around the problem and continue working. If you are rolling back the ELS changes in your next update, will those users experience another ELS failure on the next AIR update?
Any data saved with ELS using AIR 184.108.40.2060 will be "lost" when we switch back to the 3.3 ELS implementation. While your app won't be able to access this data, the two data stores should be able to co-exist.
On Windows 7, ELS data is located here:
In AIR 3.3 and earlier, and in the upcoming AIR 3.4 update, ELS uses 4 separate files:
In the current version of AIR 3.4 (with the new implementation), ELS uses just a single file:
I'm surprised that deleting the folder made any difference with AIR 3.4, given that the file names are different. If this upcoming change is an issue, one work around would be to create a new version of your application using the AIR captive runtime. This way you'd be guaranteed to use the ELS version that you expect.
We have the AIR 3.5 beta available now (http://labs.adobe.com/downloads/air3-5.html) which has the ELS code reverted to the AIR 3.3 and earlier behavior. We plan on updating AIR 3.4 within the next week or two (if all goes to plan.) We'd love to get your feedback, please give the new 3.5 runtime a try and let us know how it works for you.