演练:安装时使用自定义操作显示消息

更新:2007 年 11 月

下面的演练演示如何使用自定义操作接受用户输入,并将用户输入传递给安装期间出现的消息框。这是一个很简单的自定义操作演示,对于其他许多任务都十分有用。例如,自定义操作可以接受 Setup.exe 文件的位置作为用户输入,并在安装应用程序后使用该位置来启动应用程序。

此演练演示如何使用自定义操作向动态属性传递数据,以及如何使用安装程序类和“CustomActionData”属性。

说明:

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请单击“工具”菜单上的“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置

说明:

下面的说明演示如何使用 Visual Basic 项目创建部署项目,其一般原则适用于支持部署 Windows 应用程序的所有 Visual Studio 语言项目。

创建自定义操作

  1. 在“文件”菜单上指向“新建”,然后单击“项目”。

  2. 在“新建项目”对话框中,选择“项目类型”窗格中的“Visual Basic”,然后在“模板”窗格中选择“类库”。在“名称”框中键入 PassData。

    该项目随即添加到“解决方案资源管理器”中。

创建安装程序类

  1. 在“项目”菜单上单击“添加类”。

    在“添加新项”对话框中选择“安装程序类”。接受默认名称。

  2. 当该安装程序类出现在设计图面上后,右击设计图面,然后单击“查看代码”在代码编辑器中查看文件内容。

  3. 添加下列过程以重写基类的 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”并获取完整的声明。

  4. 在“解决方案资源管理器”中,右击“Class1.vb”,然后选择“删除”(因为它是不必要的)。

创建部署项目

  1. 在“文件”菜单上指向“添加”,然后单击“新建项目”。

  2. 在“添加新项目”对话框的“项目类型”窗格中,展开“其他项目类型”节点并选择“安装和部署”,然后在“模板”窗格中选择“安装项目”。在“名称”框中键入“PassData 安装程序”。

  3. 在“属性”窗口中,选择“ProductName”属性并键入“PassData”。

    此外,选择“Manufacturer”属性并键入“我的公司”。

  4. 在“文件系统编辑器”中,选择“应用程序文件夹”节点。在“操作”菜单上指向“添加”,然后单击“项目输出”。

  5. 在“添加项目输出组”对话框中,为“PassData”项目选择主输出。

    “主输出来自 PassData (活动)”随即出现在“文件系统编辑器”中。

添加自定义操作

  1. 在“解决方案资源管理器”中选择“PassData 安装程序”项目。在“视图”菜单上指向“编辑器”,然后单击“自定义操作”。

  2. 在“自定义操作编辑器”中选择(顶级)“安装”节点。在“操作”菜单上单击“添加自定义操作”。

  3. 在“选择项目中的项”对话框中,双击“应用程序文件夹”。

    选择“主输出来自 PassData (活动)”。执行此操作后,PassData 自定义操作将添加到“安装”节点中。

  4. 在“属性”窗口中,选择“CustomActionData”属性并键入 /Message="[MESSAGE]"。

    确保“InstallerClass”属性设置为“True”(这是默认值)。

自定义安装用户界面

  1. 在“解决方案资源管理器”中选择“安装”项目。在“视图”菜单上指向“编辑器”,然后单击“用户界面”。

  2. 在“用户界面编辑器”中,选择“安装”下面的“启动”节点。在“操作”菜单上单击“添加对话框”。

  3. 在“添加对话框”对话框中,选择“文本框 (A)”对话框。

  4. 在“操作”菜单上单击“上移”。重复此步骤,直到“文本框 (A)”对话框位于“安装文件夹”节点之上。

  5. 在“属性”窗口中,选择“BannerText”属性并键入:

    消息内容

  6. 选择“BodyText”属性并键入:

    请在此输入消息。

  7. 选择“Edit1Label”属性并键入:

    消息:

  8. 选择“Edit1Property”属性并键入:

    消息

  9. 选择“Edit2Visible”、“Edit3Visible”和“Edit4Visible”属性,将它们设置为“False”。

  10. 在“生成”菜单上单击“生成 PassData 安装程序”

在开发计算机上安装

  • 在“解决方案资源管理器”中选择“PassData 安装程序”项目。在“项目”菜单上单击“安装”。

    这将在开发计算机上运行安装程序。在“消息内容”安装对话框中,键入 Hello World!。

    说明:

    您必须在计算机上拥有安装权限才能运行该安装程序。

部署到其他计算机

  1. 在“Windows 资源管理器”中,定位到项目目录并找到生成的安装程序。默认路径将为 \Documents and Settings\您的登录名\My Documents\Visual Studio 2005\Projects\解决方案文件夹名\My Notepad Installer\项目配置\My Notepad Installer.msi。默认项目配置为“调试”或“发布”。

  2. 将“PassData 安装程序.msi”、Setup.exe 以及该目录下的其他所有文件和子目录复制到另一台计算机上。

    说明:

    若要在未联网的计算机上安装,请将文件复制到诸如 CD-ROM 的传统媒体中。

    在目标计算机上双击 Setup.exe 运行安装程序。在“消息内容”安装对话框中,键入 Hello World!。

    说明:

    您必须在计算机上拥有安装权限才能运行该安装程序。

测试安装

  • 运行此应用程序,验证文本框是否包含安装期间输入的文本“Hello World!”。

卸载应用程序

  1. 在 Windows“控制面板”中,双击“添加/删除程序”。

  2. 在“添加/删除程序”对话框中,选择“PassData 安装程序”并单击“删除”,然后单击“确定”关闭对话框。

    提示:

    若要从开发计算机上卸载,请在“项目”菜单上单击“卸载”。

请参见

参考

CustomActionData 属性

其他资源

部署中的自定义操作管理

使用安装组件