Ask a questionAsk a question
 

AnswerIs my old XBAP cached somewhere?

  • Sunday, November 12, 2006 1:24 PMJonas Beckeman Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Since running from VS doesn't work, I'm launching the XBAP directly from the bin folder manually. This works *the first time* I run the XBAP, but if I change something in the solution and recompile, I still see the old XPAB in the browser.

    I've tried Clean and Rebuild the solution, and I've emptied IE's cache, but it's still the original file that is run.

    What to do? TIA

Answers

  • Monday, November 13, 2006 12:18 AMLesterLobo - MSFTModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    use mage -cc from the sdk tools to clear the cache
  • Monday, November 13, 2006 6:46 AMAshish Shetty - MSFTModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    Jonas, can you clarify why running the XBAP from VS "does not work". I'm not aware of a known issue and this would be a pretty serious bug.

    Scott, when you debug an XBAP within VS, the deployment mechanism does not use ClickOnce. Consequently, the app is not inducted to the ClickOnce application store. This has various benefits, not the least of which is the fact that you do not have to increment the version number of the application in order to "update" the store.

    Mage -cc clears the application store of all online ClickOnce-deployed apps.

    In contrast, when an XBAP is launched by direct navigation (via the browser) or by shell activation (double clicking), the app is ClickOnce-deployed. It is therefore inducted to the application store, if the same version from the same location (I'm hand-waving over the details for which you can refer to the Deployment section of the SDK) isn't already present in the application store. If the latter is true, the copy of the app from the store is launched and no download/induction is required. As with other content on the web, when the application is updated on the server (i.e. the ApplicationVersion is incremented), the most recent bits will be downloaded/inducted and launched.

    I hope this clarifies things.

All Replies

  • Monday, November 13, 2006 12:18 AMLesterLobo - MSFTModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    use mage -cc from the sdk tools to clear the cache
  • Monday, November 13, 2006 2:27 AMScott Cable Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    I had the same problem and ended up creating new projects for each change to prove to myself that I was on the right track. So thanks for the tip but could you also expand on it a little to let us know what is going on in the background re-caching of the xbap.

    Thanks
    Scott

  • Monday, November 13, 2006 6:46 AMAshish Shetty - MSFTModeratorUsers MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer

    Jonas, can you clarify why running the XBAP from VS "does not work". I'm not aware of a known issue and this would be a pretty serious bug.

    Scott, when you debug an XBAP within VS, the deployment mechanism does not use ClickOnce. Consequently, the app is not inducted to the ClickOnce application store. This has various benefits, not the least of which is the fact that you do not have to increment the version number of the application in order to "update" the store.

    Mage -cc clears the application store of all online ClickOnce-deployed apps.

    In contrast, when an XBAP is launched by direct navigation (via the browser) or by shell activation (double clicking), the app is ClickOnce-deployed. It is therefore inducted to the application store, if the same version from the same location (I'm hand-waving over the details for which you can refer to the Deployment section of the SDK) isn't already present in the application store. If the latter is true, the copy of the app from the store is launched and no download/induction is required. As with other content on the web, when the application is updated on the server (i.e. the ApplicationVersion is incremented), the most recent bits will be downloaded/inducted and launched.

    I hope this clarifies things.

  • Monday, November 13, 2006 7:55 AMJonas Beckeman Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    OK, will read up on ClickOnce.

    Anyway, not a big problem now since I got VS to launch IE for running (see separate thread).

    (OT: this forum text editor is *not* very good. May I suggest teleriks radeditor, or just... anyone but this. And oh, "alert me" doesn't work. Thanks.)

  • Monday, November 13, 2006 2:03 PMEsp_99 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    I can't load xbaps inside VS too... Somethimes it works, sometimes not. Often I get message that my compiled xbap-file not found - but I navigate through folders and it is there. I launch it manually. Sometimes I get another errors. But I can tell that launching xbaps from VS succed 1 from 10 times but it is ok when I do it manually (no errors)

    I use VS 2005 Pro, Net 3.0 SDK (build 6000) and November CTP of "Orcas", IIS not installed, IE7, XP SP2 Home

  • Monday, December 04, 2006 3:40 PMKallex Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hi Ashish!

    I just started developing XBAP on Vista Ultimate 64 RTM with proper VS 2005 .NET 3.0 expansions added in.

    Creating the normal "XAML Browser Application (WPF)" with its normal default options (so just go coding and hit F5 to debug) it indeed behaves as the application was cached in the store.

    No rebuilds whatsoever update the application, until the command mage.exe -cc is issued.

    On first run I get the "downloading" message, whereas on subsequent calls I don't get the message anymore (until I use mage.exe -cc).

     

    If I understood your post correctly, this is not the behaviour VS debugging should cause.

  • Monday, December 04, 2006 7:02 PMAndrew Whiddett Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    I had the same problem...

    Turned out the settings in the debug properties 'sometimes' loses the .xbap extension.

    (1) Right click on the project, select properties menu item.

    (2) Click on the debug tab.

    (3) Check that the start Options/Command line arguments looks something like:

    -debug "C:\Projects\<ThePathToTheDebugXBAP.xbap"

    The '.xbap' at the end sometimes gets lost.

     

    Regards

    Andrew Whiddett

  • Monday, December 04, 2006 8:02 PMKallex Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    Hi Andrew!

    Checked the extensions; the .xbap is properly at the end, so in my case that wasn't causing it.

    Edit: Currently feasible workaround is have mage.exe -cc called at pre-build step, but obviously VS doesn't seem to work as supposed to.

    Br,

    Kalle

  • Monday, December 04, 2006 8:30 PMBill_Henning Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     

    I ran into this same thing when first working with an XBAP project.  I haven't done much research into Clickonce but here's my short version of what I found on my own...

    It seems that if you publish to the same path/file, it does pull up cached versions.  This was driving me nuts for a while because I'd make a change and it wouldn't show it.  I later found that if I placed my XBAP in another folder it worked.

    Then I started using the VS Publish feature and that writes out a stub page the redirects to a different folder for each build.  Like MyApp_1_0_0_0 then next publish is MyApp_1_0_0_1, etc.  That accomplishes the same result as what I originally did above.  So now I use the Publish feature and all is good.  But the annoying thing is that you have to delete all the old build folders since they don't go away on their own.

    Basically the gist is, use the Publish wizard. :)