您的位置:首页 > 其它

InstallShield 2009制作集成.NET Framework 2.0 Service Pack 2的安装包

2009-04-29 21:20 375 查看
作者:veryhappy(wx.net)

1 概要

InstallShield 2009安装后Redistributables(可分发组件包)中包括了.Net
Framework 2.0 sp1。个别项目要求打包时需要集成.Net
Framework 2.0 sp2。下面介绍下手动如何扩展Redistributables,增加自己需要的发布组件包。

2 详细过程

2.1
获取.Net Framework 2.0 sp2分发组件包

当然要去Microsoft的官方网站。
http://www.microsoft.com/downloads/details.aspx?FamilyID=5b2c0358-915b-4eb5-9b1d-10e506da9d0f&DisplayLang=zh-cn

NetFx20SP2_x86.exe,大小23.8 MB

2.2
创建InstallShield Prerequisite文件(*.prq)

在X:/Program
Files/InstallShield/2009/SetupPrerequisites目录下保存*.prq文件,它就是utf-8编码的xml文件。创建一个Microsoft .NET
Framework 2.0 SP2.prq。
文件说明,主要节点:
<conditions>验证目标机组件包是否存在的条件,可以通过注册表、特殊文件版本等;
<files>本地组件包文件路径;
还有其他一些节点,这里不做详细说明了,建议大家不要自己编写prq文件内容,直接从现有的prq文件复制一个新的Microsoft .NET Framework 2.0 SP2.prq文件即可。至于文件里的内容可以通过InstallShield的界面来修改。

2.3
配置InstallShield Prerequisite

Microsoft .NET Framework 2.0 SP2.prq文件创建好后,进入InstallShield的Redistributables列表后可以看到Microsoft .NET Framework 2.0 SP2组件,当然现在还不能直接使用,需要进入Edit Prerequisite来进行一些必要的配置。一共6个选项卡,其中Conditions、Files to Include非常重要必须配置。
Conditions中包含如何验证目标系统中是否包含Microsoft .NET Framework 2.0 SP2,或指定特殊的操作系统。通过Add按钮来增加验证条件,这里是通过验证注册表里是指定键值(HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework
Setup/NDP/v2.0.50727下sp的键值是否等于2)来判断的,具体设置:

Select the type of condition:A registry entry has a specified value

Properties:

Specify the registry key name to check:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework
Setup/NDP/v2.0.50727

Specify the registry value name to check:SP

Specify the registry value data to check:2

Check the following registry location on a 64-bit system:Default

Run this prerequisite if the specified registry value data has the
following relationship to:is not equal to

Files to Include中File和Url分别是设置本地组件包的路径,通过http下载的url。
Application to Run设置组件包运行时必要的参数。
Behavior设置组件包安装前权限条件或重启方式。
最后File-Save来保存配置。

以上都设置好后之需要把Microsoft
.NET Framework 2.0 SP2勾选上,再编译就OK了。打包后的安装程序会通过注册表验证目标机是否有Microsoft .NET Framework 2.0 SP2组件包,没有的话就会提示用户安装。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: