Placeholder-Software / Dissonance

Unity Voice Chat Asset
71 stars 5 forks source link

Windows App Certification Kit fails for Dissonance #64

Closed awonnink closed 6 years ago

awonnink commented 6 years ago

Hi,

I might be doing something wrong, but it looks like Dissonance (3.0.1) is not quite UWP ready. One can use it while side-loading an app, but when trying to upload an app to the WIndows store it fails in the Windows App Certification Kit. Here are the issues from the report:

Supported APIs Error Found: The supported APIs test detected the following errors:

**- API ChangeTimerQueueTimer in kernel32.dll is not supported for this application type. AudioPluginDissonance.dll calls this API.

Impact if not fixed: Using an API that is not part of the Windows SDK for Windows Store apps violates the Windows Store certification requirements. How to fix: Review the error messages to identify the API that is not part of the Windows SDK for Windows Store apps. Please note, apps that are built in a debug configuration or without .NET Native enabled (where applicable) can fail this test as these environments may pull in unsupported APIs. Retest your app in a release configuration, and with .NET Native enabled if applicable. See the link below for more information: Alternatives to Windows APIs in Windows Store apps: http://go.microsoft.com/fwlink/?LinkID=244022

I have compiled for UWP x64.

Albert Jan

martindevans commented 6 years ago

Hi Albert,

This is definitely my fault. I had assumed if it successfully compiled for UWP it wouldn't call any forbidden APIs - I'll have to go through these one by one and see what I can do to replace them.

martindevans commented 6 years ago

A quick update on this. I've been experimenting today with some changes (only to opus.dll) to see if I can get a report which fails for AudioPluginDissonance.dll but passes for opus.dll. I've just managed that, so I'm pretty confident I know what I need to do to fix this.

I'll experiment with applying the same changes to AudioPluginDissonance.dll tomorrow (it's a very big project, so I anticipate some additional complexity here).

awonnink commented 6 years ago

Great to hear! I will certainly also give it a try in the WACK if you have a new version for me.

martindevans commented 6 years ago

I've just finished a load of changes which I think should resolve this. As I mentioned yesterday I tested the basic concept on the Opus dll yesterday and it seemed to work - today I've created completely new opus/AudioPluginDissonance dlls for UWP which are compiled with store support and are slightly changed internally to account for UWP removing some APIs.

I have not yet tested this using the WACK (I'll get that done tomorrow), but if you'd like to get your hands on it to run your own tests first that'd be great. Email me (martin@placeholder-software.co.uk) your invoice number and I'll send you back a build with these changes included :)

martindevans commented 6 years ago

I've emailed you the updated build of Dissonance along with the WACK test results report. If you can confirm this fixes your app I'll mark this issue as complete (and close it once this gets released onto the appstore in a week or two).

martindevans commented 6 years ago

Dissonance 4.0.0 just went live with the changes for this issue included. I'll close this issue, please feel free to comment here if the issue persists :)