为XNA制做安装程序(三)使用安装和部署项目

好像只有Team版的Visual Studio支持这个项目类型的创建,在解决方案管理器中的解决方案名称中点击右键,选择“添加新项目”,在弹出的对话框中选择“其它项目类型”中的“安装和部署”,在右边上面的下拉框中选择“.NET Framework 2.0”,选择“安装项目”,起一个项目名称,这里命名为“JewelsSetup”,选择项目所在位置,点击“确定”。

2009111210

打开新建立的项目如图,文件系统中,默认有三个文件夹,应用程序文件夹、用户的“程序”菜单,用户桌面。你还可以自己增加其它的特殊文件夹如Windows文件夹、启动文件夹、System、Common Files、Program Files 、Personal Data、Fonts等。这里暂时不需要那么多。

2009111211

第一,先将第一讲所说的基本的文件拖到应用程序文件夹当中来,包括Content目录和Jewels.exe,当这个exe文件拖入进来时,右侧的项目下会检测到依赖项目:Microsoft.NET Framework,双击这个东西,左侧会打开“启动条件”选项卡,在.NET Framework上点击右键-》属性,将右下角的属性中的Version中的3.5.30729修改成:2.0.50727。虽然那个项目是.NET2.0的,但是由于是Viusal Studio 2008创建的,拖进安装和部署这个项目里来后都会被认为是依赖.NET3.5的项目,算是小bug吧。

 

 

2009111212

回到文件系统选项卡,在应用程序文件夹中,给游戏程序Jewels.exe右键单击创建一个快捷方式并更名为Jewels(在属性中可以指定ICO图标),并拖进“用户桌面”文件夹中,这样安装后就会在桌面创建一个快捷方式。可以用同样的方法在用户“程序”菜单中也建立一个快捷方式。

右键点击JewelsSetup,选择属性,打开属性页,可以设置输出的MSI文件名,包文件的集成方式和压缩方式。关于包文件的集成方式有三种,“以松散的未压缩的形式”指不改动程序文件,安装程序只是将它们复制到安装文件夹中去;“在安装文件中”指把程序文件打包到MSI文件中去;“在压缩文件中”指把程序文件打包到.CAB压缩文件中去,并可以限制.CAB文件大小,实现分卷压缩的功能。这里我们选择“在安装文件中”:

2009111213

在上图中点击“系统必备”,弹出对话框,勾选“创建用于安装系统必备组件的安装程序”,选择.NET Framework 2.0和最下面的Microsoft XNA Framework Redistributable 3.1,然后在“指定系统必备组件的安装位置”处选择“从我的应用程序相同的位置下载系统必备组件”,让用户不用再联网下载相关组件:

2009111214

点击确定关闭属性页后,打开属性窗口(Ctrl+W,P),点击JewelsSetup项目名称,来看一下这个项目的属性:

2009111215

Author:程序作者
Description:程序描述
DetectNewerInstalledVersion:指定在安装期间是否检查应用程序的更新版本
InstallAllUsers:指定该包是为所有用户还是只为进行安装的用户安装的
Manufacturer:指定应用程序或组件制造商的名称,这个参数可以决定安装文件夹的名称
ProductName:产品名称,这个参数可以决定安装文件夹的名称
RemovePreviousVersions:指定安装程序在安装期间是否移除应用程序的早期版本

然后点击应用程序文件夹,查看DefaultLocation属性:

2009111216

这里的值是:[ProgramFilesFolder][Manufacturer]\[ProductName],Manufacturer和ProductName都是从上面的设置中获取,本例中的默认安装位置就是X:\Program Files\Omgsoft\JewelsSetup,这个位置用户也可以在安装时自行更改。

右键单击JewelsSetup项目名称,选择“视图”-》“用户界面”,可以设置预定义的安装对话框,也可以添加自定义对话框,这里就使用默认的,修改对话框的BannerBitmap属性指定一张程序图片:

2009111217

最后右键单击JewelsSetup项目名称点击“生成”,安装程序就做好了,在bin\Release目录下可以找到,与自带的那个发布的程序安装包有些不同,没有App Files文件夹,这里生成的是一个MSI标准安装文件格式。

 

 

 

 

 

2009111218

Win7下安装顺利,只抓一个图上来

2009111219

 

在控制面版中,右键会有:卸载,更改,修复三个选择,这也和上一种安装方式不太一样。

在XP系统中,同样会先弹出.net和Xna的安装许可,同意后会先安装组件,之后与Win7中就一样了。验证安装成功,程序可以运行,也可以正常从控制面版中卸载。

另外使用这种方法制做的安装包,还能自动创建文件关联和注册表键值等,功能还是够用的。

比较上一篇文件文章用的方法,建立安装和部署项目更加灵活和符合用户和开发者实际需要,是推荐使用的方法,但是Visual Studio 2008 Express版本无法建立这个项目,开发者可能不会选择安装庞大的Team版本,所以下一篇介绍一个可以安装在Express版本上的开源第三方打包工具WIX(Windows Installer Xml (WiX) toolset )。

希望本文能对您有所帮助。

未完待续。

posted @ 2009-11-13 19:19  风海迷沙  阅读(2150)  评论(0编辑  收藏  举报