惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
月光博客
月光博客
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
小众软件
小众软件
量子位
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - atempcode

Debugging Visualizer for UEFI type 僵尸窗口 SCMBUG 邮件乱码的解决方法 在Eclipse里使用Visual Studio的快捷键 Subversion in 2010 Ad in Stackoverflow.com becomes annoying Importing notes in Google Notebook to Evernote 饭否mashup: Popfly入门 (二) 饭否mashup: Popfly入门 GIT vs SVN Which Parts of China Have You Been To? 黄秋生 美丽的梭罗河 偏光鏡用法: PL, CPL I do not like itunes 焦距 单镜反光相机 光圈 DSLR和DC的差异 Firefox的饭否Toolbar 1.1
The case of Trac installation won’t run
atempcode · 2010-02-07 · via 博客园 - atempcode

2010-02-07 16:50  atempcode  阅读(417)  评论()    收藏  举报

在刚创建的虚拟机上安装 Trac-0.11.6.win32.exe, 发生错误:

trac1

看到这熟悉的不知所云的错误信息就知道, 肯定是缺了哪个DLL. 用Depends一看,果然不出所料, 这个安装程序依赖于msvcr90.dll, version 9.0.30729.4148.

稍微看了一下Python里distutils的打包原理, 它打包出的Windows安装程序实际上是由3部分组成: bdist_wininst stub, 配置文件和所需Python文件的压缩包. bdist_wininst stub 是一个win32程序, 负责解压出后面两部分, 然后执行安装. 在制作安装包时, 有脚本或者把配置文件和压缩包加到bdist_wininst stub 的末尾. 以前在一个项目里也做过类似的事情, 不过要安装的文件我们是放到resource section, 而不是文件的末尾.

要解决这个问题就很简单了, 把bdist_wininst stub 改成运行时静态链接, 编译后重新打包就可以了. PS 在Python2.6.2 后bdist_wininst stub 已经是静态链接了.