演练:部署基于 Windows 的应用程序
本演练演示为启动记事本的基于 Windows 的应用程序创建一个安装程序的过程。 在本演练中,您将首先创建一个基于 Windows 的应用程序, 然后创建一个安装程序,以便在安装过程中设置快捷方式和文件关联、向注册表添加项、显示自定义对话框以及检查 Internet Explorer 的版本。
创建自己的安装程序时,不一定要执行上面的某些步骤。 本演练的目的是介绍部署中可能会用到的一些可选功能。 若只是创建一个基本的安装程序,则只需完成此过程中的前四个部分。
提示
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。
提示
下面的说明演示如何使用 Visual Basic 项目来创建部署项目, 其一般原则适用于支持部署基于 Windows 的应用程序的所有 Visual Studio 语言项目。
基本应用程序的创建和部署
创建一个基于 Windows 的应用程序
在**“文件”菜单上,单击“新建项目”**。
在**“新建项目”对话框中,选择“项目类型”窗格中的“Visual Basic”,然后单击“模板”窗格中的“Windows 应用程序”。 在“名称”**框中键入“My Notepad”。
单击**“确定”**关闭对话框。
项目添加到**“解决方案资源管理器”中,并且“Windows 窗体设计器”**打开。
在**“工具箱”中选择“所有 Windows 窗体”**选项卡,然后将一个 Button 控件拖到窗体中。
双击 Button 控件为该按钮添加事件处理程序。 在事件处理程序中添加下面的代码:
Shell("Notepad.exe", AppWinStyle.NormalFocus)
这将启动 Notepad.exe 并将焦点对准它。
在**“生成”菜单上单击“生成 My Notepad”**以生成该应用程序。
创建部署项目
在**“文件”菜单上指向“添加”,然后单击“新建项目”**。
在**“添加新项目”对话框中,打开“项目类型”窗格中的“其他项目类型”节点,单击“安装和部署项目”,再单击“Visual Studio Installer”,然后单击“安装项目”。 在“名称”**框中,键入“My Notepad Installer”。
单击**“确定”**关闭对话框。
项目添加到**“解决方案资源管理器”中,并且“文件系统编辑器”**打开。
在**“解决方案资源管理器”中选择“My Notepad Installer”项目。 在“属性”窗口中,选择“ProductName”**属性,键入“My Notepad”。
提示
“ProductName”属性指定在文件夹名称和“添加或删除程序”对话框中为应用程序显示的名称。
将基于 Windows 的应用程序添加到安装程序中
在**“解决方案资源管理器”中选择“My Notepad Installer”项目。 在“文件系统编辑器”中,右击“应用程序文件夹”**节点。
在**“项目”菜单上指向“添加”,然后单击“项目输出”**。
在**“添加项目输出组”对话框中,从“项目”列表中选择“My Notepad”**。
从列表中选择**“主输出”组。 在“配置”框中,选择“(活动)”。 单击“确定”**关闭对话框。
在**“生成”菜单上单击“生成 My Notepad Installer”**。
部署应用程序(基本安装程序)
在**“解决方案资源管理器”中选择“My Notepad Installer”项目。 在“项目”菜单上单击“安装”**。
此时,将运行安装程序(安装向导),并在开发计算机上安装**“My Notepad”**。
提示
您必须在计算机上拥有安装权限才能运行该安装程序。
可选的部署功能
此步骤演示了可选的部署功能。此步骤为应用程序创建一个快捷方式,该快捷方式将在安装过程中放置到目标计算机的桌面上。
为基于 Windows 的应用程序创建快捷方式
在**“解决方案资源管理器”中选择“My Notepad Installer”**项目。
在**“文件系统编辑器”中,选择“来自 My Notepad 的主输出”**节点。
在**“操作”菜单上单击“创建来自 My Notepad 的主输出的快捷方式”**。
此时,将会添加一个名为**“来自 My Notepad 的主输出的快捷方式”**节点。
将该快捷方式重命名为**“My Notepad 的快捷方式”**。
选择**“My Notepad 的快捷方式”,将它拖到左窗格的“用户桌面”**文件夹中。
创建文件关联
此步骤为“My Notepad”添加文件关联,以便在双击 .vbn 文件时打开“My Notepad”应用程序。
为基于 Windows 的应用程序创建文件关联
在**“解决方案资源管理器”中选择“My Notepad Installer”项目。 在“视图”菜单上指向“编辑器”,再单击“文件类型”。 此时将会显示“文件类型编辑器”**。
在**“文件类型编辑器”中,选择“目标计算机上的文件类型”节点。 在“操作”菜单上单击“添加文件类型”**。
此时,将会添加一个名为**“新文档类型 #1”**的节点,该节点打开以便于重命名。
将**“新文档类型 #1”**重命名为 Vbn.doc。
在**“属性”窗口中,将文件类型的“Extension”**属性设置为 vbn。
选择**“命令”属性,并单击省略号(“...”)按钮。 在“选择项目中的项”对话框中,定位到“应用程序文件夹”,选择“来自 My Notepad 的主输出”**。
单击**“确定”**关闭对话框。
添加注册表项
此步骤将一个注册表项以及相应的值添加到注册表中。 运行时,可以从应用程序代码中引用此注册表项以检索用户特定的信息。
为基于 Windows 的应用程序添加注册表项
在**“解决方案资源管理器”中选择“My Notepad Installer”项目。 在“视图”菜单上指向“编辑器”,再单击“注册表”。 此时,将会显示“注册表编辑器”**。
在**“注册表编辑器”中,选择“HKEY_CURRENT_USER”节点并展开它,再展开“Software”节点,然后选择“[Manufacturer]”**节点。
提示
“[Manufacturer]”节点用方括号括起来,以表示它是一个属性。 它将被替换为输入的部署项目的 Manufacturer 属性值。
在**“操作”菜单上指向“新建”,然后单击“项”**。
将该注册表项重命名为 UserChoice 并选定它。
在**“操作”菜单上指向“新建”,然后单击“字符串值”**。
将字符串值重命名为 TextColor。
在**“属性”窗口中,选择“Value”**属性,输入 Black。
添加自定义安装对话框
此步骤添加并配置一个在安装期间显示的自定义用户界面对话框。
添加自定义安装对话框
在**“解决方案资源管理器”中选择“My Notepad Installer”项目。 在“视图”菜单上指向“编辑器”,再单击“用户界面”。 此时,将会显示“用户界面编辑器”**。
在“用户界面编辑器”中,选择**“安装”节点下的“启动”**节点。
在**“操作”菜单上单击“添加对话框”**。
在**“添加对话框”对话框中,选择“复选框(A)”**。
单击**“确定”**关闭对话框。
右击**“复选框(A)”对话框,选择“上移”两次,将其定位到“安装文件夹”**对话框的上面。
在**“属性”窗口中,将“BannerText”**属性设置为“示例”。
将**“BodyText”**属性设置为下面的内容:
“安装示例”复选框控制是否安装示例文件。 如果该复选框保留为未选中状态,将不安装示例。
将**“CheckBox1Label”**属性设置为“是否安装示例?”。
将**“Checkbox2Visible”、“Checkbox3Visible”和“Checkbox4Visible”属性设置为“False”**。 这将隐藏其他复选框。
使用示例
此步骤创建一个 Samples 子文件夹,它将被安装到 Application 文件夹的下面。
添加 Samples 文件夹
在**“解决方案资源管理器”中选择“My Notepad Installer”项目。 在“视图”菜单上指向“编辑器”,再单击“文件系统”。 选中“应用程序文件夹”**(如果尚未选中)。
右击**“应用程序文件夹”,指向“添加”,再单击“文件夹”**。
将**“新建文件夹 #1”**重命名为 Samples。
此步骤创建两个示例文本文件,如果用户在自定义对话框中选中了**“安装示例”**选项,将会安装这两个文本文件。
为应用程序创建示例文件
使用记事本或其他文本编辑器,创建一个包含文本“这是 rules.vbn”的文本文件。将其另存为 Rules.vbn。
提示
若要防止记事本自动添加 .txt 扩展名,请从“文件类型”列表中选择“所有文件”。
再创建一个包含文本“这是 memo.vbn”的文本文件。将其另存为 Memo.vbn。
此步骤将示例文件添加到 Samples 文件夹中,并设置决定是否安装该文件的条件。
将示例添加到安装程序中
在**“解决方案资源管理器”中选择“My Notepad Installer”项目。 在“视图”菜单上指向“编辑器”,指向“文件系统”,再选择“Samples”**文件夹。
在**“操作”菜单上指向“添加”,再单击“文件”。 将“Rules.vbn”和“Memo.vbn”文件添加到“Samples”**文件夹中。
在**“文件系统编辑器”中选择“Rules.vbn”**文件。
在**“属性”窗口中,将“Condition”属性设置为 CHECKBOXA1=1。 运行安装程序时,只有在选中了此自定义复选框的情况下,才会安装“Rules.vbn”**文件。
在**“文件系统编辑器”中选择“Memo.vbn”**文件。
在**“属性”窗口中,将“Condition”属性设置为 CHECKBOXA1=1。 运行安装程序时,只有在选中了此自定义复选框的情况下,才会安装“Memo.vbn”**文件。
添加启动条件
此步骤检查目标计算机上是否安装了 Internet Explorer 5.0 或更高版本,如果未安装所需的文件,将停止安装。
添加启动条件来检查 Internet Explorer 版本
在**“解决方案资源管理器”中选择“My Notepad Installer”项目。 在“视图”菜单上指向“编辑器”,然后单击“启动条件”**。
提示
此步骤的用意仅仅在于说明启动条件的概念;事实上,“My Notepad”应用程序不依赖于 Internet Explorer。
在**“启动条件编辑器”中,选择“目标计算机上的要求”**节点。
在**“操作”菜单上单击“添加文件启动条件”**。
此时,将在**“搜索目标计算机”节点之下添加一个“搜索 File1”节点,在“启动条件”节点之下添加一个“Condition1”**节点。
将**“搜索 File1”**重命名为“搜索 Internet Explorer”。
在**“属性”窗口中,将“FileName”属性设置为 Iexplore.exe,将“Folder”属性设置为 [ProgramFilesFolder],将“Depth”属性设置为 2,将“MinVersion”**属性设置为 5.00。
选择**“Condition1”**节点。
将**“Message”**属性设置为下面的内容:
此程序需要 Microsoft Internet Explorer 5.0 或更高版本。 请安装 Internet Explorer 并重新运行 Notepad 安装程序。
设置系统必备组件的属性
此步骤将属性设置为,目标计算机上没有正确版本时自动安装 .NET Framework。 请注意,.NET Framework 2.0 包还将安装 Windows Installer 2.0 文件。
如果按照如下所示设置了系统必备属性,则单击 setup.exe 后,会在运行 .msi 文件前自动安装 .NET Framework (这是默认设置)。有关指定系统必备组件的更多信息,请参见“系统必备”对话框。
设置部署项目的可选属性
在**“解决方案资源管理器”中选择“My Notepad Installer”项目。 在“视图”菜单上,单击“属性页”**。
在**“My Notepad Installer 属性页”对话框的“安装 URL”中,指定用于安装应用程序和/或系统必备组件的服务器或网站的 URL。 单击“系统必备”**按钮。
在**“系统必备”对话框中,请务必在“请选择要安装的系统必备组件”下选择“.NET Framework”** (该选项在默认情况下处于选中状态)。接受**“指定系统必备组件的安装位置”**下方的默认设置。
在**“生成”菜单上单击“生成 My Notepad Installer”**。
在开发计算机上安装
此步骤将运行安装程序并在开发计算机上安装“My Notepad”。
在开发计算机上安装“My Notepad”
在**“解决方案资源管理器”中选择“My Notepad Installer”项目。 在“项目”菜单上单击“安装”**。
提示
您必须在计算机上拥有安装权限才能运行该安装程序。
部署到其他计算机
此步骤将运行安装程序并将“My Notepad”安装到其他计算机。
将“My Notepad”部署到其他计算机上
在**“Windows 资源管理器”**中,定位到项目目录并找到生成的安装程序。 默认路径将为 \Documents and Settings\您的登录名\My Documents\Visual Studio 9.0\Projects\解决方案文件夹名\My Notepad Installer\项目配置\My Notepad Installer.msi。 (默认项目配置 为“调试”或“发布”。)
将 My Notepad Installer.msi、Setup.exe 以及该目录下的其他所有文件和子目录复制到另一台计算机上。
提示
若要在未联网的计算机上安装,请将文件复制到诸如 CD-ROM 的传统媒体中。
在目标计算机上双击 Setup.exe 运行安装程序。
提示
您必须在目标计算机上拥有安装权限才能运行该安装程序。
测试
此步骤将会通过桌面快捷方式测试应用程序的启动,并且还将测试该应用程序的卸载。
测试安装
验证快捷方式是否安装到了桌面上以及是否能够正确启动“My Notepad”应用程序。
使用控制面板中的**“添加或删除程序”卸载该应用程序。 在“添加或删除程序”中,选择“My Notepad”,再单击“删除”**按钮。
提示
若要从开发计算机上卸载该应用程序,请在“项目”菜单上单击“卸载”。
将从桌面上移除图标,从计算机上删除安装的应用程序文件和文件夹。