locked
Both Metro & desktop interface

    Question

  • Sorry if this question has already been asked, but I'm thinking along the lines if it is possible to utilize both interfaces in the one app package (not necessarily the same running program). As the metro style app runs on WinRT & the desktop style program runs on IE/Win32/.Net, I realise it can't be the case in the same running program so that's not what I'm asking.

    What I mean could be either similar functionality for an app in a metro style and desktop style (2 apps in the 1 download) to give the user the choice as to which they use, or it could be in a situation where the reader/player is the metro app & the editor program is a desktop style (such as acrobat & adobe reader, flash & flash player, powerpoint & PPT viewer etc). Would they have access to the same data, settings & filesystem etc?

    Or is it envisioned by Microsoft that app/program downloads are either metro or desktop & nothing is common between them, not even data files?

    Sorry for such a basic question, but I can't find out the answer for myself because I can't use the developer tools. :)

    Tuesday, September 20, 2011 2:49 AM

Answers

  • The api exposes a fileUri property which, from the example, can be a local appx package (file://drive|path/file.appx).

    If you follow the video of the session, it should be mentioned that an appx package can be included in an msi insaller and deployed via command line during the installation of a desktop app (if my memory is not failing me).

    Chatting with some other Microsoft folks, they mentioned that they would support scenarios like distribution of Metro apps outside the Windows Store and enterprise deployment on machines with limited or no internet connectivity. 

     

    Edit:
    From other threads I've seen that you are looking for specific answers on what a "non-Enterprise" deployment might be an whether it will be against TOS to put your app in the store for free and handle your licensing internally. I am afraid I cannot answer that unfortunately. Heck, I think Microsoft hasn't figured it out themselves yet at this point.

    Saturday, September 24, 2011 1:36 AM

All replies

  • Applications are either Metro or Desktop. You can't build a hybrid.

    You'll need to distribute two separate apps: one metro and on desktop. The AppX package for the Metro app that gets distributed through the Windows Store will not be able to contain any Desktop application exe's. Metro apps are run in a sandboxed environment for security purposes and Desktop apps do not have that restriction.

     


    Microsoft MVP - Bing Maps
    Blog: http://pietschsoft.com | Web.Maps.VE - ASP.NET AJAX Bing Maps Server Control
    Tuesday, September 20, 2011 6:35 AM
  • Applications are either Metro or Desktop. You can't build a hybrid.

    You'll need to distribute two separate apps: one metro and on desktop. The AppX package for the Metro app that gets distributed through the Windows Store will not be able to contain any Desktop application exe's. Metro apps are run in a sandboxed environment for security purposes and Desktop apps do not have that restriction.

     


    Microsoft MVP - Bing Maps
    Blog: http://pietschsoft.com | Web.Maps.VE - ASP.NET AJAX Bing Maps Server Control


    However, the installer for your desktop application will be able to install a metro app. As for sharing data files, I am still not so sure. Metro apps are sandboxed but allowed to access parts of the file system (document, video, picture. music libraries) upon user consent and declaration in the manifest file. Other than that my understanding is that they only have access to isolated storage.

    If you need to exchange data between the two versions of the app I guess the best bet would be running a server piece in the cloud or a REST web service somewhere.

    Wednesday, September 21, 2011 1:53 AM
  • Thanks for those answers guys, much appreciated.
    Wednesday, September 21, 2011 11:09 AM
  • "However, the installer for your desktop application will be able to install a metro app."

    I have not seen any mention of this; everything I have seen is that Metro apps can only be installed from the store (for non-"Enterprise" users, whatever that means). What is your source? Is this only the case if the desktop app is also distributed through the store?


    Moderator | MCTS .NET 2.0 Web Applications | My Blog: http://www.commongenius.com
    Thursday, September 22, 2011 9:39 PM
  • "However, the installer for your desktop application will be able to install a metro app."

    I have not seen any mention of this; everything I have seen is that Metro apps can only be installed from the store (for non-"Enterprise" users, whatever that means). What is your source? Is this only the case if the desktop app is also distributed through the store?


    Moderator | MCTS .NET 2.0 Web Applications | My Blog: http://www.commongenius.com

     

    PLAT-905C (Under the hood: installation and updates for Metro style apps), John Sheehan

    http://channel9.msdn.com/events/BUILD/BUILD2011/PLAT-905C

     

    You can also check the documentation here:

    http://msdn.microsoft.com/en-us/library/windows/desktop/hh446628(v=VS.85).aspx



    • Edited by Marco Tagliaferri Friday, September 23, 2011 8:57 PM
    • Proposed as answer by Bob_Bao Monday, September 26, 2011 7:48 AM
    Friday, September 23, 2011 8:35 PM
  • OK, so the desktop app could install a Metro app from the store using the API; it couldn't install a Metro package that came in its distribution, which is what I thought you were saying.
    Moderator | MCTS .NET 2.0 Web Applications | My Blog: http://www.commongenius.com
    Friday, September 23, 2011 9:31 PM
  • The api exposes a fileUri property which, from the example, can be a local appx package (file://drive|path/file.appx).

    If you follow the video of the session, it should be mentioned that an appx package can be included in an msi insaller and deployed via command line during the installation of a desktop app (if my memory is not failing me).

    Chatting with some other Microsoft folks, they mentioned that they would support scenarios like distribution of Metro apps outside the Windows Store and enterprise deployment on machines with limited or no internet connectivity. 

     

    Edit:
    From other threads I've seen that you are looking for specific answers on what a "non-Enterprise" deployment might be an whether it will be against TOS to put your app in the store for free and handle your licensing internally. I am afraid I cannot answer that unfortunately. Heck, I think Microsoft hasn't figured it out themselves yet at this point.

    Saturday, September 24, 2011 1:36 AM