Hi,
I'm attempting to submit my app to the windows store, however they're telling me (the desktop bridge team) that the app needs to be compatible with Windows S, and that it's failing the "Package Sanity" portion of the WACK test. Here are the problems with the build. Any suggestions? Thanks!
File app\resources\app.asar.unpacked\node_modules\spawn-rxvendor\jobber\Jobber.exe contains a
reference to a "Launch Process" related API kernel32.dll!CreateProcessW
File app\node.dll contains a reference to a "Launch Process" related API kernel32.dll!CreateProcessW
File app\AppName.exe contains a reference to a "Launch Process" related API kernel32.dll!CreateProcessA
File app\AppName.exe contains a reference to a "Launch Process" related API kernel32.dll!CreateProcessW
File app\AppName.exe contains a reference to a "Launch Process" related API shell32.dll!ShellExecuteW
File app\AppName.exe contains a reference to a "Launch Process" related API shell32.dll!ShellExecuteExW
File AppName.exe contains a blocked executable reference to "CdB".
File AppName.exe contains a blocked executable reference to "dNx".
File AppName.exe contains a blocked executable reference to "CMd".
File AppName.exe contains a blocked executable reference to "REG".
File AppName.exe contains a blocked executable reference to "Csi".
File content_shell.pak contains a blocked executable reference to "cmd".
File content_shell.pak contains a blocked executable reference to "reg".
File content_shell.pak contains a blocked executable reference to "CsI".
File content_shell.pak contains a blocked executable reference to "bash".
File d3dcompiler_47.dll contains a blocked executable reference to "cmd".
File d3dcompiler_47.dll contains a blocked executable reference to "Reg".
File icudtl.dat contains a blocked executable reference to "Reg".
File icudtl.dat contains a blocked executable reference to "CMD".
File icudtl.dat contains a blocked executable reference to "CDB".
File node.dll contains a blocked executable reference to "CsI".
File node.dll contains a blocked executable reference to "cmd".
File node.dll contains a blocked executable reference to "cmd.exe".
File node.dll contains a blocked executable reference to "reg".
File ucrtbase.dll contains a blocked executable reference to "cmd.exe".
File sv.pak contains a blocked executable reference to "reg".
File app.asar contains a blocked executable reference to "reg".
File app.asar contains a blocked executable reference to "Bash".
File app.asar contains a blocked executable reference to "cmd.exe".
File app.asar contains a blocked executable reference to "msbuild".
File app.asar contains a blocked executable reference to "CmD".
File app.asar contains a blocked executable reference to "csi".
File build.sh contains a blocked executable reference to "bash".
File index.ts contains a blocked executable reference to "PowerShell".
File index.ts contains a blocked executable reference to "CMD".
File index.ts contains a blocked executable reference to "PowerShell.exe".
File index.ts contains a blocked executable reference to "cmd.exe".
@black-snow Could you please help?
@DanielRHarris @develar I havent deployed anything to the Windows Store since Windows S was announced so I don't know what's changed. I find it weird that they tell you that it must be compatible with Windows S. Sure, S only has the store so they want to have as many apps as possible but there are loads of applications that need to do things that are probably not allowed under S ...
@DanielRHarris you should have a chat with MS again. I've had very good experience with their support. Try to get Matteo Pagani on the line ([email protected]). I don't know if Felix Rieseberg is still associated with MS, maybe he can help https://github.com/felixrieseberg/electron-windows-store
Please report back what results you got!
Also sanity checks seem to be optional, not mandatory; see: https://docs.microsoft.com/en-us/windows/uwp/debug-test-perf/windows-desktop-bridge-app-tests
Thanks for clarification and MS support contacts @black-snow
Subscribed.
@black-snow Thanks for the contacts.
Here was response I received:
"Yes, Windows 10 S compatibility is a requirement. However, Electron itself doesn鈥檛 include any call to CDM or REG: we have multiple apps built with Electron that are successfully published on the Store and they run just fine on Windows 10 S. Usually the problem with Electron is caused by 3rd party modules. On NPM or GitHub you can find lot of Node.js modules to integrate your application with Windows features, however not all of them are good citizens of the Windows ecosystem. An example (which I quoted also in a blog post about testing for Windows 10 S https://blogs.msdn.microsoft.com/appconsult/2017/06/15/porting-and-testing-your-classic-desktop-applications-on-windows-10-s-with-the-desktop-bridge/) is writing to the system registry: there are bad modules, which invokes the REG.EXE command to perform operations, and good modules (like https://github.com/CatalystCode/windows-registry-node) which instead make proper usage of the Windows API. If you鈥檙e having troubles in running your application on Windows 10 S, I would start from identifying these modules rather than focusing on Electron itself."
Does electron-builder somehow use one or more of those "bad modules"?
Thanks for keeping us posted.
electron-builder won't pack stuff you didn't tell it to. What 3rd party modules do you use? Do you use auto updates?
I believe I've tracked all the package sanity test failures down to the use of spawn-rx in https://github.com/electron-userland/electron-spellchecker.
Given that this is not an electron-builder issue, I've posted a new issue in electron-spellchecker. https://github.com/electron-userland/electron-spellchecker/issues/87
Great, keep us posted! (Gotta takle this w/ the next release of my app.)
Hi,
i was reading this thread a few days ago when our app was rejected because it was not working on Windows 10 S. Our issue was that when our app was first opened it created "XXXX.tmp.node" file in users temp folder and tried to access it, which was prevented by Windows 10 S and prevented our app to run. We started removing modules and the one that caused this issue was electron-spellchecker. After removing it we were able to successfully publish our app to the store. It might have been something with our configuration of the module or that we were using an old version of it - 1.0.4. We did not yet test if newer version of electron-spellchecker still has this issue but i'm posting this here anyway for those who might have the same issue.
Most helpful comment
Hi,
i was reading this thread a few days ago when our app was rejected because it was not working on Windows 10 S. Our issue was that when our app was first opened it created "XXXX.tmp.node" file in users temp folder and tried to access it, which was prevented by Windows 10 S and prevented our app to run. We started removing modules and the one that caused this issue was electron-spellchecker. After removing it we were able to successfully publish our app to the store. It might have been something with our configuration of the module or that we were using an old version of it - 1.0.4. We did not yet test if newer version of electron-spellchecker still has this issue but i'm posting this here anyway for those who might have the same issue.