There can be no Triumph without Loss,No Victory without Suffering,No Freedom without Sacrifice.
All you have to decide is what to do with the time that is given to you.
Get busy Living, or Get busy Dying?
  首页 | 留言给我 | 订阅 Rss | CLI | 黄白之恋 Posts:158   Hits: 5582567    Comments: 173    
 日历归档
<<  <  2024 - 12  >  >>
SuMoTuWeThFrSa
1234567
891011121314
15161718192021
22232425262728
293031
 About Me
 Name: ZhangSichu
 Sex: Male
 Age: 32
 Email: ZhangSichu@gmail.com
 MSN: ZhangSichu@hotmail.com
 Home: ZhangSichu.com
 WeiBo: weibo.com/zhangsichu
 个人推荐
 分类归档
  ·C++/C(5)  RSS
  ·软件工程(1)  RSS
  ·杂事/随感(26)  RSS
  ·.Net/Java(30)  RSS
  ·面向对象程序设计(5)  RSS
  ·汇编/破解(0)  RSS
  ·平面设计(3)  RSS
  ·SQL(5)  RSS
  ·COM/COM+(2)  RSS
  ·Web开发(81)  RSS
 My Friends
Back Forward Refresh Home 2024年12月9日 星期一 RSS CLI Mine Sweeper. In Javascript.

  小结在制作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中。
  Posted @ 2/1/2007 2:12:47 PM | Hits (51882) | Comment (0

  Post Comment
标题 *
作者 *
密码 记住我
评论 *
    


Stable in Firefox 1.5 2.0Stable in IE6 IE7Stable in MozillaStable in Netscape
ZhangSichu.com V0.1.7507
Powered By ZhangSichu
Copyright © ZhangSichu
Download ZhangSichu.com source code. Download source code