AIR Application Sandbox Bridge Issue

I am having an issue accessing the sandbox bridge from my application core page.
The only thing I think it might be is I am using ajax for a login procedure so it might bolo it because of that.
if anyone has any ideas I could use a fresh pair of eyes,
If I strip it and create a new basic client I can get the sandbox bridge to work and launch the internet explorer , but with this client it won't
here is the code for my AIR app document
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Viper: Nuclear Edition</title>
<link rel="stylesheet" type="text/css" href="../../lib/css/viperapp-interface.css" />
<link rel="stylesheet" type="text/css" href="../../lib/css/module-headers.css" />
<link rel="stylesheet" type="text/css" href="../../lib/css/p7exp.css" />
        <script src="/AIRAliases.js"></script>
<script type="text/javascript" src="../../lib/js/scripts.js"></script>
<script type="text/javascript" src="../../lib/js/p7exp.js"></script>
        <script language="javascript">
//This code is placed in the root document header
//This function is written to run from the sandbox. It opens a url in an external browser
function processURL(){
var searchString = document.location.search;
// strip off the leading '?'
searchString = searchString.substring(1);
var nvPairs = searchString.split("&");
for (i = 0; i < nvPairs.length; i++)
var nvPair = nvPairs[i].split("=");
var name = nvPair[0];
var value = nvPair[1];
alert(searchString);
function remoteLogin(){
var searchString = document.location.search;
viperframe.location.href = 'http://devcenter.viperapp.com/cgi/login.cfm'+ searchString;
function testRemote(){
alert('this is working');
function noLogin(){
alert('Your login information was incorrect, please try again');
top.location.href="login.html";
//This code is placed in the root document header
//This function is written to run from the sandbox. It opens a url in an external browser
function openExternalURL(href) {
var request = new air.URLRequest(href);
try {
air.navigateToURL(request);
catch (e) {
alert(e);
var Exposed = new Object();
// expose the trace() function.
             Exposed.trace = function(str) {
                air.trace(str);
Exposed.openExternalURL = openExternalURL;
Exposed.testRemote = testRemote;
Exposed.noLogin = noLogin;
function doLoad() {
//Place the Exposed object on the parentSandboxBridge property of the ui frame's window object.
var frame =  document.getElementById('viperframe').contentWindow.parentSandboxBridge = Exposed;
setIframeHeight('viperframe');
remoteLogin();
// window.callMe = document.getElementById('viperFrame').contentWindow.childSandboxBridge.callMe;
//var frame = document.getElementById('viperFrame').contentWindow.parentSandboxBridge = Exposed;
</script>
</head>
<body onload="doLoad();" onresize="setIframeHeight('viperframe');" onfocus="setIframeHeight('viperframe');" bgcolor="#222222">
<!-- END P7EXP PULLDOWN MENU -->
<div id="headerToolBar">
<div id="headerToolUser">
<ul>
<li><a href="javascript:void(0);">Logged in  <strong>
                    </strong></a></li>
<li><a href="login.html" target="_parent"><strong>Log Out</strong></a></li>
<li><div id="windowTools"><a href="javascript:void(0);" onClick="parent.minimizeWindow()"><img src="../../lib/img/headertoolbar/icon_minimizewindow.png" width="18" height="18" border="0" /></a><a href="javascript:void(0);" onClick="parent.maximizeWindow()"><img src="../../lib/img/headertoolbar/icon_expandwindow.png" width="18" height="18" border="0" /></a><a href="javascript:void(0);" onClick="parent.closeWindow()"><img src="../../lib/img/headertoolbar/icon_closewindow.png" width="18" height="18" border="0" /></a><div class="clearfloat"></div></div></li>
</ul>
</div>
<div id="menuwrapper">
<ul id="p7menubar">
<!-- ADD SIDEBAR - TO COME IN LATER
<li class="topnav"><a href="javascript:void(0);" class="trigger2"><img src="../../lib/img/headertoolbar/toolbar_icon_sidebar_open.png" width="27" height="13" border="0" /></a></li>
-->
  <!-- PLANT SELECTOR - NOT FOR DELIVERABLE
<li class="topnav"><a href="javascript:void(0);" class="trigger">Plant: <strong>SNPP</strong></a>
<ul>
<li><a href="javascript:void(0);">Plant Selector</a></li>
<li><em> </em></li>
<li><a href="javascript:void(0);">SNPP</a></li>
<li><a href="javascript:void(0);">BM</a></li>
<li><a href="javascript:void(0);">SRNP</a></li>
</ul>
</li>
-->
<li class="topnav"><a href="javascript:void(0);" class="trigger">File</a>
<ul>
<li><a href="login.html" target="_blank">New Window</a></li>
<li><em> </em></li>
<li><a href="javascript:window.print();" onclick="window.print();">Print</a></li>
<li><em> </em></li>
<li><a href="login.html" target="_parent">Log Out</a></li>
<li><a href="javascript:void(0);" onClick="parent.closeWindow();">Quit VIPER</a></li>
</ul>
</li>
  <li class="topnav"><a href="http://designsupport.viperapp.com" target="_blank" class="trigger">Help</a>
  <ul>
<li><a href="login.html" target="_parent">Reset Connection</a></li>
<li><em> </em></li>
<li><a href="http://designsupport.viperapp.com/contact.cfm" target="_blank">Contact Support</a></li>
                            <li><a href="license.html" target="viperframe">View License</a></li>
</ul>
</li>
</ul>
<div class="clearfloat"></div>
</div>
</div>
<!-- END P7EXP PULLDOWN MENU -->
<iframe src="" id="viperframe" name="viperframe" frameborder="0" scrolling="no" width="100%"></iframe>
<!--<iframe name="viperFrame" id="viperFrame" src="http://devcenter.viperapp.com/VS/ui/screens/plantselections.html" frameborder="0" scrolling="no" width="100%"></iframe>-->
</body>
</html>

I have tried running another command and it still doesn't run the external URL function, just if it runs my no login command via the sandbox bridge,
and it is a simple command
here is the javascript it is running on the nologin.
function noLogin(){
alert('Your login information was incorrect, please try again');
top.location.href="login.html";
if it runs that over the sandboxbridge it works , if it doesnt then it doesnt.
Anyone have any ideas, and I missing something on my iframe  ?

Similar Messages

  • Air Application URL Path Issue

    I am trying to invoke a  content of the file which is in shared folder from Air application.
    Version : Flash builder 4.5,Flex3.6 sdk and Air 2.7.
    for this am using the below code..
    var request:URLRequest = new URLRequest();
    //request.url = ('file:///c:/params.txt'); - This is working fine
    request.url = ('file:///172.20.188.25/Share/chk/Property/params.txt');  // its not working
    trace("Unable to load URL: " + request);
    var variables:URLLoader = new URLLoader();
    variables.dataFormat = URLLoaderDataFormat.VARIABLES;
    variables.addEventListener(Event.COMPLETE, completeHandler);
    try
    variables.load(request);
    The same part of code ,I tried in Flex application is working .but in Air application its not working.
    Its urgent requirement,If any one know the way to resolve this path issues.
    Kindly let us know.
    Thanks in Advance !!

    I tried in the following URL but no use ..
    its throwing ioError and textError and stream error.
    1.file:///172.20.188.25/Share/chk/Property/params.txt
    2.http://172.20.188.25/Share/chk/Property/params.txt
    3. //172.20.188.25/Share/chk/Property/params.txt
    Is there any other solution for this issue ?

  • AIR Application Transparent Background issue

    Hi, I have a small AIR application with a transparent
    background, my problem is when I drag the application I get a
    border appearing. How can I change this behaviour so I dont show
    the application border when dragging the application across my
    desktop
    Thanks.

    Hi,
    In your application descriptor, is systemChrome set to none
    and transparent set to true?
    Even then, you are getting a border?

  • "Abobe AIR Application Installer" is damaged and can't be opened.

    I went just downloaded ADOBE AIR and when I try to use it to install one of my Apps I get the message, "Abobe AIR Application Installer" is damaged and can't be opened.
    Can someone please address this.
    Thank you,
    Dr. Alan

    Hi,
    Exactly some of our customers are experiencing with "Adobe AIR application Installer damaged" issues.
    Can someone help us here?

  • Microphone starting muted on AIR application SDK 2.5

    According to the documentation
    http://help.adobe.com/en_US/air/reference/html/flash/media/Microphone.html
    "Content running in the AIR application sandbox does not need permission to access the microphone and no dialog is displayed. AIR content running outside the application sandbox does require permission and the Privacy dialog is displayed"
    But I'm having problems starting the Microphone object, which starts muted and permissions need to be given right clicking on the flash object.
    This function returns always true before permissions is given:
    public function isMuted():Boolean {
    var mic:Microphone = Microphone.getMicrophone();
    return mic.muted;
    The swf loaded is inside the application sandbox, but it's failing also from the debugger.
    Any ideas what else to look?
    Thanks,
    Guille

    Updated note:
    This might be a possible work around...
    The limitations I mentioned in my previous email apply when including the SWF file ‘for rendering’ – i.e. when using an <object/> tag.
    In AIR a developer can include a SWF file as a script – i.e. using a script tag like so: <script src="lib/applicationupdater_ui.swf" type="application/x-shockwave-flash"></script>. When doing this, the SWF is loaded in the application sandbox and JavaScript can call AS functions as if they were JS functions.
    If the customer’s code doesn’t depend on displaying things (or the UI part is reasonably well separated from the rest of the logic), it should work without any changes. If not, it might require some changes, but still not as radical as rewriting their code to JavaScript.  A simple example of using a SWF in this way can be found at http://www.stratulat.com/blog/update-your-javascript-air-application-with-ease - it shows how to use the Application Updater library (a SWF) in a JavaScript application. This could be a starting point for the customer about how to use a SWF as a script and how it should “look like” in order to be used this way (as the framework is open-source).

  • Why is XMLRequest optional in non application sandbox?

    Hi everyone,
    what does optional mean in this box below found at
    http://labs.adobe.com/wiki/index.php/AIR:HTML_Security_FAQ#How_would_someone_code_in_this_ new_model.3F??
    Capability
    AIR Application Sandbox
    AIR Non-application
    Can    execute cross-domain requests (XMLHttpRequest)?
    Yes
    Optional
    what does optional mean?? do you have to set the non aplication sandbox up in a certain way in order to allow for XMLHttpRequests?
    Thank you all in advance
    IrishAIRMax

    Interesting question - thanks for asking it.
    -Chris

  • Font Anti-Aliasing Issues in HTML/Ajax based Air Applications

    It seems that the font-renderer in HTML/Ajax based Air Applications is using some kind of sub-pixel font renderer that is overriding and vastly inferior to the standard Windows ClearType, or any Apple based option as well.  This problem is particularly noticable with light text on a dark background, and made worse the smaller the text is.  I've put together an example image explaining exactly what I mean at: http://regator.com/fontRendering.png   (it's a large image 1126 x 1500 px)
    My example shows two fonts at four different sizes rendered in an HTML Air App vs the default Windows Cleartype, as well as using Safari to show the Font style anti-aliasing.  In all cases the HTML Air App rendering is far more difficult to read, and in many cases severely distorts the color of the text in a way that other subpixel algorithms do not.  As far as I can find after literally hours of googling and searching there's no way to override this in HTML based applications.  Is there any solution to this, or a planned fix for the renderer?  Other than this rendering issue, the HTML interface for creating Air apps is absolutely brilliant, this is just making my finished product look significantly less polished than it otherwise would if the text were more readable.
    Thanks.

    Dear caturner81, dear Adobe,
    is there a solution to this problem? I'd really love to fix the aliasing thing in Air/HTML!

  • Adobe AIR Application certificate issue - Urgent

    Hello,
    I have created my AIR application in flex 3 using AIR 1.0. I have created it with local air certificate and dispatch the air application to the client. Now after 2-3 months i have got some new features to be added into that application for same client. I have lost my original certificate using which i have created the air application installer. Now if i am creating air with new certificate then it gives me following error:
    This application cannot be installed because this installer has been mis-configured. Please contact the application author for assistance.
    Can any one have any idea for how to get certificate recreated. Here certificate is not licenced one it was local. And my application is using auto update feature. So if i change the certificate then already installed application will never get update message. ITs a deadlock situation.Help me.
    Thanks
    Dhwani

    Samsung Tab 3 features x86 architecture, did you try an Android-x86 build? (add -arch x86 to compiler flags)

  • Issue with decreasing startup time of Air Application(Please Help)

    If someone knew the answer to this it would really help me. I put a large directory into my source folder that was pulling up HTML files through a mx:html. I added a creationComplete function so a the user would fill out a registration form before they start using the application. When I run the application from Flex it runs fine but when I export the application and turn it into a .air file and install it on a computer, the application seems to be scanning the entire directory(the src folder) the application is in, including the large sub-directory housing the HTML files, before the application starts. I don't know if its the creationComplete fuction or something else, but my application did not do this before but know its doing it now. There is no need to scan the entire folder before the application starts. Does anyone know what function would be scanning the source folder before opening the application? Is it the creationComplete function? Do I have any other alternatives besides for creationComplete that will not scan the entire folder at application startup, or is there anyway to exclude a specific subdiretory (in the src folder) at startup so the a application will not scan the entire folder before opening, or should I put the creationComplete function in a separate directory.
    What i'm using:
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns="*"
        height="730" width="1257" title="Prototype" xmlns:comp="components.*"
        creationComplete="checkRegistrationWinInfo(), checkRegistrationInfo()">

    Post both these methods:
    checkRegistrationWinInfo(), checkRegistrationInfo()
    creationComplete itself does nothing with the system. It's an internal (Flex) thing.
    AFAIK, an air application doesn't "scan" anything when started.

  • Working with no application sandbox

    Hi,
    I have an online website with some features.
    I need to develop air based desktop application by accessing
    some features of my online application.
    I wenth through the available tutorials and came across non
    application sandbox feature.
    I installed Air SDK.
    I created a directory structure as follows
    airdesktop
    css
    js
    remote
    images
    application.xml
    home.html
    The css folder contains styles and images contains images and
    js folder contains js files.
    The remote folder contains
    one.html,2.html,3.html
    Home.html contains iframe
    <html>
    <head>
    <titleDesktop</title>
    <link href="css/styles.css" type="text/css"
    rel="stylesheet" />
    <script src="js/AIRAliases.js"
    type="text/javascript"></script>
    <script src="js/AIRIntrospector.js"
    type="text/javascript"></script>
    <script src="js/AIRSourceViewer.js" type="text/javascript"
    ></script>
    <script src="js/prototype.js" type="text/javascript"
    ></script>
    <script type="text/javascript">
    var bridgeInterface = {};
    bridgeInterface.testProperty = "Bridge engaged";
    bridgeInterface.isLoggedIn = false;
    function setupBridge(){
    document.getElementById("sandbox").contentWindow.parentSandboxBridge=bridgeInterface;
    bridgeInterface.navigate=function(){
    var url = "app:/remote/one.html";
    </script>
    </head>
    <body>
    <iframe id="sandbox"
    src="one.html"
    documentRoot="app:/remote"
    sandboxRoot="
    http://xyz.com"
    ondominitialize="setupBridge()" width="100%" height="100%"
    allowCrossDomaininXHR="true">
    </iframe>
    </body>
    </html>
    So home.html contains iframe whose src is one.html.
    one.html contains login related files. And in the onLoad of
    one.html i have to check whether user is logged in by checking
    parentSandbox variable isLoggedIn if loggedin i have to redirect to
    two.html if not display login screen(one.html).
    If one.html displayed and user enters email id and password i
    have to submit to my online application which is in PHP and
    validate the user and get the return if success then set isLoggedIn
    to true and redirect to two.html.
    two.html contains link to three.html and three.html contains
    link to say 4.html basically all are different forms when submitted
    i have to submit through ajax and get the result.
    I have some confusion here.
    Instead of using one.html, two.html,three.html,... can i
    directly access my online application pages using the iframe if yes
    how to my online application is in php.
    If i use the above said directory structure how to implement
    the functionality like if user is logged in how to redirect
    i can use window.document.location.href='....' but what is
    the url for the is it of type app:/.... or else
    Did anybody worked on this kinda application please guide me
    through this.
    your help will be greatly appreciated
    Thanks

    quote:
    Instead of using one.html, two.html,three.html,... can i
    directly access my online application pages using the iframe if yes
    how to my online application is in php.
    You can directly access the online application -- if the user
    is online, of course. The pages are sent by the server as HTML (you
    couldn't, of course, load the php source into the iFrame). One
    issue with your setup for this is that by setting the sandboxRoot
    attribute to the root of your website, you can't actually access
    the website. Instead of sandboxRoot="
    http://xyz.com" use sandboxRoot="
    http://xyz.com/air/" (or some
    other dummy folder name). Otherwise AIR will look for all URLs from
    xyz.com in your application's "remote" directory.
    quote:
    If i use the above said directory structure how to implement
    the functionality like if user is logged in how to redirect
    i can use window.document.location.href='....' but what is
    the url for the is it of type app:/.... or else
    Use "
    http://xyz.com/air/2.html"
    (assuming you added air to the sandboxRoot path). The part of the
    url matching the sandboxRoot attribute is replaced with the string
    in the documentRoot attribute.

  • Website image and zip file download links not working in Dreamweaver Air application

    Hi
    I have successfully created and AIR app for an existing business website using the Dreamweaver AIR Extension. The site works very well in all respects except for the part where we have high resolution images and zip files available for download. The download links refuse to do anything, and right-click (PC) / ctl-click (Mac) does nto work either.
    I suspect this may be an AIR sandbox/security issue but am I correct and what can I do to fix it?
    Thanks in advance for any assistance you may be able to give.
    Martin

    I am now facing the same problem. I wrote a servlet .
    code like this
             response = (HttpServletResponse) faces.getExternalContext().getResponse();
             response.setContentType("application/x-download");
             String agent = request.getHeader("USER-AGENT");
             boolean isIE=false;            
            if (null != agent && agent.indexOf("MSIE")!=-1) { 
                isIE=true;
            if (isIE) {
                fileName = URLEncoder.encode(fileName, "UTF-8");
            } else {
                fileName = new String(fileName.getBytes("utf-8"), "ISO-8859-1");
            response.setHeader("Content-Disposition","attachment;filename="+fileName);
            ServletOutputStream os = response.getOutputStream();
            byte b[]=new byte[1024];
            int n;
            while((n=in.read(b))!=-1){
                os.write(b,0,n);
           in.close();
           os.close();
    and i open a new window refer to above jsp ,also i set a breakPoint at os.close(),the program has passed through,but nothing happened in the window.
    If i use IE or FF ,the browser will open a small window to allow me select whether open or  save the file.So can anybody give me some advice.Is it because air using webkit engine and the engine does not do this kind of job?
            Thanks.

  • Flex Based AIR application & remote HTML

    The question is ....from a flex based AIR application do you
    always have full access to all of the HTML content loaded from a
    remote site via the DOM (htmlLoader.window.document), or is the
    'context' of what you can see limited to what the initial url
    requested can see - i.e. the context is as if it were javascript
    running in the page corresponding to the initial URL.
    As far as i can see if i request say the page
    http://www.abc.com/page1.htm
    and it has content along the lines of
    <IFRAME src="
    http://www.xyz.com/page3.htm"
    id="remoteframe" />
    <IFRAME src="
    http://www.abs.com/page2.htm"
    id="localframe" /?
    then using the htmlControl.htmlLoader.window.document i can
    successfully navigate the DOM for the initial page loaded and
    localframe, but
    not remoteframe.
    I've seen various comments about sandboxes, bridges and
    applicationdomains in the documentation but i don't see how this
    can help me.
    Can someone please shed some light on this? Can i from the
    AIR application access all of the DOM, or am i restricted to the
    initially loaded page and pages referenced from the same domain in
    the page?
    Thanks
    Jamie

    Hi,
    From your AIR application, you can only access "exposed
    properties" in remoteframe.
    You expose a property by using the sandbox bridge mechanism:
    http://livedocs.adobe.com/air/1/devappshtml/help.html?content=security_5.html#1092959

  • Accessing AIRAliases.js in my air application

    I have my air.htl as:
    <html>
    <head>
    <title>Dierbergs Web Applications</title>
    <script language="javascript" type="text/javascript"
    src="AIRAliases.js"></script>
    <script language="javascript">
    function init() {
    window.nativeWindow.addEventListener(air.Event.CLOSING,
    onClosingEvent);
    window.nativeWindow.maximize();
    function onClosingEvent(event) {
    if (!confirm("Exit Dierbergs Web Applications? Any unsaved
    changes will be lost."))
    event.preventDefault();
    </script>
    </head>
    <body onload="init()">
    <!-- Load into a frame to preserve the javascript in this
    file. -->
    <frameset rows="100%">
    <frame src="
    http://hq1svrdev001/zkintranet/index.zul">
    </frameset>
    </body>
    </html>
    And in my application I want to use the below commands:
    var urlReq = new air.URLRequest(url);
    air.navigateToURL(urlReq);
    for eg my print.zul is :
    <zk>
    <window id="winBenryPrint"
    title="Print"
    sizable="false"
    closable="true"
    mode="overlapped"
    border="normal"
    style="overflow:hidden;"
    top="5px"
    left="10px"
    width="325px"
    height="175px"
    onClose="contractEditor.btnPrnClose()">
    <vbox width="100%" height="100%" align="center">
    <vbox>
    <label value="Select Report:"/>
    <hbox>
    <button id="btnPrnPrint" label="Print!" width="75px"
    action="onclick:oncall()"/>
    </hbox>
    <textbox id="txtPrnDescription" width="275px"
    rows="5"/>
    </vbox>
    </vbox>
    <html><![CDATA[
    <script type="text/javascript">
    function oncall(){
    var url = "
    http://elsa.berkeley.edu/";
    var urlReq = new air.URLRequest(url);
    air.navigateToURL(urlReq);
    </script>
    ]]></html>
    </window>
    </zk>
    So my question is as AirAlliases.js is on my application
    level ie: After running an app this is the structure:
    --Zkintranet.exe
    --AIRAliases.js
    --zkinranet.html
    So what should be done so that in the <frame src="
    http://hq1svrdev001/zkintranet/print.zul">
    page so that I can access the shortcuts... I saw the
    http://help.adobe.com/en_US/AIR/1.1/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7f08. html
    which specifies for iframe but got confused as to how it would
    apply to my application.. So please if step by step is shown it
    would help...

    Here's an example of using the sandbox bridge in an HTML
    application:
    http://www.adobe.com/devnet/air/ajax/quickstart/sandbox_bridge.html
    In that example, content in one frame is loaded into a remote
    sandbox (the "
    http://localhost" sandbox). In
    this case, the content is loaded from a local file (in the AIR
    application directory) and mapped to the remote sanbox using the
    sandboxRoot attribute of the iframe.
    However, it sounds like you want to expose AIR functionality
    to content loaded from a remote HTTP server. To do this you use the
    AIR sandbox bridge. In your main application HTML file
    (zkinranet.html, I think), do a couple of things:
    1. Load the remote content via an iframe (or a frame). Give
    that iframe/frame an ID (such as id="remoteContent").
    2. In the JavaScript of your main application file, add
    functions to the sandbox bridge, as in:
    var Exposed = {};
    Exposed.trace = function(str) {
    air.trace(str);
    document.getElementById('remoteContent').contentWindow.parentSandboxBridge
    = Exposed;
    Now JavaScript in your remote content can call the trace()
    function, which calls the bridged AIR functionality, defined in
    step 2.
    It is a bit complicated, yes. But for security purposes,
    remotely loaded content must not have direct access to AIR APIs
    without the host application explicitly granting permission via the
    sandbox bridge.

  • Localization with an LCDS based AIR application

    Hi,
    I wanted to add localization in my app, so I followed this
    step by step how-to :
    http://labs.adobe.com/wiki/index.php/Flex_3:Feature_Introductions:_Runtime_Localization
    I succed make this to work, but with a simple test
    application.
    So I decided to do the same with a biger cairngorm LCDS based
    application.
    But a encounter an issue : with locales specified in the
    compiler params (ie:en_US,fr_FR), everything works, but with bundle
    list, I got an error :
    "Could not find resource bundle data"
    I found some related pages on the web speaking about this,
    but they all were concerning Flex betas.
    Can you help me ?
    Note : I'm using Flex 3 and LCDS 2.5.1

    I'm afraid you are picturing the architecture in the wrong
    way. An AIR application is essentially a traditional desktop
    application -- you just create them with what have traditionally
    been web-based technologies. There are also many APIs and a
    built-in security model for network and Internet interaction which
    make it easier to develop an AIR-based desktop application that can
    safely access networked content.
    Your main application SWF (or HTML file) is installed with
    the application, not downloaded. You could download additional
    modules and execute them in the privileged application sandbox, but
    there is a security risk that either your server being hacked or a
    man-in-the-middle attack could result in a forged module being
    downloaded and executed instead of the original. I believe Flex
    intends to implement signed modules to mitigate this risk, but
    until this feature is available, it is better to install all the
    application logic as part of the application. AIR includes an
    update framework for updating an installed application, but for
    user experience reasons, you probably wouldn't want to update the
    application too frequently.
    All that said, if what you really want is a customized
    browser for your web application, you could write such a thing
    using AIR (using the mx:HTML control, for example) and have that
    hardcoded to access your web application.

  • Deployment of an Adobe AIR application in an enterprise environment

    Dear Team members,
    first of all my apologies for posting this thread in more than one forum (see Installations Issues) but the argument is very important to us and I don't know where discuss it.
    I would like to post a question to you regarding deployment doubts that we are trying to address.
    My company is working on the new version of our primary application previously built as a J2EE application with some reporting functions with Flex, and we want to use AIR in order to leverage its possibilities:
    Seamless integration with existing application functionalities (implemented as standard JEE web application pages) thanks to the integrated HTML capabilities
    Improved integration of the user interface with the desktop
    Native processes to provide additional functionalities
    Our application is targeted to pharmaceutical industry, subject to FDA regulations, and it affects more than 5000 users for each customer, so we have some specific requirements affecting the deployment and distribution of the software:
    Allow to run multiple versions of the software on the same client machine (to support test and acceptance activities in addition to the production environment)
    Minimize the effort of the initial setup on each client
    Manage the version upgrades without manual activities on each client
    Keep the test/acceptance and production environments strictly aligned to improve effectiveness of formal validation (ideally, an application once validated should be transported in production without any source code modification, recompilation or repackaging)
    The current browser-based strategy is perfectly fit to these requirements, and in the shift towards a desktop-based strategy we need to continue satisfying them as much as possible. We evaluated the standard distribution strategy of Adobe AIR applications, and noticed several attention points in this scenario.
    The first issue we encountered is the back-end services endpoint discovery problem. Simply hardcoding a server URL in the packaged application could be a viable solution for public internet-accessible applications, but we need to support multiple customers in their intranet, and each one typically requires multiple environments for the application (acceptance, production, etc.). Maintaining dozens of different packages of the AIR application to support all these customer environments clearly is not the solution. Neither we want to force thousands of different users to enter and maintain the correct server location in their local preferences.
    So, we thought to use a badge hosted in the back-end application to run the local AIR application: using the underlying API, we could activate the application specifying also the network location of the back-end services. We could also rely on the badge to install the application (and the AIR runtime if necessary)… however, application packaged as native installers cannot be installed, upgraded, or launched by the badge API (and we need to package ours as native to use native processes).
    We also noticed that multiple versions of an AIR application cannot be installed side-by-side in a client machine, and that the installation and upgrade of the application can be performed only when the local user has administrative rights on the machine (using standard or native packages), forcing us to rely on external software distribution systems in some customer scenarios (introducing additional complexities in the release cycle).
    At this point, in our opinion the standard deployment strategies of Adobe AIR applications are unfit for enterprise environments. In the enterprise world, many of the applications have migrated to a completely browser-based solution, while others enhanced their client layer to comply with the requirements, for example installing only a thin portion of the client code and allowing to connect to multiple server versions/environments with it (e.g. the SAP GUI universal client). Without smarter deployment and distribution tools, AIR applications currently are a step back compared to web applications in terms of manageability.
    So, we are trying to develop a solution to address these problems, with some concepts similar to JStart: install on the client machine a launcher application capable of being activated from a web page, dynamically locate, download and run the actual client bytecode, transparently enforce client software updates, and supporting multiple applications (and multiple versions of the same application). However, we are facing many technical problems due to internal architecture of AIR and we already spent a considerable amount of effort trying to find a solution. We are now thinking to return on the choice of AIR, going back to Flex.
    What is the position of Adobe on this argument? Is Adobe aware of these issues and are there any plans on this topic? Any advice?
    Thank you in advance

    For those following along, Oliver Goldman will be answering this post in future articles on his blog.
    Many great comments and questions here. I’m working on some follow-up posts to address these; nothing I could cram into this comment field would really do your query justice. - Oliver Goldman
    Pursuit of Simplicity
    Chris

Maybe you are looking for

  • INVENTORY REPORT for customer but not consignment company owned

    HI Everyone, I am working on creating an inventory report and sending it out to a customer. We have a customer who needs to see their inventory we are going to ship. we are making materials for them on an MTS scenario based on a forecast... So the cu

  • Cannot install Photoshop CS4 on Windows Vista Business

    Ok people, looking for some help with this.  I have a new PC (less than 2 months old).  I cannot get Photoshop CS4 installed at all.  I'm sure there have been a million threads like this before asking the same question.  Although I am a newb to Photo

  • Address Book no longer works

    I have been using Lion for many months with few issues. But the Address Book application on my iMac started acting up two days ago and now will not open at all. Any ideas on the problem and more importantly, the solution.  BTW, I use iCloud extensive

  • Create Custom Status Field in Webi

    Hi everyone, I have to apply a Business Rule in my report and don't know how exactly go about it. (I'll be using Webi on top of Bex Query.) I have the filed called Material Availability Date, so based on this fields I need to create the status that w

  • Invoice no. for reversed pymnt

    HI, I would like to know how I can get invoice no. of paymnt which is reversed, i.e. returned cheque,  as I do not get the entry in kidno of BSAD/BSID/BSEG/BKPF with BLART as 'DA'. The paymnt was full payment for the invoice. I am creating a return c