locked
Compatibility of CoCreateInstance

    Question

  • Hi Everybody,

    I am, to say the least, very confused by the distinctions between Windows Store Apps, Windows Desktop Apps (that can be published through the Windows Store ???), and what is or is not allowed for each of these.

    My "app" is a highly COM centric system, written in C++ against the native Win32 API and nothing else.

    I would LIKE to get my app into the Windows App store because it runs perfectly fine on a TabletPC - and it turns out to be an absolute natural for that platform (it is 5 years in development, the beginning of which the TabletPC platform didn't exist like it does today).

    So first - I get that I HAVE to convert the UI into the Windows App style - that's called Metro - Right ? That is - if I want it to be a Windows "APP" - but not necessarily if I stick to being a Windows "DESKTOP" for now until I can get something rolling and then refactor the UI for Windows "APP".

    In regards to that - I am completely flummoxed about where to start with that - there seems to be a lot of guidance here about it - but every path I take I end up more and more confused (?!).

    At this point, all I think I know is that I have to use VS 2013, and it is NOT clear whether Express is sufficient, and that I HAVE to be running on Windows 8.1 - and that I can ONLY target windows 8.1 platform with an App written in C++ (?!)

    Where - if any - is the information on creating a Windows 8 (not 8.1) app from native C++ and in what tool (?!)

    And - to the issue in the subject line - I came across this in the list of API's (referencing CoCreateInstanceFromApp) that I CAN use:

    "Only built-in classes that are supported in the app container are supplied. Attempts to activate unsupported classes, including all classes installed by 3rd-party code as well as many Windows classes, result in error code REGDB_E_CLASSNOTREG."

    !!!! Am I misinterpreting something here ? My system is highly COM centric - as an extensible business class tool - it is DESIGNED to allow complex document handling be implemented by my customer's who need to integrate my system into their business processes. That is, in fact, it's major selling point - I actually want to Encourage 3rd party tools, which only need implement my back-end handling interface - to extend my system to fit the needs of the end-user.

    So, is that true ? MS is shutting down one of the most powerful aspects of COM on Windows 8 and/or 8.1 apps for the TabletPC platform ?

    Can anybody clarify these things - what exact tool set and language can I use for Windows 8 apps - not for 8.1 apps, and is it true, COM extensibility is no longer available ?

    Thanks everyone,

    Nate Clark

    Monday, May 19, 2014 3:25 PM

Answers

  • Because you rely on plug ins y or app would be best done as a desktop app, not a Windows Store app. Windows Store apps are by design stand alone and isolated.

    To target Windows 8 you need either Windows 8 or Windows 8.1. You can use Visual Studio 2012 records or any version of Visual S to 2013, and can use C#, C++, Vb, or JavaScript.

    You can use Com internally, but can't call Com objects registered for the system (except for specific built in objects).

    Monday, May 19, 2014 4:37 PM
    Moderator
  • Thanks for the reply Rob !

    I understand what you're saying regarding windows store apps being stand alone, etc.

    Not to be argumentative here ( and I do accept the punishment handed down :)  ) - but here's my vote to perhaps steer the culture of the TabletPC platform a little more towards the power ( and business uses ) of the desktop PC instead of too far towards the culture of the way too small platform of phones. I see the TabletPC as something the business owns - fully populated with all of their software tools, no matter how complex, and handed over the counter to the customer. Blatant example: it's time we start filling out forms electronically in the lobby of the Doctor's office directly into the medical software system(s) - as opposed to being handed a clipboard. Nothing seems more natural to me (for the TabletPC) platform - than replacing a clipboard with it !

    Or, think of it this way - most people on the street won't be carrying around 8" or bigger tabletPCs in their shirt pocket(s) - and that platform is only going to get bigger and better screens - I sure would like to be ready when that happens!

    Anyway - thanks very much for your help - Now that I know it IS there - I'll see what I can find for samples for Windows 8 and VS 2013 Express using C++. Sometimes not knowing whether what you're looking for exists makes it frustrating.

    Nate Clark

    • Marked as answer by InnoVisioNate Tuesday, May 27, 2014 9:02 PM
    Monday, May 19, 2014 6:07 PM

All replies

  • Because you rely on plug ins y or app would be best done as a desktop app, not a Windows Store app. Windows Store apps are by design stand alone and isolated.

    To target Windows 8 you need either Windows 8 or Windows 8.1. You can use Visual Studio 2012 records or any version of Visual S to 2013, and can use C#, C++, Vb, or JavaScript.

    You can use Com internally, but can't call Com objects registered for the system (except for specific built in objects).

    Monday, May 19, 2014 4:37 PM
    Moderator
  • Thanks for the reply Rob !

    I understand what you're saying regarding windows store apps being stand alone, etc.

    Not to be argumentative here ( and I do accept the punishment handed down :)  ) - but here's my vote to perhaps steer the culture of the TabletPC platform a little more towards the power ( and business uses ) of the desktop PC instead of too far towards the culture of the way too small platform of phones. I see the TabletPC as something the business owns - fully populated with all of their software tools, no matter how complex, and handed over the counter to the customer. Blatant example: it's time we start filling out forms electronically in the lobby of the Doctor's office directly into the medical software system(s) - as opposed to being handed a clipboard. Nothing seems more natural to me (for the TabletPC) platform - than replacing a clipboard with it !

    Or, think of it this way - most people on the street won't be carrying around 8" or bigger tabletPCs in their shirt pocket(s) - and that platform is only going to get bigger and better screens - I sure would like to be ready when that happens!

    Anyway - thanks very much for your help - Now that I know it IS there - I'll see what I can find for samples for Windows 8 and VS 2013 Express using C++. Sometimes not knowing whether what you're looking for exists makes it frustrating.

    Nate Clark

    • Marked as answer by InnoVisioNate Tuesday, May 27, 2014 9:02 PM
    Monday, May 19, 2014 6:07 PM
  • Hi Nate,

    The EMR scenario you describe is quite doable as a Windows Store app talking to a back end server.

    That would also likely be a side-loaded scenario rather than published through the store and so would have access to some features that store published apps don't have (see Brokered Windows Runtime Components for business apps to interop between Windows Store and desktop apps). That's not necessary for most apps, but is great for adding modern UIs to legacy apps.

    The kicker for your scenario is the plug-ins. You could ship plug-ins with your app, but to pass store certification the entire package needs to be certified including the plug-ins. They can't be added later.

    most people on the street won't be carrying around 8" or bigger tabletPCs in their shirt pocket(s)

    You haven't been following the phablet trends have you :) We're going to need bigger shirt pockets!

    Fortunately my Dell Venue Pro 8 fits in my jacket pocket

    --Rob

    Tuesday, May 20, 2014 6:28 PM
    Moderator
  • Wow - I looked up Phablet - don't know why I hadn't seen the term before.

    Wikipedia says 146 Million of them will be sold in 2016 !!!

    Your referenced links to Runtime Components is exactly what I need, not for this effort, but for another one I'm working on - which will be ready as soon as I'm able, got to get a piece of that market !

    I also got that same Dell, was surprised (first Phablet I've had) - that, at least in terms of OS, etc, there is absolutely nothing I can't do (if I have some patience) with a Desktop/laptop.

    Thanks again,

    Nate Clark

    Wednesday, May 21, 2014 1:41 PM