演练:安装时使用自定义操作显示消息
更新:2007 年 11 月
下面的演练演示如何使用自定义操作接受用户输入,并将用户输入传递给安装期间出现的消息框。这是一个很简单的自定义操作演示,对于其他许多任务都十分有用。例如,自定义操作可以接受 Setup.exe 文件的位置作为用户输入,并在安装应用程序后使用该位置来启动应用程序。
此演练演示如何使用自定义操作向动态属性传递数据,以及如何使用安装程序类和“CustomActionData”属性。
说明: |
---|
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请单击“工具”菜单上的“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。 |
说明: |
---|
下面的说明演示如何使用 Visual Basic 项目创建部署项目,其一般原则适用于支持部署 Windows 应用程序的所有 Visual Studio 语言项目。 |
创建自定义操作
在“文件”菜单上指向“新建”,然后单击“项目”。
在“新建项目”对话框中,选择“项目类型”窗格中的“Visual Basic”,然后在“模板”窗格中选择“类库”。在“名称”框中键入 PassData。
该项目随即添加到“解决方案资源管理器”中。
创建安装程序类
在“项目”菜单上单击“添加类”。
在“添加新项”对话框中选择“安装程序类”。接受默认名称。
当该安装程序类出现在设计图面上后,右击设计图面,然后单击“查看代码”在代码编辑器中查看文件内容。
添加下列过程以重写基类的 Install 过程:
Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary) MyBase.Install(stateSaver) Dim myInput As String = Me.Context.Parameters.Item("Message") If myInput Is Nothing Then myInput = "There was no message specified" End If MsgBox(myInput) End Sub
说明: 如果您键入 Public Overrides,然后键入空格,Intellisense 会提供一个方法和属性列表,您可以从该列表中选择“Install”并获取完整的声明。
在“解决方案资源管理器”中,右击“Class1.vb”,然后选择“删除”(因为它是不必要的)。
创建部署项目
在“文件”菜单上指向“添加”,然后单击“新建项目”。
在“添加新项目”对话框的“项目类型”窗格中,展开“其他项目类型”节点并选择“安装和部署”,然后在“模板”窗格中选择“安装项目”。在“名称”框中键入“PassData 安装程序”。
在“属性”窗口中,选择“ProductName”属性并键入“PassData”。
此外,选择“Manufacturer”属性并键入“我的公司”。
在“文件系统编辑器”中,选择“应用程序文件夹”节点。在“操作”菜单上指向“添加”,然后单击“项目输出”。
在“添加项目输出组”对话框中,为“PassData”项目选择主输出。
“主输出来自 PassData (活动)”随即出现在“文件系统编辑器”中。
添加自定义操作
在“解决方案资源管理器”中选择“PassData 安装程序”项目。在“视图”菜单上指向“编辑器”,然后单击“自定义操作”。
在“自定义操作编辑器”中选择(顶级)“安装”节点。在“操作”菜单上单击“添加自定义操作”。
在“选择项目中的项”对话框中,双击“应用程序文件夹”。
选择“主输出来自 PassData (活动)”。执行此操作后,PassData 自定义操作将添加到“安装”节点中。
在“属性”窗口中,选择“CustomActionData”属性并键入 /Message="[MESSAGE]"。
确保“InstallerClass”属性设置为“True”(这是默认值)。
自定义安装用户界面
在“解决方案资源管理器”中选择“安装”项目。在“视图”菜单上指向“编辑器”,然后单击“用户界面”。
在“用户界面编辑器”中,选择“安装”下面的“启动”节点。在“操作”菜单上单击“添加对话框”。
在“添加对话框”对话框中,选择“文本框 (A)”对话框。
在“操作”菜单上单击“上移”。重复此步骤,直到“文本框 (A)”对话框位于“安装文件夹”节点之上。
在“属性”窗口中,选择“BannerText”属性并键入:
消息内容
选择“BodyText”属性并键入:
请在此输入消息。
选择“Edit1Label”属性并键入:
消息:
选择“Edit1Property”属性并键入:
消息
选择“Edit2Visible”、“Edit3Visible”和“Edit4Visible”属性,将它们设置为“False”。
在“生成”菜单上单击“生成 PassData 安装程序”。
在开发计算机上安装
在“解决方案资源管理器”中选择“PassData 安装程序”项目。在“项目”菜单上单击“安装”。
这将在开发计算机上运行安装程序。在“消息内容”安装对话框中,键入 Hello World!。
说明: 您必须在计算机上拥有安装权限才能运行该安装程序。
部署到其他计算机
在“Windows 资源管理器”中,定位到项目目录并找到生成的安装程序。默认路径将为 \Documents and Settings\您的登录名\My Documents\Visual Studio 2005\Projects\解决方案文件夹名\My Notepad Installer\项目配置\My Notepad Installer.msi。默认项目配置为“调试”或“发布”。
将“PassData 安装程序.msi”、Setup.exe 以及该目录下的其他所有文件和子目录复制到另一台计算机上。
说明: 若要在未联网的计算机上安装,请将文件复制到诸如 CD-ROM 的传统媒体中。
在目标计算机上双击 Setup.exe 运行安装程序。在“消息内容”安装对话框中,键入 Hello World!。
说明: 您必须在计算机上拥有安装权限才能运行该安装程序。
测试安装
- 运行此应用程序,验证文本框是否包含安装期间输入的文本“Hello World!”。
卸载应用程序
在 Windows“控制面板”中,双击“添加/删除程序”。
在“添加/删除程序”对话框中,选择“PassData 安装程序”并单击“删除”,然后单击“确定”关闭对话框。
提示: 若要从开发计算机上卸载,请在“项目”菜单上单击“卸载”。