Py2exe 打包后图标不显示

下载Png2Ico 

http://www.winterdrache.de/freeware/png2ico/

编辑图标大小准备 248*248 128*128 64*64 48*48 32*32 16*16的图标

命令下执行 Png2Icon.exe Attach.ico logo248.png logo128.png,logo64.png logo48.png logo32.png logo16.png 

生成Ico文件 这样就能适应win7下面的大小了。

如果程序需要管理员身份运行,在mainfest中 添加

 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
	    <security>
	      <requestedPrivileges>
	        <requestedExecutionLevel level="requireAdministrator"   uiAccess="false"/>
	      </requestedPrivileges>
	    </security>
</trustInfo>

下面是我的完整打包代码

注意修改版本号为version="9.0.21022.8"

# -*- coding:gbk -*-
from distutils.core import  setup
from glob import glob
try:
	# py2exe 0.6.4 introduced a replacement modulefinder.
	# This means we have to add package paths there, not to the built-in
	# one.  If this new modulefinder gets integrated into Python, then
	# we might be able to revert this some day.
	# if this doesn't work, try import modulefinder
	try:
		import py2exe.mf as modulefinder
	except ImportError:
		import modulefinder
	import win32com, sys

	for p in win32com.__path__[1:]:
		modulefinder.AddPackagePath("win32com", p)
	for extra in ["win32com.shell"]: #,"win32com.mapi"
		__import__(extra)
		m = sys.modules[extra]
		for p in m.__path__[1:]:
			modulefinder.AddPackagePath(extra, p)
except ImportError:
	# no build path setup, no worries.
	pass

manifest = """
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <noInheritable></noInheritable>
    <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b">
	</assemblyIdentity>
    <file name="msvcr90.dll" hashalg="SHA1" hash="9785b1c493deb5b2134dc4aef3719cee207001bc">
	<asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
	<dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity">
	</dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1">
	</dsig:DigestMethod><dsig:DigestValue>VF5ECUAHPV7EnUf+/UIXMPizPvs=</dsig:DigestValue></asmv2:hash>
	</file>
	<file name="msvcp90.dll" hashalg="SHA1" hash="0f6bbf7fe4fb3fca2cb5b542eca1a1cad051f01c">
	<asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
	<dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity"></dsig:Transform>
	</dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1">
	</dsig:DigestMethod><dsig:DigestValue>3Wg+StVMq2uhx7POnAkl2w4dDmY=</dsig:DigestValue></asmv2:hash>
	</file>
	<file name="msvcm90.dll" hashalg="SHA1" hash="7f3290ab2b7444c2b4a9b1fedfdb16466d7a21bb">
	<asmv2:hash xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
	<dsig:Transforms><dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity">
	</dsig:Transform>
	</dsig:Transforms>
	<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1">
	</dsig:DigestMethod><dsig:DigestValue>/YfRn7UQENzdMeoMHxTgdRMiObA=</dsig:DigestValue></asmv2:hash>
	</file>
	<description>ETimes SafeDocument </description>
	<dependency>
	    <dependentAssembly>
	      <assemblyIdentity type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*' />
	    </dependentAssembly>
        </dependency>
        <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
	    <security>
	      <requestedPrivileges>
	        <requestedExecutionLevel level="requireAdministrator"   uiAccess="false"/>
	      </requestedPrivileges>
	    </security>
	</trustInfo>
</assembly>
"""

data_files = [("Microsoft.VC90.CRT",
               glob(r'C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\*.*'))]
py2exe_options = {"py2exe": {
	"compressed": 1,
	"optimize": 0,
	"bundle_files": 1,
	"dll_excludes": ["mswsock.dll", "powrprof.dll"],
	"excludes": ["email", "System", "clr"],
	"typelibs": [("{A435DD76-804E-4475-8FAB-986EACD1C6BE}", 0x0, 1, 0), ]
}
}
setup(
	data_files=data_files,
	windows=[{
		'script': 'EtimesDocument.pyw',
		"other_resources":[(24,1,manifest)],
		"icon_resources": [
			(0, './png/Attach.ico')
		]}],
	zipfile='core.lib',
	options=py2exe_options
)


你可能感兴趣的:(Algorithm,Microsoft,Security,exe,import,resources)