Monday, August 23, 2010

How to run Adobe Air apps on Windows without admin rights


Adobe’s Air needs admin rights to install apps.  Adobe gives really lame, misguided reasons for this like “if you don’t have admin rights you shouldn’t be installing software.”  Should Firefox stop allowing extensions to be installed if you don’t have admin rights?  Java Web Start?  The multitude of apps on portableapps.com?  That’s not what locking down admin rights is about; it’s about protecting the computer from security threats.  Many people run without admin rights on purpose to protect their computer.  And the result is, they must log out and back in to install Adobe Air apps.  But I digress.
I looked everywhere for a solution to running Air apps without admin rights, but I’ve not found a resource anywhere on the web (though I’ve found plenty of people asking for it).  The good news is, I’ve figured it out myself, which just further proves Air doesn’t actually need admin rights.  
  1. Download a Flex SDK and unzip anywhere you want.  
  2. Download the .air file you want to run.
  3. Create a new folder anywhere.  I suggest naming this the something similar to the Air app.
  4. Unzip the .air file into the folder you just created.  The .air file is just a zip file, and is extractable with WinZip or anything similar.  If you have trouble with this step, just rename the .air file into a .zip file, and then open and extract it.
  5. This is the money step.  In the location you extracted the air, there will be a META-INF folder.  Within that will be an AIR folder.  Inside that will be an application.xml.  Move this file two levels up to be just inside the folder you created in step 3.
  6. Run the app with the adl.exe from the bin folder of the SDK you unzipped in step 1.  You do this like this:
C:\path\to\sdk\bin\adl.exe C:\path\to\extracted-air-app\application.xml
Voila.  It should run.  I tested with several apps in the wild, and it worked for me on each.  The hardest part is often finding the .air file for direct download when it’s hidden behind a Flash install badge.  Most of the time, you can just “View Source” and search for .air.  
Other times that doesn’t even cut it.  Tweetdeck’s .air url isn’t even in the HTML source, for example.  However, I did find it on their support pages.