I’m trying to submit an appx I built using the Bridge and it ‘Works fine on my PC ™’, but when I submit it the Engineer at Microsoft has reported the following:
· Error Found: The blocked executables test has detected the following errors:
o File AbayoPassGen Libs\XojoGUIFramework32.dll contains a reference to a “Launch Process” related API shell32.dll!ShellExecuteW
o File XojoGUIFramework32.dll contains a blocked executable reference to “Reg”.
o File XojoGUIFramework32.dll contains a blocked executable reference to “CmD”.
o File XojoGUIFramework32.dll contains a blocked executable reference to “CSI”.
o File XojoGUIFramework32.dll contains a blocked executable reference to “CDB”.
· Impact if not fixed: Launching executable files is restricted on Windows 10 S systems. Apps that rely on this capability might not run correctly on Windows 10 S systems.
· How to fix: Identify which of the flagged entries represent a call to launch an executable file that is not part of your app and remove those calls. If the flagged files are part of your application, you may ignore the warning.
I’m using the latest version of Xojo - 2017r2 and am trying to distribute a simple Windows 32 bit desktop app. Any ideas, help would be greatly appreciated!
For information on WACK see the link below, also search the page for “Launch Process Violation” for more information on ShellExecuteW, as for the other references, have a read.
You need to figure out what this is calling, if its something in your package, that is fine, if its something outside, that is a problem. It might just be opening a website, which isn’t a problem.
You should be able to find out what its calling by using WinDbg.
Hope this helps.
Looks like that is just a warning and would only be an issue if you try to do something that isn’t allowed on Windows 10 S configurations (which are very limited in what they can run- and are not most Windows 10 installations today anyway).
I have in my screed the step to copy (not move) the ‘XojoGUIFramework32.dll’ file from the
Libs folder to be placed next to the executable (Parent folder). It has always worked for me. Are you doing this?
Thanks for the fast and great replies!
Running the WACK (Windows App Certification Kit.)
- Launch - Yep - I have code that opens a link - ShowURL(“www…”)
- “Reg”, “CmD”, “CSI” and “CDB” I don’t know about - It may have something to do with:
Mutex - Nothing fancy, I use it to determine if more than one instance is running by calling .TryEnter and Quit if I can’t.
I also get the User’s Document folder and check for or make a child folder to hold user preferences - just a simple text file that’s read each time the program starts. I don’t write anything to the registry, but maybe the framework is making a call to get User’s folder information.
Again, thanks for the links and resources!