下面的演练演示如何创建一个 DLL 自定义操作,以便在安装结束时将用户直接连接到某个网页。 可使用自定义操作在完成安装后运行代码。
注意
对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置。
创建自定义操作
-
在“文件”菜单上,单击“新建项目”。
-
在“新建项目”对话框中,选择“Windows”,再单击“类库”。 在“名称”框中键入“OpenWeb”。
该项目随即添加到“解决方案资源管理器”中。
-
在“项目”菜单上,单击“添加类”,然后在“添加新项”对话框中单击“安装程序类”。 接受默认名称 Installer1,然后单击“添加”。
-
通过在设计图面上单击“单击此处切换到代码视图”(或右击设计图面,再单击“查看代码”),切换到代码视图。
-
在“代码编辑器”中,将以下代码(可打开 Web 浏览器)添加到 Installer1 代码文件中的构造函数下。
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)] public override void Install(IDictionary stateSaver) { base.Install(stateSaver); } [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)] public override void Commit(IDictionary savedState) { base.Commit(savedState); System.Diagnostics.Process.Start("http://www.microsoft.com"); } [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)] public override void Rollback(IDictionary savedState) { base.Rollback(savedState); } [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)] public override void Uninstall(IDictionary savedState) { base.Uninstall(savedState); }
注意
如果您键入 Public Overrides,然后键入空格,IntelliSense 会提供一个方法和属性列表;您可以从该列表中选择“Commit”并获得完整的声明。 对 Install、Rollback 和 Uninstall 方法重复上述操作。
- 在“解决方案资源管理器”中,右击 Class1 代码文件,再单击“删除”(因为它是不必要的)。
添加部署项目
-
在“文件”菜单上指向“添加”,然后单击“新建项目”。
-
在“添加新项目”对话框中,展开“其他项目类型”节点,展开“安装和部署项目”,单击“Visual Studio Installer”,然后再单击“安装项目”。 在“名称”框中键入“自定义操作安装程序”。
项目添加到“解决方案资源管理器”中,并显示“文件系统编辑器”。
-
在“文件系统编辑器”中,在左窗格中选择“应用程序文件夹”。 在“操作”菜单上指向“添加”,然后单击“项目输出”。
-
在“添加项目输出组”对话框中,OpenWeb 将显示在“项目”列表中。 选择“主输出”。
“OpenWeb 的主输出(活动)”显示在“应用程序文件夹”中。
添加自定义操作
-
在“解决方案资源管理器”中选择“自定义操作安装程序”项目。 在“视图”菜单上指向“编辑器”,然后单击“自定义操作”。
此时将会显示“自定义操作编辑器”。
-
在“自定义操作编辑器”中选择“提交”节点。 在“操作”菜单上,单击“添加自定义操作”。
-
在“选择项目中的项”对话框中,双击“应用程序文件夹”。 选择“OpenWeb 的主输出”。
“主输出来自 OpenWeb”显示在“自定义操作编辑器”中“提交”节点的下方。
-
在“属性”窗口中,确保将“InstallerClass”属性设置为“True”(这是默认值)。
-
在“自定义操作编辑器”中,选择“Install”节点,并将“OpenWeb 的主输出”添加到该节点中(类似于“Commit”节点)。
-
在“生成”菜单上,单击“生成自定义操作安装程序”。
在开发计算机上安装
-
在“解决方案资源管理器”中选择“自定义操作安装程序”项目。 在“项目”菜单上,单击“安装”。
这将在开发计算机上运行安装程序并安装“自定义操作安装程序”。 在安装结束时,Internet Explorer 应当启动并打开 Microsoft.com 网站。
注意
您必须在计算机上拥有安装权限才能运行该安装程序。
部署到其他计算机
-
在“解决方案资源管理器”中,右击安装项目,然后单击“在 Windows 资源管理器中打开文件夹”。
-
导航到项目输出,并将 Custom Action Installer.msi、Setup.exe 和该目录下的所有其他文件和子目录复制到另一台计算机上。
注意
若要在未联网的计算机上安装,请将文件复制到诸如 CD-ROM 的传统媒体中。
-
在目标计算机上双击 Setup.exe 运行安装程序。
在安装结束时,Internet Explorer 应当启动并打开 Microsoft.com 网站。
注意
您必须在计算机上拥有安装权限才能运行该安装程序。
注意
如果 .NET Framework 尚未安装在目标计算机上,此部署将会安装它,安装过程可能需要几分钟的时间。
卸载应用程序
-
在“控制面板”中,双击“添加或删除程序”。
-
在“添加或删除程序”对话框中,选择“自定义操作安装程序”,然后单击“删除”。
提示
若要从开发计算机上卸载,请在“自定义操作安装程序”项目在“解决方案资源管理器”中打开并选定的情况下,单击“项目”菜单上的“卸载”。
转自:演练:创建自定义操作