What开发者_高级运维's currently best practice to prepare an AIR application for enterprise deployment and also updates?
The AIR updater framework is nice and convenient - but also requires admin rights (as far as i'm aware of) to install the updated version. So - how to prepare an AIR application such that an enterprise can easily install and update it on the employer's terminals?
a second question, somehow related: Is there any way to let the employees update the application themselves without the need of acquiring admin rights?
a third question, related to the updater: is there any way to determine whether the user has enough rights to actually install the update - and annoy him with the update dialog only if he has?
That sounds like something that the employer would have to take care of. They can deploy Adobe AIR and AIR applications using standard desktop deployment tools like Microsoft SMS or IBM Tivoli which allow silent installations.
IT administrators can do things like suppress the Adobe AIR end-user license agreement if they accept it on behalf of their organization. There are also registry settings in Windows that can prevent prevent installation of Adobe AIR apps (either signed or untrusted) and updates to Adobe AIR. On Linux, there is a configuration file located in /etc/opt/Adobe AIR/
where the changes can be made.
However, if these settings allow for installation or updates, the users will still need administrative or system privileges to perform those operations which is not something you can control from within your application. That is something that is dependent on the system policies. The people who would be able to perform the installations or distribution of the software should have administrative rights anyway.
Things you may want to consider in your application are native desktop operations such as clipboard manipulation, local file I/O, system notifications, and drag-and-drop support. Any restrictions in place on the operating system will apply to Adobe AIR applications as well. Also if you load content from outside the application, that content will observe the same rules as if it were loaded by a browser.
Depending on your situation, you also have the option of acquiring a distribution license from Adobe though it may be best to check Adobe's runtime distribution FAQ. If you just want to distribute a desktop application, then maybe this doesn't apply.
The Adobe AIR Administrator's Guide has more information on this topic. Adobe has a detailed article on their Developer Connection site about distributing AIR in the enterprise assuming that Microsoft Systems Management Server 2003, Microsoft System Center Configuration Manager 2007, or IBM Tivoli Provisioning Manager Express for Software Distribution 4.1.1 has been installed and configured.
To have Air update on itself, you only need to specify the URL where it can be located (in the update.xml file I believe). The Air app then checks the URL every time it is ran to see if there's a new version. When it comes to 'deployment', just use whatever form of software development practices your company employs (normally automated builds, continuous integration server, etc).
However, you do need admin rights to install it since it's just like any other application installation. If the user doesn't have privileges, the better way to install it would be to include it in the normal windows setup script when the user starts their computer or the admin can force at any time on the client machine (like any large company does already). I believe this is more the approach you'd want to have in a large company; have a script run on startup and every night (when the user is not around) which checks if something needs to be installed or updated.
精彩评论