locked
[UWP] [Desktop Bridge]Can DesktopAppConverter help with unsupported UWP API's? RRS feed

  • Question

  • We have a sideloaded desktop app that is just a wrapped website and (according to WACK) appears to make many API calls to UWP unsupported libraries e.g. DirectX and Node.js - here are a couple of sample errors from WACK. Note that as a locally sideloaded local desktop appx, this app works perfectly. The question is can this work at all as a Windows Store UWP compliant desktop app (e.g. will DesktopAppConverter be able to solve these API errors if we write an MSI installer) or is there a fundamental API non-compatibility here that needs a fairly major code rewrite to UWP API's e.g. to change "Node.js" API calls to "Universal JS" API calls (i.e. this was not something DesktopAppConverter was designed for)?

    (1) Node.js v6.5.0.0 server-side JavaScript unsupported API call:

    API CreateCompatibleBitmap in gdi32.dll is not supported for this application type. node.dll calls this API

    (2) Direct 3D HLSL v6.3.9600.16384 unsupported API call:

    API CreateFileA in kernel32.dll is not supported for this application type. d3dcompiler_47.dll calls this API.


    • Edited by Barry Wang Tuesday, October 11, 2016 8:49 AM title tags
    Thursday, October 6, 2016 12:09 AM

Answers

  • Note: You don't need to put d3dcompiler_47.dll into your AppX package, and you shouldn't. It's part of the OS and all the D3DCompile APIs are already approved for use in UWP. See MSDN.
    • Proposed as answer by Barry Wang Thursday, October 20, 2016 9:02 AM
    • Marked as answer by Barry Wang Friday, October 21, 2016 2:59 AM
    Monday, October 10, 2016 4:18 PM

All replies

  • Hi Vyacheslav_K,

    I am trying to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience. 

    Best Regards,
    David

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. Click HERE to participate the survey.

    Friday, October 7, 2016 1:58 PM
  • Hi energyplay1,

    As far as I know, the DesktopAppConverter is not designed to deal with unsupported UWP APIs, but to separate application state from system state as mentioned in the MSDN article.
    https://msdn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-behind-the-scenes?f=255&MSPPError=-2147217396 
    “A key goal of the Desktop to UWP Bridge is to separate application state from system state as much as possible while maintaining compatibility with other apps. The bridge accomplishes this by placing the application inside a Universal Windows Platform (UWP) package, and then detecting and redirecting some changes it makes to the file system and registry at runtime.”

    The supported Win32 and COM APIs for UWP apps is listed here. 
    https://msdn.microsoft.com/en-us/library/windows/apps/mt592904.aspx 
    Maybe you could use some alternatives to Windows APIs in UWP apps in the link below.
    https://msdn.microsoft.com/en-us/library/windows/apps/mt592894.aspx 


    Best Regards,
    David

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. Click HERE to participate the survey.


    • Edited by David_FF Monday, October 10, 2016 3:18 PM
    • Proposed as answer by Barry Wang Thursday, October 20, 2016 9:02 AM
    Monday, October 10, 2016 3:18 PM
  • Note: You don't need to put d3dcompiler_47.dll into your AppX package, and you shouldn't. It's part of the OS and all the D3DCompile APIs are already approved for use in UWP. See MSDN.
    • Proposed as answer by Barry Wang Thursday, October 20, 2016 9:02 AM
    • Marked as answer by Barry Wang Friday, October 21, 2016 2:59 AM
    Monday, October 10, 2016 4:18 PM