Copy link to clipboard
Copied
Hi
I need to migrate my old certificate for my AIR app. I found instructions to do it using ADT at http://help.adobe.com/en_US/air/build/WS13ACB483-1711-43c0-9049-0A7251630A7D.html , but I publish using the Flash Pro IDE. Is it possible via Flash Pro, or only ADT?
Cheers
Ok, migration can't be done via Flash Pro because it require command line complation access. But this can be done easy. I hope your OS it's Windows? )) Because I don't use a Mac.
adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air
this string can be executed easy.
1) Locate your Adobe Air SDK and copy it's path to clipboard.
2) Create somewhere folder and put your original.air there
3) Create Migrate.txt file
4) Type in it:
"C:\Program Files\Adobe\Air Flash Runtimes\4.0.0.1390\bin\a
...Copy link to clipboard
Copied
Does your app use *.AIR or you deploy it with embeded runtime?
May be simplest way it's recompile it?
Copy link to clipboard
Copied
The first option - myapp.AIR
I can recompile via Flash Pro, but I'm not sure where the option to migrate the old certificate is. If I just recompile with the new certificate, I get misconfiguartion errors when someone attempts to install the new app. Apparently, migrating the old certificate using these instructions overcomes this - http://help.adobe.com/en_US/air/build/WS13ACB483-1711-43c0-9049-0A7251630A7D.html
I'm just wondering if it all can be done via the IDE?
Thanks Anton
Copy link to clipboard
Copied
Ok, migration can't be done via Flash Pro because it require command line complation access. But this can be done easy. I hope your OS it's Windows? )) Because I don't use a Mac.
adt -migrate -storetype pkcs12 -keystore cert.p12 myAppIn.air myApp.air
this string can be executed easy.
1) Locate your Adobe Air SDK and copy it's path to clipboard.
2) Create somewhere folder and put your original.air there
3) Create Migrate.txt file
4) Type in it:
"C:\Program Files\Adobe\Air Flash Runtimes\4.0.0.1390\bin\adt.bat" -migrate -storetype pkcs12 -keystore cert.p12 original.air update.air
Change full path to your Air SDK location. For example it can be like:
"C:\AdobeAirSDK\bin\adt.bat" -migrate -storetype pkcs12 -keystore cert.p12 original.air update.air
5) Rename Migrate.txt to Migrate.bat and execute it. ADT may ask your certificate pass. Type it and press enter.
I never doing migration because I use only Embeded with *.exe inhouse distribution. But using link you provide - you can do it yourself. Just change everythere adt to "C:\AdobeAirSDK\bin\adt.bat" your any other your sdk location.
But I always use ADT in command line
Hope this helps. But this is for Windows. I don't know how to deal with MacOS command line.
Copy link to clipboard
Copied
Wow - thank you Anton!!!
It seems to be working to a point, but I'm getting the error:
File myFile.air has an invalid descriptor Descriptor: error: 102 invalid namespace http://ns.adobe.com/air/application/3.7
Does this make any sense? I haven't come across any namespace errors when exporting via the ide.
Cheers mate.
Copy link to clipboard
Copied
looks like your current air sdk is different with that was used for old air app. what is current and old?
Copy link to clipboard
Copied
I'm publishing from the IDE with 3.7.0.5130 - I'm not sure what you mean by old - I thought I was just publishing by the new one.
Copy link to clipboard
Copied
take your original.air and rename to original.zip
go inside and find there in meta-inf folder your description xml.
it may contain namespace with version at the end like you showed 3.7 but there can be different.
after you determinate old air version - go to new one and open in notepad new your app description and change 3.7 marker to that was used in old xml file. than compile new app and try migration again ) this is simply looks like your old files use previous version and it cane be renewed with new versions.
Copy link to clipboard
Copied
Thanks agains Anton.
Your instructions make sense, but the air versions seem to be the same...
a) I thought Flash was publishing using the new version. Is this not the case?
b) I checked the old version of the AIR file that people are using to install, and it's namespace is http://ns.adobe.com/air/application/3.7
The old file:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<application xmlns="http://ns.adobe.com/air/application/3.7">
<id>songbookdb-pal</id>
<versionNumber>1.053</versionNumber>
<filename>SongbookDB Pal</filename>
<description/>
<!-- To localize the description, use the following format for the description element.<description><text xml:lang="en">English App description goes here</text><text xml:lang="fr">French App description goes here</text><text xml:lang="ja">Japanese App description goes here</text></description>-->
<name>SongbookDB Pal</name>
<!-- To localize the name, use the following format for the name element.<name><text xml:lang="en">English App name goes here</text><text xml:lang="fr">French App name goes here</text><text xml:lang="ja">Japanese App name goes here</text></name>-->
<copyright>SBDB Software Pty Ltd</copyright>
<initialWindow>
<content>songbookdb_pal.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
<fullScreen>false</fullScreen>
<aspectRatio>portrait</aspectRatio>
<renderMode>auto</renderMode>
<maximizable>true</maximizable>
<minimizable>true</minimizable>
<resizable>true</resizable>
</initialWindow>
<icon>
<image16x16>16.png</image16x16>
<image32x32>32.png</image32x32>
<image48x48>48.png</image48x48>
<image128x128>128.png</image128x128></icon>
<customUpdateUI>false</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
</application>
The new file:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<application xmlns="http://ns.adobe.com/air/application/3.7">
<id>songbookdb-pal</id>
<versionNumber>1.054</versionNumber>
<filename>SongbookDB Pal</filename>
<description/>
<!-- To localize the description, use the following format for the description element.<description><text xml:lang="en">English App description goes here</text><text xml:lang="fr">French App description goes here</text><text xml:lang="ja">Japanese App description goes here</text></description>-->
<name>SongbookDB Pal</name>
<!-- To localize the name, use the following format for the name element.<name><text xml:lang="en">English App name goes here</text><text xml:lang="fr">French App name goes here</text><text xml:lang="ja">Japanese App name goes here</text></name>-->
<copyright>SBDB Software Pty Ltd</copyright>
<initialWindow>
<content>songbookdb_pal.swf</content>
<systemChrome>standard</systemChrome>
<transparent>false</transparent>
<visible>true</visible>
<fullScreen>false</fullScreen>
<aspectRatio>portrait</aspectRatio>
<renderMode>auto</renderMode>
<maximizable>true</maximizable>
<minimizable>true</minimizable>
<resizable>true</resizable>
</initialWindow>
<icon>
<image16x16>16.png</image16x16>
<image32x32>32.png</image32x32>
<image48x48>48.png</image48x48>
<image128x128>128.png</image128x128></icon>
<customUpdateUI>false</customUpdateUI>
<allowBrowserInvocation>false</allowBrowserInvocation>
</application>
Copy link to clipboard
Copied
Really can't understand why this don't work for you. On my side there is no errors. Just checked. Width different all air versions staring from 3.6 till 4.0.0.1390
If you want you can send me privately booth files, p12 and pass for it to my
I will try to migrate for you. Sure It's under NDA.
Copy link to clipboard
Copied
Ok, I think it fixed. Thanks for contacting.
Posting here report so this can be helpfull to someone.
Migrating was done by command line:
"C:\Program Files\Adobe\Air Flash Runtimes\3.8.0.1290\bin\adt.bat" -migrate -storetype pkcs12 -keystore mycertificate.p12 my_original.air my_updated.air
You can't migrate with lower SDK than was used in compiled *.air. I don't know if you can do this with the same (like 3.7.0.5130). But try to use next after your version for migrating. In this example I use 3.8.0.1290 for migrating and it's works.
But it's also works using 4.0.0.1390 for migration and any other thar newer than 3.7.0.5130
Copy link to clipboard
Copied
I’m not sure if it’s any different for AIR for desktop, but with AIR for iOS you would take your new certificate into Keychain Access, export a new P12 file, and then use that in Flash Pro.