I have an app that bypasses the default sound engine of Windows and uses our custom sound engine with a sound driver like ASIO. The engine is implemented as a .DLL
file that's compiled with GCC. And Also, there are other .DLL
s that are required by my engine.
When I want to publish my app to the store as a UWP app, the certification kit gives me some errors like below:
Windows security features test
File C : \Program Files\WindowsApps\MyAppLTD.MyApp_1.0.1.0_x64__8yvwa9s081fpy\MyAppaudioengine - win.dll has failed the DBCheck check.
File C : \Program Files\WindowsApps\MyAppLTD.MyApp_1.0.1.0_x64__8yvwa9s081fpy\libgcc_s_seh - 1.dll has failed the DBCheck check.
File C : \Program Files\WindowsApps\MyAppLTD.MyApp_1.0.1.0_x64__8yvwa9s081fpy\libstdc++ - 6.dll has failed the DBCheck check.
File C : \Program Files\WindowsApps\MyAppLTD.MyApp_1.0.1.0_x64__8yvwa9s081fpy\libwinpthread - 1.dll has failed the DBCheck check.
Supported API test
API RtlAddFunctionTable in kernel32.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API MessageBoxW in user32.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API ___lc_codepage_func in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API ___mb_cur_max_func in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API __doserrno in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API __iob_func in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API __pioinfo in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _aligned_free in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _aligned_malloc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _amsg_exit in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _errno in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _exit in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _fdopen in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _filelengthi64 in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _fileno in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _fstat64 in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _initterm in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _lock in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _lseeki64 in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _read in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _snwprintf in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _strnicmp in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _unlock in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API _write in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API abort in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API calloc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fclose in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fflush in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fgetpos in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fopen in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fputc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fputs in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fread in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API free in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fsetpos in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fwprintf in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API fwrite in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API getc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API getenv in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API getwc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API isspace in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API iswctype in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API localeconv in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API malloc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API memchr in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API memcmp in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API memcpy in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API memmove in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API memset in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API putc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API putwc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API raise in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API realloc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API setlocale in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API setvbuf in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API signal in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API sprintf in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strchr in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strcmp in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strcoll in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strerror in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strftime in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strlen in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strncmp in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strtoul in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API strxfrm in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API towlower in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API towupper in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API ungetc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API ungetwc in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API vfprintf in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API wcscoll in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API wcscpy in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API wcsftime in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API wcslen in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API wcsxfrm in msvcrt.dll is not supported for this application type.libstdc++ - 6.dll calls this API.
API RtlAddFunctionTable in kernel32.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API __iob_func in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API _amsg_exit in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API _initterm in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API _lock in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API _unlock in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API abort in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API calloc in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API free in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API fwrite in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API malloc in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API memcpy in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API memset in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API realloc in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API signal in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API strlen in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API strncmp in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API vfprintf in msvcrt.dll is not supported for this application type.libgcc_s_seh - 1.dll calls this API.
API CoInitialize in ole32.dll is not supported for this application type.portaudio_x64.dll calls this API.
API OpenFile in kernel32.dll is not supported for this application type.portaudio_x64.dll calls this API.
API CharLowerBuffA in user32.dll is not supported for this application type.portaudio_x64.dll calls this API.
API GetDesktopWindow in user32.dll is not supported for this application type.portaudio_x64.dll calls this API.
API RtlAddFunctionTable in kernel32.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API __C_specific_handler in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API __iob_func in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _amsg_exit in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _beginthreadex in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _endthreadex in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _errno in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _initterm in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _lock in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _setjmp in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _strdup in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _ultoa in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API _unlock in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API abort in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API calloc in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API exit in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API fprintf in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API free in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API fwrite in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API longjmp in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API malloc in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API memmove in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API memset in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API printf in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API realloc in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API signal in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API strlen in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API strncmp in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API vfprintf in msvcrt.dll is not supported for this application type.libwinpthread - 1.dll calls this API.
API CoInitialize in ole32.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API RtlAddFunctionTable in kernel32.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API GetForegroundWindow in user32.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API MessageBoxW in user32.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API ___lc_codepage_func in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API ___mb_cur_max_func in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API __iob_func in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API __setusermatherr in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _aligned_free in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _aligned_malloc in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _amsg_exit in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _errno in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _exit in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _initterm in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _lock in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _snwprintf in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API _unlock in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API abort in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API asin in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API calloc in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API div in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API exit in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fclose in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fopen in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fprintf in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fputc in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API free in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API freopen_s in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fwprintf in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API fwrite in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API localeconv in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API log10 in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API malloc in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API memcpy in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API memmove in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API memset in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API printf in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API raise in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API realloc in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API signal in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API strerror in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API strlen in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API strncmp in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API tan in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API vfprintf in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API wcscpy in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
API wcslen in msvcrt.dll is not supported for this application type.MyAppaudioengine - win.dll calls this API.
I research on Google and I found out that I also need to sign that .DLL
file which is my custom sound engine. But some says that I can't use these kinds of DLLs in a UWP app. And even if I need to sign them, I don't have a .sln
of the DLL
projects.
I tried to sign my DLL with SignTool but no luck. I built my app with Unity and it works on only 64 bit CPUs.
My question is; can I really sign a GCC compiled DLL? If I can't, please suggest me a few options to pass WACK using my engine.
Edit The sound engine works perfectly on Unity windows standalone build but it doesn't work at all if I built it with UWP. This problem is also related to this security thing I guess