VS2010 部署程序在安装完成后自动启动外部程序

时间:2023-02-22 10:40:37

下面的演练演示如何创建一个 DLL 自定义操作,以便在安装结束时将用户直接连接到某个网页。 可使用自定义操作在完成安装后运行代码。

VS2010 部署程序在安装完成后自动启动外部程序注意

对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置

创建自定义操作
  1. 在“文件”菜单上,单击“新建项目”。

  2. 在“新建项目”对话框中,选择“Windows”,再单击“类库”。 在“名称”框中键入“OpenWeb”。

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

  3. 在“项目”菜单上,单击“添加类”,然后在“添加新项”对话框中单击“安装程序类”。 接受默认名称 Installer1,然后单击“添加”。

  4. 通过在设计图面上单击“单击此处切换到代码视图”(或右击设计图面,再单击“查看代码”),切换到代码视图。

  5. 在“代码编辑器”中,将以下代码(可打开 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 方法重复上述操作。

  1. 在“解决方案资源管理器”中,右击 Class1 代码文件,再单击“删除”(因为它是不必要的)。
添加部署项目
  1. 在“文件”菜单上指向“添加”,然后单击“新建项目”。

  2. 在“添加新项目”对话框中,展开“其他项目类型”节点,展开“安装和部署项目”,单击“Visual Studio Installer”,然后再单击“安装项目”。 在“名称”框中键入“自定义操作安装程序”。

    项目添加到“解决方案资源管理器”中,并显示“文件系统编辑器”。

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

  4. 在“添加项目输出组”对话框中,OpenWeb 将显示在“项目”列表中。 选择“主输出”。

    “OpenWeb 的主输出(活动)”显示在“应用程序文件夹”中。

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

    此时将会显示“自定义操作编辑器”。

  2. 在“自定义操作编辑器”中选择“提交”节点。 在“操作”菜单上,单击“添加自定义操作”。

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

    “主输出来自 OpenWeb”显示在“自定义操作编辑器”中“提交”节点的下方。

  4. 在“属性”窗口中,确保将“InstallerClass”属性设置为“True”(这是默认值)。

  5. 在“自定义操作编辑器”中,选择“Install”节点,并将“OpenWeb 的主输出”添加到该节点中(类似于“Commit”节点)。

  6. 在“生成”菜单上,单击“生成自定义操作安装程序”。

在开发计算机上安装
  • 在“解决方案资源管理器”中选择“自定义操作安装程序”项目。 在“项目”菜单上,单击“安装”。

    这将在开发计算机上运行安装程序并安装“自定义操作安装程序”。 在安装结束时,Internet Explorer 应当启动并打开 Microsoft.com 网站。

    VS2010 部署程序在安装完成后自动启动外部程序注意

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

部署到其他计算机
  1. 在“解决方案资源管理器”中,右击安装项目,然后单击“在 Windows 资源管理器中打开文件夹”。

  2. 导航到项目输出,并将 Custom Action Installer.msi、Setup.exe 和该目录下的所有其他文件和子目录复制到另一台计算机上。

    VS2010 部署程序在安装完成后自动启动外部程序注意

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

  3. 在目标计算机上双击 Setup.exe 运行安装程序。

    在安装结束时,Internet Explorer 应当启动并打开 Microsoft.com 网站。

    VS2010 部署程序在安装完成后自动启动外部程序注意

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

    VS2010 部署程序在安装完成后自动启动外部程序注意

    如果 .NET Framework 尚未安装在目标计算机上,此部署将会安装它,安装过程可能需要几分钟的时间。

卸载应用程序
  1. 在“控制面板”中,双击“添加或删除程序”。

  2. 在“添加或删除程序”对话框中,选择“自定义操作安装程序”,然后单击“删除”。

    VS2010 部署程序在安装完成后自动启动外部程序提示

    若要从开发计算机上卸载,请在“自定义操作安装程序”项目在“解决方案资源管理器”中打开并选定的情况下,单击“项目”菜单上的“卸载”。

转自:演练:创建自定义操作