Message168859
Hi
We have an application created with python2.7 and created into an executable using py2exe. However we are getting an issue with Windows 8 certification due to compiler parameters. We would like to have this application Windows 8 certified but we can't get pass the following warning:
===============================================
Windows security features test
WARNING
Binary analyzer
•
Warning: The binary analyzer test detected the following errors:
◦File C:\Program Files (x86)\TestApp\test.exe has failed the DBCheck check.
◦File C:\Program Files (x86)\TestApp\test.exe has failed the NXCheck check.
•
Impact if not fixed: If the app doesn’t use the available Windows protections, it can increase the vulnerability of customer's computer to malware.
•
How to fix: Apply the SAFESEH, DYNAMICBASE, and NXCOMPAT options when you link the app. See link below for more information:
Fixing Binary Analyzer Errors
========================================================================
In order to fix this issue I had to modify the file msvc9compiler.py by changing the following line from:
self.ldflags_shared = ['/DLL', '/nologo', '/INCREMENTAL:NO']
to
self.ldflags_shared = ['/DLL', '/nologo', '/INCREMENTAL:NO', '/DYNAMICBASE', '/SAFESEH', '/NXCOMPAT']
and rebuild py2exe. Once I have done this the test passed.
I could go about it by having local patch available to my team but preferably I try to avoid patching the standard python modules.
My question is if there is another way to do this? and whether it would be a good idea to include these flags in future distutils? |
|
Date |
User |
Action |
Args |
2012-08-22 08:53:25 | agale031176 | set | recipients:
+ agale031176, tarek, eric.araujo |
2012-08-22 08:53:25 | agale031176 | set | messageid: <1345625605.38.0.633732854192.issue15762@psf.upfronthosting.co.za> |
2012-08-22 08:53:24 | agale031176 | link | issue15762 messages |
2012-08-22 08:53:24 | agale031176 | create | |
|