URL for Redirecting to a Desktop AIR Application

Hi,
I'm developing a Flex Project that runs on ADOBE AIR. This
project contains two Flex desktop applications that runs in ADOBE
AIR.Now i need to redirect to one Flex desktop application from
another Flex desktop application.Can anyone please tell me how the
URL should look like in the new UrlRequest( ). Thanks in advance
for any help....................

You can launch an AIR application from the browser if a few
requirements are met.
*Use must have the application already installed.
*The application must have "allowBrowserInvocation" set to
true in the application descriptor.
*Must have AIR installed
*Application must be launched by some sort of user
interaction, ie, a mouse click (can't be launch
automatically)

Similar Messages

  • Can HTML based browsers rotate along with a Desktop AIR application if browser is modular?

    I get a buged out browser module in my Desktop AIR application after doing an application level rotation/orientation-change/flip screen for viewing on other side of monitor .
    Most of the HTML content rotates 180 degrees without any issue, but, it seems some of the "components" aren't getting with the program.
    Dropdown box lists don't rotate, even though the button to initate use of the dropdown list does. So, when viewing the application from the new orientation,
    the dropdown lists are upside down from an end user perspective ( just never rotated properly from a developer perspective )
    I was having to flip my application by sending out a message to a service and recieving the call from a WCF to tell the whole OS to flip via WIN32 API but
    64bit operating systems do this a lot slower, so i'm trying to find a new solution.
    I am wondering if a workaround can be done by replacing the misbehaving things like the dropdown box with native flex components?
    Any thoughts/ideas/conclusions?

    Did you try ...
    location.href = url

  • Desktop AIR Application installs fine on Mac... crashes on PC

    Hey guys,
    I ran into an issue that has be pulling my hair out. I have a very simple AIR application that was built with Flash CS6 on a Mac. The published app installs and runs perfectly on my Mac. Installation goes just fine on a PC, but the app will not launch! The window starts to come up and immediately crashes. I just finished making a desktop app in the last version of AIR and it ran perfect on PC.
    Has anyone else experienced this issue? So much fun using a Mac when most clients use PC lol!

    It's actually quite a tiny app. Tiny enough that I'm just coding in Flash CS6 in the first frame noob style LOL. I published another AIR app like this recently and it worked just fine on PC.
    Here is literally all of the code that runs the app. I am using the File class to access the desktop directory for some files, but my understanding is that it should access the desktop the same on PC and Mac.
    Thanks for the time and help... I could have a friend publish on a PC, but it would be much more convenient if I could get it to work correctly .
    import flash.display.MovieClip;
    import flash.display.SimpleButton;
    import flash.events.MouseEvent;
    import flash.filesystem.File;
    import flash.display.Loader;
    import flash.ui.MouseCursor;
    // START VARIABLE DECLARATION
    var XMLDirectory:File = File.desktopDirectory;
    XMLDirectory = XMLDirectory.resolvePath("missing_person/results.xml");
    var myXML:XML;
    var imageDirectory:File = File.desktopDirectory;
    imageDirectory = imageDirectory.resolvePath("missing_person/images/");
    var screen_saver:MovieClip;
    var part1_mc:MovieClip;
    var part2_mc:MovieClip;
    var rightBtn:SimpleButton = part2_mc.right_btn;
    var leftBtn:SimpleButton = part2_mc.left_btn;
    var heightOpt:MovieClip = part1_mc.height_options_mc;
    var heightBtn:SimpleButton = part1_mc.height_btn;
    var genderOpt:MovieClip = part1_mc.gender_options_mc;
    var genderBtn:SimpleButton = part1_mc.gender_btn;
    var ageOpt:MovieClip = part1_mc.age_options_mc;
    var ageBtn:SimpleButton = part1_mc.age_btn;
    var searchBtn:SimpleButton = part1_mc.search_btn;
    var resetBtn:SimpleButton = header_mc.restart_btn;
    var searchingDB:MovieClip = part1_mc.searching_mc;
    var startArray:Array = [[],[]];
    var ageStr:String = "";
    var heightStr:String = "";
    var genderStr:String = "";
    // KEEPS OVER STATES FOR BUTTONS
    var heightState = heightBtn.upState;
    var genderState = genderBtn.upState;
    var ageState = ageBtn.upState;
    var searchState = searchBtn.upState;
    // LOAD AND PARSE XML
    var myLoader:URLLoader = new URLLoader();
    myLoader.load(new URLRequest(XMLDirectory.url));
    myLoader.addEventListener(Event.COMPLETE, processXML);
    function processXML(e:Event):void
        myXML = new XML(e.target.data);
        for (var i:int = 0; i < myXML.result.length(); i++)
            startArray[i] = [(imageDirectory.url + "/" + myXML.result[i].image), myXML.result[i].name, myXML.result[i].age, myXML.result[i].gender, myXML.result[i].height, myXML.result[i].description, myXML.result[i].features];
            trace(startArray[i][0]);
    //CODE FOR BUTTON RESET
    resetBtn.addEventListener(MouseEvent.MOUSE_DOWN, resetAll);
    function resetAll(event:MouseEvent):void
        enableButtons();
        heightOpt.visible = false;
        genderOpt.visible = false;
        ageOpt.visible = false;
        searchingDB.visible = false;
        part1_mc.height_txt.text = "";
        part1_mc.gender_txt.text = "";
        part1_mc.age_txt.text = "";
        part2_mc.visible = false;
        part2_mc.removeChild(resultContainer);
    //BEGIN INITIALIZATION ;
    function init():void
            part1_mc.height_txt.text = "";
        part1_mc.gender_txt.text = "";
        part1_mc.age_txt.text = "";
        part1_mc.visible = false;
        part2_mc.visible = false;
        screen_saver.visible = true;
        heightOpt.visible = false;
        genderOpt.visible = false;
        ageOpt.visible = false;
        searchingDB.visible = false;
    init();
    heightBtn.addEventListener(MouseEvent.MOUSE_DOWN, showHeights);
    genderBtn.addEventListener(MouseEvent.MOUSE_DOWN, showGenders);
    ageBtn.addEventListener(MouseEvent.MOUSE_DOWN, showAges);
    function showHeights(event:MouseEvent):void
        heightOpt.visible = true;
        disableButtons();
        //ADD EVENT LISTENERS FOR HEIGHT OPTIONS
        heightOpt.opt_1.addEventListener(MouseEvent.MOUSE_DOWN, setHeight1);
        heightOpt.opt_2.addEventListener(MouseEvent.MOUSE_DOWN, setHeight2);
        heightOpt.opt_3.addEventListener(MouseEvent.MOUSE_DOWN, setHeight3);
        heightOpt.opt_4.addEventListener(MouseEvent.MOUSE_DOWN, setHeight4);
        heightOpt.opt_5.addEventListener(MouseEvent.MOUSE_DOWN, setHeight5);
        heightOpt.opt_6.addEventListener(MouseEvent.MOUSE_DOWN, setHeight6);
    function showGenders(event:MouseEvent):void
        genderOpt.visible = true;
        disableButtons();
        //ADD EVENT LISTENERS FOR HEIGHT OPTIONS
        genderOpt.opt_1.addEventListener(MouseEvent.MOUSE_DOWN, setGender1);
        genderOpt.opt_2.addEventListener(MouseEvent.MOUSE_DOWN, setGender2);
        genderOpt.opt_3.addEventListener(MouseEvent.MOUSE_DOWN, setGender3);
    function showAges(event:MouseEvent):void
        ageOpt.visible = true;
        disableButtons();
        //ADD EVENT LISTENERS FOR HEIGHT OPTIONS
        ageOpt.opt_1.addEventListener(MouseEvent.MOUSE_DOWN, setAge1);
        ageOpt.opt_2.addEventListener(MouseEvent.MOUSE_DOWN, setAge2);
        ageOpt.opt_3.addEventListener(MouseEvent.MOUSE_DOWN, setAge3);
        ageOpt.opt_4.addEventListener(MouseEvent.MOUSE_DOWN, setAge4);
        ageOpt.opt_5.addEventListener(MouseEvent.MOUSE_DOWN, setAge5);
        ageOpt.opt_6.addEventListener(MouseEvent.MOUSE_DOWN, setAge6);
    function disableButtons():void
        heightBtn.upState = heightBtn.downState;
        heightBtn.enabled = false;
        genderBtn.upState = genderBtn.downState;
        genderBtn.enabled = false;
        ageBtn.upState = ageBtn.downState;
        ageBtn.enabled = false;
        searchBtn.upState = searchBtn.downState;
        searchBtn.enabled = false;
    function enableButtons():void
        heightBtn.upState = heightState;
        heightBtn.overState = heightState;
        heightBtn.hitTestState = heightState;
        heightBtn.enabled = true;
        genderBtn.upState = genderState;
        genderBtn.overState = genderState;
        genderBtn.hitTestState = genderState;
        genderBtn.enabled = true;
        ageBtn.upState = ageState;
        ageBtn.overState = ageState;
        ageBtn.hitTestState = ageState;
        ageBtn.enabled = true;
        searchBtn.upState = searchState;
        searchBtn.overState = searchState;
        searchBtn.hitTestState = searchState;
        searchBtn.enabled = true;
    //ASSORTED FUNCTIONS TO SET THE TEXT FOR THE HEIGHT OPTION
    function setHeight1(event:MouseEvent)
        part1_mc.height_txt.text = "135-145cm";
        enableButtons();
        heightOpt.visible = false;
    function setHeight2(event:MouseEvent)
        part1_mc.height_txt.text = "145-155cm";
        enableButtons();
        heightOpt.visible = false;
    function setHeight3(event:MouseEvent)
        part1_mc.height_txt.text = "155-165cm";
        enableButtons();
        heightOpt.visible = false;
    function setHeight4(event:MouseEvent)
        part1_mc.height_txt.text = "165-175cm";
        enableButtons();
        heightOpt.visible = false;
    function setHeight5(event:MouseEvent)
        part1_mc.height_txt.text = "175-185cm";
        enableButtons();
        heightOpt.visible = false;
    function setHeight6(event:MouseEvent)
        part1_mc.height_txt.text = "Unknown";
        enableButtons();
        heightOpt.visible = false;
    function setGender1(event:MouseEvent)
        part1_mc.gender_txt.text = "Male";
        enableButtons();
        genderOpt.visible = false;
    function setGender2(event:MouseEvent)
        part1_mc.gender_txt.text = "Female";
        enableButtons();
        genderOpt.visible = false;
    function setGender3(event:MouseEvent)
        part1_mc.gender_txt.text = "Unknown";
        enableButtons();
        genderOpt.visible = false;
    function setAge1(event:MouseEvent)
        part1_mc.age_txt.text = "20-30 years old";
        enableButtons();
        ageOpt.visible = false;
    function setAge2(event:MouseEvent)
        part1_mc.age_txt.text = "31-40 years old";
        enableButtons();
        ageOpt.visible = false;
    function setAge3(event:MouseEvent)
        part1_mc.age_txt.text = "41-50 years old";
        enableButtons();
        ageOpt.visible = false;
    function setAge4(event:MouseEvent)
        part1_mc.age_txt.text = "51-60 years old";
        enableButtons();
        ageOpt.visible = false;
    function setAge5(event:MouseEvent)
        part1_mc.age_txt.text = "71-80 years old";
        enableButtons();
        ageOpt.visible = false;
    function setAge6(event:MouseEvent)
        part1_mc.age_txt.text = "Unknown";
        enableButtons();
        ageOpt.visible = false;
    screen_saver.addEventListener(MouseEvent.CLICK, hideScreenSaver);
    function hideScreenSaver(event:MouseEvent):void
        screen_saver.visible = false;
        part1_mc.visible = true;
    //START EXECUTING SEARCH
    searchBtn.addEventListener(MouseEvent.MOUSE_DOWN, startSearch);
    var resultContainer:MovieClip;
    var resultCount:int = 0;
    var position:int = 1;
    function startSearch(event:MouseEvent):void
        resultContainer = new MovieClip;
        part2_mc.addChild(resultContainer);
        disableButtons();
        ageStr = part1_mc.age_txt.text;
        heightStr = part1_mc.height_txt.text;
        genderStr = part1_mc.gender_txt.text;
        searchingDB.visible = true;
        part2_mc.visible = true;
        rightBtn.visible = false;
        leftBtn.visible = false;
        createResults();
    rightBtn.addEventListener(MouseEvent.MOUSE_UP, moveRight);
    leftBtn.addEventListener(MouseEvent.MOUSE_UP, moveLeft);
    function moveRight(event:MouseEvent):void
        if (position < Math.ceil(resultCount/3))
            resultContainer.x = resultContainer.x - 1680;
            position++;
        else
        checkRight();
    function moveLeft(event:MouseEvent):void
        if (position > 1)
            resultContainer.x = resultContainer.x + 1680;
            position--;
        else
        checkLeft();
    function checkRight():void
        if (position < Math.ceil(resultCount/3))
        else
            rightBtn.visible = false;
            if (position > 1)
                leftBtn.visible = true;
    function checkLeft():void
        if (position > 1)
        else
            leftBtn.visible = false;
            if (position < Math.ceil(resultCount/3))
                rightBtn.visible = true;
    function createResults():void
        var resultY = 250;
        var startX = 175;
        resultCount = 0;
        trace(ageStr.substr(0,2), ageStr.substr(3,2));
        trace(startArray[i][2]);
        for (var i:int=0; i < startArray.length; i++)
            if ((parseInt(startArray[i][2]) >= parseInt(ageStr.substr(0,2)) && parseInt(startArray[i][2]) <= parseInt(ageStr.substr(3,2))) || ageStr == "" || ageStr == "Unknown")
                if ((startArray[i][4] >= heightStr.substr(0,3) && startArray[i][4] <= heightStr.substr(4,3)) || heightStr == "" || heightStr == "Unknown")
                    if (genderStr == "" || genderStr == startArray[i][3] || genderStr == "Unknown")
                        var resultItem = new result_item();
                        resultItem.name = "r_" + i;
                        resultItem.name_txt.text = startArray[i][1];
                        resultItem.gender_txt.text = "Gender: " + startArray[i][3];
                        resultItem.height_txt.text = "Height: " + startArray[i][4] + "cm";
                        resultItem.age_txt.text = "Age: " + startArray[i][2];
                        resultItem.description_txt.text = "                                " + startArray[i][5];
                        resultItem.features_txt.y = (resultItem.description_txt.y + resultItem.description_txt.height) + 20;
                        resultItem.features_txt.text = "Distinguishing Features: " + startArray[i][6];
                        var l=new Loader();
                        l.x = l.y = 0;
                        l.load(new URLRequest(startArray[i][0]));
                        resultItem.image_holder.addChild(l);
                        resultItem.y = resultY;
                        resultItem.x = startX;
                        if ((resultCount+1)%3 == 0)
                            startX = startX + 780;
                        else
                            startX = startX + 450;
                        resultContainer.addChild(resultItem);
                        resultCount++;
                        if (resultCount > 3)
                            rightBtn.visible = true;

  • Using a variable to insert into a URL for redirecting clients

    I got a good one, can anyone help on this?
    Using RoboHelp Version 8.02.208.
    My company uses MicroStrategy to deploy several web-based data analysis products.
    Each of these data products (there are 5) are deployed on different servers.
    I have set up a single source WebHelp project and use build tags for product specific help output.
    (I also have to modify the Start Page, TOC and Default Topic settings prior to generating each product help)
    Everything on this works fine and is not a problem.
    We have just implemented an Excel add-in for one of the products.
    That add-in uses a locally installed CHM file for its help.
    In order to provide customized help that can be updated without forcing the clients to reinstall the CHM help file locally, the source for the CHM file has one dummy topic. In that topic, I have used HTML code to redirect the client to the WebHelp for the product and have integrated the Excel add-in help to that product’s customized help. The result is that the CHM file is opened locally in the HTML help viewer. Inside the HTML help viewer window, I open the WebHelp.
    The redirect HARD CODES the URL with the product specific server name and Start Page help topic.
    That works fine and is not a problem for ONE PRODUCT.
    We are in the process of adding this Excel add-in to other products.
    Now here is where I cannot get this to work with my implementation.
    The URL for each product is different and to make matters worse, the Start Page is different for each product as well.
    So, I am working on options for implementation of multiple products and here is my question:
    (1)    The following is an example of the redirect in the single topic of the CHM file:
    <meta http-equiv="refresh" content="0;URL=https://server.com/ProductName/WebHelp/StartPage.htm#mergedProjects/ExcelPlugIn/ Overview.htm" />
    (2)    The red portion of the URL above will need to be modified to support each individual product with a custom server, product name and start page HTM file name.
    Is there a way to:
    (1)    Add a variable in this HTML code
    (2)    Once the product is identified, update the variable with the product specific URL content
    (3)    Integrate the variable into the target URL of the HTML code that does the redirect
    I think this is either not possible or more work than needed. My other option is to provide standalone Excel add-in help on a server and just have the Excel plug-in go to that (right now it is integrated into the product specific help and the client has access to the plug-in help AND the application help all at the same place).
    Thanks to all in advance for any help/suggestions.
    Michael F Weart
    [email protected]

    Thanks for the feedback - here is more informtion on the challenges of this implementation:
    I can only distribute one CHM file to cover all 5 web-based products that can be accessed through the Excel plug-in.
    Regardless of which of our 5 products is used to install the plug-in on the client's local hard drive, the same installer is used.
    That one CHM file is installed locally on the client's hard drive.
    (The out of the box CHM file for the plug-in only has general plug-in help content the locl install causes problems for updating the content).
    We needed to be able to easily update the help without inconveniencing the clients.
    So, I am not creating 5 different CHM files for each installer, since there is only one installer regardless of how many of the 5 products they have.
    The plug-in has a server setting and web service setting for each product and the client must choose which they are accessing when they fire up the plug-in.
    They may be accessing the plug-in for any of our 5 web-based products they have subscriptions for.
    Which means, the one CHM file must be able to:
    (1) determine the product they are accessing
    (2) direct to one of the 5 servers with the online help.
    Each of the 5 online helps are deployed on separate servers with different URL links (and the helps have all different URL links as well).
    These online webhelp outputs have some identical content but also some customized content for the specific product they are actually accessing.
    My original approach was pretty much the same as William's above. Have a variable in the CHM help, determine the server they are accessing from the plug-in and insert the customized portion of the URL to access the appropriate webhelp.
    Keep the ideas/suggestions coming.
    I also have a development person looking into how to update a variable on the CHM side to populate the URL.
    Michael F Weart
    [email protected]

  • Using project libraries for both web-based and AIR applications

    I need to develop substantial code to build both web-based and AIR applications.  Yes, they will have different features, especially when it comes to accessing files on the local file system.
    However, 98% of the code can be shared.
    I want to use a project library that can be used for both types of applications. Maybe using conditional compile when required to not use AIR API's in a web-based application.
    I found this (somewhat old) warning:
    Include Adobe AIR libraries Select this option if your library must use AIR features, such as access to the AIR APIs. Flex Builder then changes the library path of this new Flex Library project so that it includes airglobal.swc and airframework.swc. Web-based Flex projects cannot use this library.
    Do not select this option if you are writing a generic library intended to be used only in a web-based Flex application, or in either a web-based or AIR-based application.
    Does this apply to Flash Builder 4.5?

    I have found a workaround, but it's quite clumsy, involving a transfer vector (in old-fashioned terms) in the main application for each function in the AIR library.
    I have created a library for AIR classes only (fourdtext.fileOperations is there). 
    The AIR application provides "Function" values that any other code in the general-purpose libraries can use.
    It works, but it's nasty.
    In Main.mxml:
    import com.fourdtext.fileOperations.AxFiles;
    // this gets a list of native path strings, from and array of "File" objects
    public var AxGetListFunction:Function = AxGetListRedirect;
    private function AxGetListRedirect(list:Array):Vector.<String>{
        return AxFiles.AxGetList(list);
    In general-purpose code:
    var list:Array = event.dragSource.dataForFormat("air:file list") as Array;
    var AxGetList:Function = FlexGlobals.topLevelApplication.AxGetListFunction;
    listFiles = AxGetList(list);

  • How to find url for a view of a bsp application in program?

    hello all,
    I am devloping e-rec and am having a reqmnt, i want to knw how can i find a url for view view1 which is in bsp application zbsp.
    thanks,
    Reena

    Hi,
    views can not be called direct, only controllers. Because of that, views have no URL.
    You can call a controller or a page. You find the URL of the controller if you display the data of the controller.
    The URL of the page you find if you display the property tab of the page.
    Best regards
    Renald

  • What are the System Requirements for Web Server hosting Adobe Air application

    Working on a project that is using Adobe Air . The Adobe support site has system requirements for the client side application, but for the server side, what are the system requirements?
    Using a Windows server, would expect to have approx. 100 concurrent connections at any given time.

    Adobe AIR applications are installed on the end user's computer. They are not hosted on a web server. You can deploy an AIR file, which is the installer file for an AIR application, via your web server.

  • Protect a desktop air application

    HI
    I currently use Zinc to wrap my swf and then add softlocker copy protection to that
    it all works ok.
    I would prefer to use an air application but need to know if is there is a way
    to prevent users just copying it onto other computers.
    cheers
    KBN

    The method I use will allow you encrpyt most of your source code using a key that is unique to every computer.
    The initial download of my software is a simple air app that does not contain the actual program. It is more like a shell that first retreaves a list of the clients mac addresses and the user entered activation code that is created at time of purchase. This is sent to server and logged.  The activation code is saved to a file client side.  At the server the mac address and activation key are used to create the encryption key.  The bulk of the program code is then encrypted using that key, then divided into parts and sent back to the client.
    The client puts the parts back together and saves the encrypted file.
    At runtime the shell finds the mac address list and the activation key, then using same method as server gets the encryption key and decrypts the program file. Run simple check to make sure it loaded. For encyption i found an aes method that works in php and javascript.
    Next I use this code to load the program
    var loader = air.HTMLLoader.createRootWindow(true, options, true, windowBounds);
    loader.cacheResponse=false;
    loader.placeLoadStringContentInApplicationSandbox=true;
    loader.loadString(page);
    This method makes it very difficult to copy to another computer although since I wrote it i know there are some weeknesses in the security but to make it harder i obv. the shell code. It at least keeps most from pirating.
    However there are issues with this that I have found.
    First i was using networkInfo to get the list of mac address but this failed in a test windows XP computer.  When the wireless was off it did not return the MAC.  I was not able to recreate this in VISTA or 7.  Not sure if it could happen.  Was not tested on a mac computer.  To fix this (at least for windows).  I wrote a simple bat file that gets the MAC list, then converted it to an exe which is included.  This does force you to create native installers.  call the exe with this
    var nativeProcessStartupInfo = new air.NativeProcessStartupInfo();
    var file = air.File.applicationDirectory.resolvePath("findmac.exe");
    nativeProcessStartupInfo.executable = file;
    process = new air.NativeProcess();
    process.start(nativeProcessStartupInfo);
    process.addEventListener(air.ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
    process.addEventListener(air.ProgressEvent.STANDARD_ERROR_DATA, onErrorData);
    process.addEventListener(air.NativeProcessExitEvent.EXIT, onExit);
    process.addEventListener(air.IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onIOError);
    process.addEventListener(air.IOErrorEvent.STANDARD_ERROR_IO_ERROR, onIOError);
    put the list  together in the onOutputData event using array.push
    and continue on the onExit event
    using the findmac.exe will return the same info every time (that i know of)
    beware thought that using the native install will break the standard application update process so you will have to write your own.  my updates are processed the same way as above.
    This is contents of the .bat file to get the mac list
    @Echo off
    SETLOCAL
    SET MAC=
    SET Media=Connected
    FOR /F "Tokens=1-2 Delims=:" %%a in ('ipconfig /all^| FIND "Physical Address"') do @echo %%b
    ENDLOCAL
    using this method makes it simple to implement at try before you by method.  at runtime if no activation code get try me version from server instead of full version.

  • [AIR + AS3] How to restart native desktop AIR application?

    Hello,
    I develop AS3+Air application on desktop. I have problem with restart feature. Is it possible to do it without making externall app which only load a main swf file?
    I found only one code solution.
        var mgr:ProductManager = new ProductManager("airappinstaller");
                                  SmartLogManager.info(NativeApplication.nativeApplication.applicationID);
                                  SmartLogManager.info(NativeApplication.nativeApplication.publisherID);
                      mgr.launch(NativeApplication.nativeApplication.applicationID + " " + NativeApplication.nativeApplication.publisherID);
                                  NativeApplication.nativeApplication.exit();
    but this only close app, no restart.

    document.location.href='';//resets the program
    It seems to be the only quick solution to restart the program.
    It comes with one major downside though.... It can cause memory leaks each time you call that function.

  • Change desktop air application installer icon

    Hi,
    Im making an application in flashbuilder 4.6, and im exporting it to air desktop. The installer has the default icon, i tried putting the icon for all sizes in the descriptor file, without success:
    <icon>
            <image16x16>assets/16x16-FF.png</image16x16>
            <image32x32>assets/32x32-FF.png</image32x32>
            <image36x36>assets/36x36-FF.png</image36x36>
            <image48x48>assets/48x48-FF.png</image48x48>
            <image57x57>assets/57x57-FF.png</image57x57>
            <image72x72>assets/72x72-FF.png</image72x72>
            <image114x114>assets/114x114-FF.png</image114x114>
            <image128x128>assets/128x128-FF.png</image128x128>
        </icon>
    Any help will be appreciated, thanks

    I had tried the same in my applications.But it didnt work. So I have moved the png files into src folder and given the path in following manner.
    <icon>
            <image16x16>16x16-FF.png</image16x16>
            <image128x128>128x128-FF.png</image128x128>
        </icon>
    Since the app-descriptor file and other application level files are present at application level(src), so I have put the related icons over there and other images in assets folder.You may try this.

  • Escape special characters in url for redirection

    In my web page, I want all the characters of the URL to be lower case. For that I created the following method:
    private bool UrlFormatoCorrecto(string url)
    bool formatoCorrecto = true;
    bool upperCa = url.Any(c => char.IsUpper(c));
    if (url.Any(c => char.IsUpper(c)))
    formatoCorrecto = false;
    if (url.Contains(" ") || url.Contains("+"))
    formatoCorrecto = false;
    return formatoCorrecto;
    This works like a charm until a special character appears. The url that I get then will be the following:
    http://localhost/web/coches/proven%C3%A7a-aribau,-08036-barcelona,-barcelona
    So I have upper case characters. When I redirect it using the following code:
    if (!UrlFormatoCorrecto(urlActual))
    Response.RedirectPermanent(urlActual.Replace(" ", "-").Replace("+", "-").ToLower());
    I get the code again with the same URL with upper case. How can I escape the special characters so they won't bother me anytime I want to make the redirection?

    hello,
    you could escape special caracters with :
    Regex.Escape Method
    Regards
    Cédric

  • Ampersands in URLs for redirect

    I ran my website address through the W3C Markup Validation process and got errors stating that url variables such as http://www.test.com?var1=one&var2=two is incorrect. You are supposed to use the & instead of the & symbol. This works great for all of my HTML links however it doesn't work for JSP response.sendredirect("") so I still get a few W3C errors. The only way I can get the response.sendredirect("") to work is by using the & symbol.
    Thank you for any suggestions

    You don't need to change it in the sendRedirect() method. It is part of serverside code and I really don't see how the W3C validator sees serverside code.

  • Reg:Customizing titlebar of a window in desktop air applications

    I am trying to develop a custom component that has to be embeded into the title bar just beside the maximize, minimize, restore buttons on to the top right hand side in a window (air). Could any one help me out how to approach....
    I tried using skins but couldn't succeed.
    thanks,
    Sukumar.

    Hi
    I figured it out. Just in case if anyone is looking for the solution...just create a window skin, and in that add a titlebar and use a custom skin for that title bar to customize it.
    Regards,
    Sukumar.

  • CS4 or FLEX Builder for AIR Application?

    Hello,
    I have installed CS4 and Flex builder 3. I would like to develop some desktop applications, which is the best editor to develop AIR application?
    Thank you

    I faced a similar choice recently: Flash or Flex for developing CS4 panels.
    John Nack advised me to use Flex Builder. He was right. For a desktop AIR application or something like CS4 panels, the Flex Builder IDE is more powerful and helpful. If you're a developer familiar with other programming tool IDEs, like Microsoft Visual Studio, various Java IDEs, etc. then you will find the Flx Builder IDE to be more intuitive.
    Flash is a good choice for developing animated SWF panels that are driving things like Flash movies. If you use Flash, you'll have to deal with the Timeline. With Flex Builder, you don't.
    They both provide access to Action Script. But they expose functionality differently. Also, Flex Builder provides some data visualization tools, etc. that are not part of Flash.
    Mitch

  • AIR application with Flex 4.5 will not render content. What gives?

    OK,
    So I've upgraded to Flash Builder 4.5 Premium and I am unable to develop desktop AIR applications with the 4.5 Flex SDK. I start by simply creating a brand new AIR application using the default SDK (Flex 4.5). I set the title property on WindowedApplication and include a simple Label component. The project compiles fine but when I run the application all I see is the adl window in the dock but that's it. If I modify the Main-app.xml file to set the visible attribute to true, I will get a small window but there is no content although the output window shows the application swf being loaded. Checking the release version of the Main-app.xml file shows the correct path location to the swf.
    Here is what I've tried so far:
    Install/reinstall Flash Builder, 4+ times
    Downloaded the trial installation twice
    Downloaded the SDK's for 3.6, 4.1 and 4.5.0. I then copied each SDK folder and merged the AIR 2.6 SDK with each copy. So now I have 6 SDK versions; one pristine and the other with the AIR 2.6 SDK merged. I then added each SDK individually and created an AIR desktop application for each. Each and every one works fine with the exception of the two 4.5 SDK's. They will not render content.
    I created a simple creation complete handler for the application that declares a simple variable and assigns a value to it. I then put a break point on the assignment and it never gets caught. More evidence that the swf isn't getting loaded.
    The computer I'm running on is a Mac Book Pro with Snow Leopard 10.6.7. If I create a web project in each of the 6 SDK's, those will work just fine. What the heck is it with Flex 4.5 and the AIR 2.6 SDK on this machine? I have the AIR 2.6 runtime installed as well as a number of AIR applications that work just fine. I also tried my 4.5 test on my windows machine and that worked like a champ.
    I am completely out of ideas. Finding information has been difficult because everyone is all about mobile so searching for desktop issues is a losing battle. I realize this is a long email but I'm desperate for help. There must be someone out there that knows more about the low level interaction between Flex 4.5/AIR 2.6 and the OS.

    Well, I finally found the issue, a corrupted mm.cfg file in /Library/Application Support/Macromedia. I deleted the file and then adl ran just fine.

Maybe you are looking for