locked
Dynamically loading WinRT components

    Question

  • Is it possible to not bundle components with the project and deploy them together but rather extend the Metro app via downloadable components on the fly?
    Is there a doc on the usual way Metro apps are deployed and how they can be updated? 

    Friday, November 11, 2011 12:24 AM

Answers

  • Good question! In order for a 3rd party ISV or partner to extend your Metro style app as you described, you would need to upload their binary along with your app into the Store. For a Desktop app, there is no departure from the methods you use today.

     

    Thanks,

    -David

     

     

    Tuesday, November 22, 2011 10:57 PM
    Moderator

All replies

  • Hi phil_ke,

    If you want to get some info about deployment and packaging, you can visit this http://msdn.microsoft.com/en-us/library/windows/apps/hh464929(v=VS.85).aspx.

    I guess we cannot not develop plugin kinda stuff in Metro application. My assumption is based on the fact mentioned in this session http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-930C

    In the video, Krzysztof Cwalina mentioned that they removed parts  which are related to developing plugin (e.g DirectoryCatalog) from MEF cause it doesn't make sense to develop plugin stuff in Metro application.

     

    Regards,

    Nyi Nyi


    Code |> Live |> Learn
    Friday, November 11, 2011 6:11 AM
  • The packaging docs are not complete yet, but I read something about Extensibility. Maybe thats the point where we can hook in a plugin system.
    After all, it should be possible to provide a contract that others could use.

    If Metro style apps are not extensible by 3rd parties then they are basically D.O.A, imho.

    Also I wonder if it will be possible to deploy partial, difference-based updated to the clients. Google does this already with Chrome and has reduced the payload of updates dramatically.

    Friday, November 11, 2011 7:52 AM
  • There are a couple of talks you may find informative. The talk Enabling trials and in-app offers in your Metro style app by Arik Cohen is one that discusses in-app purchases where you could provide additional content, additional songs are used as the example in this talk.

     

    The talk Under the hood: installation and updates for Metro style apps by John Sheehan speaks to the updating of your Metro style app.

     

    Let us know if there was another scenario you were considering that these talks do not address.

     

    Thanks,

    -David

     

     

    Saturday, November 12, 2011 12:00 AM
    Moderator
  • Thank you David! I will check it out! If it covers my scenario I will mark your answer. Otherwise I will further elaborate on my use-case.

    I have to say Microsoft did an outstanding job with WinRT and especially the WinJS libs!
    And thats coming from a c++ guy who embraces the quick/no-compile approach of interpreted languages. I just hope that the whole scripting performs reasonably well in our planned app.

    Saturday, November 12, 2011 12:04 AM
  • David, I have watched the "in-app offers" aka "features". I think if we can offer those without a pricetag attached aka free, we could extend our app on the fly.

    How would we manage the available features in the app-store? Is there a VS or headless solution to update our feature listings in the store?

    I will watch the "installation and updates" talk now.

    Saturday, November 12, 2011 12:49 AM
  • The "installation and updated" is pretty cool. Well done with the delta-updates using the blockmap. Just what I hoped there is to save bandwidth and even harddisk space!

     

    Now, our possible scenario would include ISV to provide additional functionality for our metro app. As an example a new brush style that smears the canvas. In traditional C++ I would provide a

    interface IBrushProvider {
     string[] brushNames();
     IBrush  createBrush(string name);
    }
    


    for the ISV to implement and dump their extension into our app (plugins) dir.

    I wonder if that scenario could be somehow achieved in metro style apps, since they are all sealed and signed by default.

    Saturday, November 12, 2011 1:28 AM
  • Good question! In order for a 3rd party ISV or partner to extend your Metro style app as you described, you would need to upload their binary along with your app into the Store. For a Desktop app, there is no departure from the methods you use today.

     

    Thanks,

    -David

     

     

    Tuesday, November 22, 2011 10:57 PM
    Moderator
  • Yes, and what I described is a very likely scenario. Something we can do with Java Eclipse/OSGi for ages.

    It would be helpful if our apps could provide contracts/charms/extensions that ISVs could connect to. But I guess the API is locked already and that is something that would be considered for Win9 :)

    Wednesday, November 23, 2011 5:49 AM
  • [quote]Good question! In order for a 3rd party ISV or partner to extend your Metro style app as you described, you would need to upload their binary along with your app into the Store. For a Desktop app, there is no departure from the methods you use today.

    [/quote]

    And how the 3rd party developer gonna debug their own plug-in before submiting the addon to us? :D It's a fish biting its nail problem :p


    • Edited by bubu Friday, February 03, 2012 6:55 AM
    Friday, February 03, 2012 6:17 AM