Copy link to clipboard
Copied
Hi all,
I've developed an application using Adobe AIR 1.5.3 and am looking into upgrading to AIR 2.0. When I install the AIR 2.0 runtime and try to upgrade an existing AIR 1.5.3 application to a new AIR 2.0 application I get the following message when the application starts:
<AppName> wants to use your confidential information stored in "Adobe.APS" in your keychain.
One of the first things that the application tries to do when it starts is access encrypted local storage (I'm assuming that this is where this message is coming from).
Is there any way to avoid this message when upgrading to AIR 2.0?
Thanks
Sean
Copy link to clipboard
Copied
I'm seeing this aswell under the similar circumstances. Sean, any chance you figured it out?
thnx
Seth
Copy link to clipboard
Copied
Hey Seth,
I never was able to find a solution to this problem unfortunately. I'm hoping to tackle it again soon though. If I figure anything out in terms of a possible way of avoiding this message, I'll let you know.
Sean
Copy link to clipboard
Copied
hi
Copy link to clipboard
Copied
Hi Sean and Seth,
I'll ask around and see if I can get an answer to this.
Moved discussion to the Installation Issues forum.
Chris
Copy link to clipboard
Copied
Thanks for taking the time to look into this Chris,
I've one other issue where a person trying to install the AIR 1.5.3 application I work on is having difficulties during install. Here's what their .airappinstall.log file looks like:
Starting silent app install of file:///C:/Users/Gordon/AppData/Local/Temp/Eye-Fi_Center.air
UI SWF load is complete
UI initialized
Unpackaging to C:\Users\Gordon\AppData\Local\Temp\flaC2BF.tmp
unpackaging is complete
application is bound to side-by-side version 1.0
application is bound to this version of the runtime
app id fi.eye.center
pub id E430518E652B889A80EC0E8A6E532C09FF36DF62.1
Application not located
creating native installer in: C:\Users\Gordon\AppData\Local\Temp\flaFAB1.tmp
native installer creation complete
Starting install
Destination for installed application is C:\Program Files\Eye-Fi
stateInstalling: [ErrorEvent type="error" bubbles=false cancelable=false eventPhase=2 text="Unhandled exception Error: App already exists" errorID=5007]
starting cleanup of temporary files
application installer exiting
Their .airinstall.log file looks like this:
Starting silent x1 install from file:///C:/Users/Gordon/AppData/Local/Temp/Eye-Fi_Center.air
UI SWF load is complete
stateRunningAppInstaller: appinstaller -runtime C:\Users\Gordon\AppData\Local\Temp\AIR33AA.tmp -silent -withRuntime -url -location "C:\Program Files\Eye-Fi" -programMenu file:///C:/Users/Gordon/AppData/Local/Temp/Eye-Fi_Center.air
App installer failed; exit code 7
begin quitting
I tried asking the user to uninstall an older version of Eye-Fi Center via the Control Panel before attempting another reinstall of Eye-Fi Center, but that didn't seem to do any good.
FWIW, this user is running Adobe AIR 2.0.2.12610 and the application in question has been developed to work with AIR 1.5.3. A quick snippet from it's application descriptor file looks like this:
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/1.5">
<id>fi.eye.center</id>
<filename>Eye-Fi Center</filename>
They're seeing a popup at the end of installation which says:
"This installation of this application is damaged. Try re-installing or contacting the publisher for assistance."
I don't mean to hijack this 'Adobe.APS' thread with a separate issue - if you feel that this second issue would be better served in a separate thread, please let me know and I'll repost.
Thanks again for your help - much appreciated.
Sean
Copy link to clipboard
Copied
From the log, it looks like the old application was a non-native app (.AIR extension) and the user is trying to install a newer version which is a native app (.EXE extension). The only way this will work is if the user used the .AIR non-native app to uninstall the original app before using the .EXE native app to install the new app. If you still have the old .AIR non-native app, just double click on it to remove it before using the .EXE native app to install. Hope that helps!
Copy link to clipboard
Copied
Hi Sean,
Still looking into the first question, hope to have more info for you soon.
As for the second issue, based on the log, it looks like the user has a .air-based version of the application installed and now with the 2.0 runtime installed, the user is trying to install the native installer version of the app. The work around should be to first remove the non-native app version, then install the native app version. You might also want to double check that the files/folder have actually been removed once the uninstaller is completed.
Chris
Copy link to clipboard
Copied
Thanks for the replies Chris and Lisa - I'll give your suggestions a shot and I'll post back to the forums with my results.
Copy link to clipboard
Copied
thanks Chris. This sounds like what's happening.
Will do some upgrade strategy testing on our app before our next (air 2.0 native) release.
thnx,
Seth
Copy link to clipboard
Copied
Hey Chris,
Any ideas on what could be causing the two issues I outlined on this thread? Is there any way to get more debug information from the Adobe installers which might help in pinpointing the root cause of the problem.
All help greatly appreciated
Sean
Copy link to clipboard
Copied
Hi Sean,
I apologize for not getting back to you sooner. I've asked about bypassing the OS X keychain message and it's not something we recommend. Here's what one of our developers had to say:
The dialog is displayed by Mac OS, which detects the updated application and displays this dialog in order to help protect the user from malicious activity.
The settings used to protect each keychain item can be configured via the Keychain Access application. It may be possible to configure them such that this dialog would not be displayed. Apple's docs are quiet on the subject, and I haven't run the experiment. That said, I wouldn't recommend it; the warning is there for good reason.
BTW, this message only appears for apps that use the Encrypted Local Store API. If it appears on application launch, it's because an app is using ELS on launch.
Was the other issue regarding the publisher ID?
Thanks,
Chris
Copy link to clipboard
Copied
Hey Chris,
First off - thanks for the reply. I understand getting back to all the requests on the forums is difficult and I appreciate your time.
I was interested in figuring out a way to avoid the Mac OSX keychain warning message from appearing when migrating a 1.5.3 .air application to a 2.0.3 .dmg natively installed AIR app. See my message from Aug 16, 2010 5:18 PM - I'm not getting the keychain warning anymore thanks to your suggestions.
Please see the same message from the 18th for a description of where I'm currently stuck. I have all my application preferences and cached files stored under fi.eye.center.E430518E652B889A80EC0E8A6E532C09FF36DF62.1 with the 1.5.3 version of my .air application. When I migrate to AIR 2.0.3, a new Local Store directory is created under ~/Library/Preferences/fi.eye.center/ . As a result, when I move from the 1.5.3 version of the runtime to 2.0.3, I lose all my application preferences, cached files and anything I've stored in the ELS directory too.
Is there a way to maintain all these preferences, cached files and ELS directory settings when moving from 1.5.3 to 2.0.3?
Sean
Copy link to clipboard
Copied
Is there a way to maintain all these preferences, cached files and ELS directory settings when moving from 1.5.3 to 2.0.3?
Hey Sean,
In your new 2.0.3 version, what if you stored the publisher_id inside the app, and on initial install, you copied the data from File.applicationStorageDirectory + "." + publisher_id to File.applicationStorageDirectory...
Seth
Copy link to clipboard
Copied
Hey Seth,
With the AIR 1.5.3 application, I didn't specify a publisherid property in the application descriptor file (as I understood this property was deprecated in 1.5.3). As a result, I'm not sure all the existing AIR 1.5.3 versions of my application will have the exact same Local Store directory id (I'm not even sure how this id is generated). Even if I was certain that this id was consistent across all current installations of my application (and consistent across all operation system installs), copying the files on initial application startup could take some time and might have an adverse impact on the user's experience with the application.
I would have expected a AIR runtime upgrade like this wouldn't require any application logic to deal with the upgrade - I thought this would have all happened for me under the covers without any need for application intervention.
Thanks for the reply though - I also thought changing the air.File.applicationStorageDirectory property programmatically might get me around having to copy the files, but as I've said above - I'd prefer to not have to intervene programmatically when upgrading the AIR version.
Sean
Copy link to clipboard
Copied
Hi Sean,
Thanks for clarifying that again. The issue you're having is indeed related to the publisherID that was present in your 1.5.3 application. This ID was generated automatically for you (based off of your cert file, app name, etc.) This ID is consistent across all systems and platforms.
To get your application update workflow to use the preexisting user folder, you'll want to add the old publisherID (E430518E652B889A80EC0E8A6E532C09FF36DF62.1) into your 2.0.2 application descriptor file. This will ensure that the upgrade app's user path will remain the same between versions.
Hope this helps,
Chris
Copy link to clipboard
Copied
I don't get the 'Adobe.APS' message anymore when I execute the following steps (running the 2.0.3 version of Adobe AIR):
1. Install the regular 1.5.3 non-native .air file.
2. Uninstall the .air file.
3. Install the native .dmg file.
However, when I now look at my ~/Library/Preferences directory I have two entries for my application identifier:
fi.eye.center
fi.eye.center.E430518E652B889A80EC0E8A6E532C09FF36DF62.1