locked
Unable to Activate store app

    Question

  • I'm starting to understand why there are not many store apps out there.  Writing one is a real challenge when it should be so easy.

    I've been trying to use a win32 dll with a C++ store app but failing miserably so I've given up on that and thought I would do a basic project to try and understand what is happening.

    I used the wizard to create a DLL(Windows store apps) project and then a blank App(XAML) project to run it from.  So far so good.  I added to the DLLs .h the following

    #if defined(K8055DLL_EXPORT)
    #define K8055 __declspec(dllexport)
    #else
    #define K8055 __declspec(dllimport)
    #endif

    K8055  int __stdcall MyFunction();

    and then I built a basic MyFunction in the cpp file 

    For good measure I added K8055DLL_EXPORT as a definition.  The dll project compiled fine and a dll and .lib were generated.  

    I added the dlls .h file to the Mainpage.xaml.cpp file of the test app.  I also added the lib file directory to linker/general/additional library directories and the K8055.lib library to the linker/general/additional dependencies.  Finally I added a call to MyFunction.  After all this the application compiles.  (what a faff though you would have thought this would all be automated!)

    With the app compiled I hit run and up pops a dialog box complaining about the activation of the store app. Remove the call to my function and the issue goes away.

    Now if I use the original win32 dll in the VS 2013 for Windows Desktop this all works fine.  If I write similar code in that it works fine.  It only seems to be writing code for Windows that causes this!  Why is this?  Is it to do with windows RT?  It all feels too difficult and I am sorely tempted to return to just desktop programming, or even the C# that has been my mainstay since it appeared rather than update myself as I intended.

    Please can someone give me some hints on why this won't work?

    Friday, April 18, 2014 6:48 AM

Answers

  • It sounds like you're not including the DLL in your appx project. If you don't deploy it with your app then the app will fail when it tries to load the DLL and can't find it. Add the DLL to the main project and set its file properties to Content to be included in the appx package.

    --Rob

    Friday, April 18, 2014 7:07 AM
    Moderator