现在的位置: 首页 > 综合 > 正文

用三十六计中的第二十五计,制作安装程序成功[yysun]

2013年05月03日 ⁄ 综合 ⁄ 共 434字 ⁄ 字号 评论关闭

原先 WB Editor 安装程序有个缺点,就是无法检测并提醒用户去下载安装 .NET Framework。以至于不看 readme.txt 的用户不知道这一先决条件。

受到 WiX for dummies 一文的启发,找到了个办法:

找来原始的 wbeditor.msi,再找来一个能检测 .NET 的 msi 。两个 msi 都用 wix 反编译出来 (用其 dark 工具),把得到的两个 wix xml 文件巧妙地和并起来,最后用 candle 和 light 工具重新编译生成新的 msi。

drak /x 选项可以反编译出 msi 中的二进制数据,如图像、Custom Action 代码。

为什么不直接生成一个全新的 msi 呢?原因是需要保留原始 msi 中的 Product UpgradeCode,以及每个文件的 GUID,使得新的 msi 与老的兼容。所以经过这么和并两个 msi 既保留了原始 GUID,又加入了 .NET 检测功能。实为“偷梁换柱”之计,上纲上线到三十六计,就是其第二十五计。

注:老的 wbeditor.msi 是用 MAKEMSI 工具做的。

抱歉!评论已关闭.