日历归档 |
|
<< < 2024 - 12 > >> | Su | Mo | Tu | We | Th | Fr | Sa | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|
|
|
About Me |
|
|
ZhangSichu |
|
Male |
|
32 |
|
ZhangSichu@gmail.com |
|
ZhangSichu@hotmail.com |
|
ZhangSichu.com |
|
weibo.com/zhangsichu |
|
|
|
个人推荐 |
|
|
|
|
分类归档 |
|
|
|
|
My Friends |
|
|
|
|
小结在制作MergeModule和Setup时遇到的问题
|
客户要求,制作一个MergeModule。用这个MergeModule制作一个Setup。要求当用户的操作系统是Vista时弹出一个对话框提示用户一些信息。如果不是Vista不提示任何信息。从微软的MSDN看到的方案是做一个弹出信息的Dll 或Exe的CustomAction, 放在Custom Actions里的Install里。用这个方法作的MergeModule和Setup在Windows2003和Xp下都没有问题。可是在Vista下一运行,Setup总是意外中断。不知道什么原因。后来搜索微软的帮助文档也没有找到答案。CustomActions中有Install Commit Rollback Uninstall 4种Action提供了4个时机为Setup扩展。Install不成功,换Commit。其实对Commit是否能成功也是试试看。换成Commit后在Windows 2003 Xp Vista下都没有问题了。都成功了。 从这次MergeModule的制作有3个收获: 1. 当Setup程序出错时很不好调试。软软提供了一个调试方法:msiexec /i yoursetup.msi /l*v C:\setuplog.txt。在log中可以看到很详细的安装信息。如果出错会有出错的地点,和错误返回码,帮助调查问题。 2. 如果MergeModule要支持Vista最好不要在CustomActions的Install中作扩展。 3. 不要加MergeModule的Output到Setup的MergeModule中。最好加一个已经Build好的MergeModule到Setup中。
|
|
|
|
|
|