系统环境:windows xp sp2. IS2010premier 先决条件:MSI4.5 或以上 1). 首先选择project 类型, 在这个实验里,我们选择 Basic MSI. 2). 在project Assistant 处可以填写必要的信息(由于与本文讨论重点无关,不详细提及),点到Installation Designer 处。 3).选择Media---Releases 4).有键点chained .msi package, 点新建. 然后改成自己喜欢或者容易记录的名字. 5).点Brow se,选择你需要安装的MSI. 6).选择好后,IS 会弹出一对话框. (具体意思我就不翻译, 大家自己用点耐心看比较好.) 如果选择是, IS 会整合 chained package 的MSI 到用户将要生成的MSI 内部, 选择否, 则不会整合. 在这个例子中笔者选择否. 7 ).在这里不得不提到一个路径问题, 就是 Sou rceDir. 简单来说 Sou rceDir 就是 IS project 生成的 MSI 所在的位置. 8). 关于chained package 的参数解释. 1. Produ ct code: 这个选项为MSI 的GUID 2.UI lev el: Basic UI(/qb)---只可以见到MSI 的进度条,但伴随着一个取消的按狃 Fu ll UI(/qf)----这个不用说了把 Redu ced UI(/qr)---这个就是显示一个安装界面和进度条 No UI(/qn)----没有任何安装界面 3. Install condition: Not Installed 如果该 MSI 安装过就不安装,还没安装过就安装 4. install properties: 此处填安装 msi 的参数,例如 ADDLOCAL=ALL COMPANYNAME=MS. 但不需要静默安装参数,因为在 UI lev el 里面已经选好了 5. Remov al condition: 这个跟 Install condition 一样,保持默认就好 6. Remov al properties: 这个是卸载时所需要的参数, 同样,静默参数不需要填写. 值得注意的是, Remov al condition 里面的参数, REMOVE="ALL" 意思就是 当卸载软件的时候,该 MSI就会完全被卸载, 很多情况下我们不希望安装的插件被无情地 ov er,因为很多情况下,系统其他程序可能调 用 该 插 件 或 程 序 , 例 如 XML6. 这里 有 个小 技 巧 . 就 是 将REMOVE="ALL" 改成 Not Installed (注意大小写), 这样就不用担心插件或程序被卸载 详细请见IS 官方文档 http://kb.flexerasoftware.com/doc/Helpnet/installshield15helplib/ChainedMSIPackages.htm 关于MSI4.5 的详细介绍及下载 http://support.microsoft.com/kb/942288