【问题标题】:How to run executable at end of Setup Project?如何在安装项目结束时运行可执行文件?
【发布时间】:2008-09-13 14:25:30
【问题描述】:

我有一个 Visual Studio 安装项目,我用它来安装一个相当简单的 WinForms 应用程序。在安装结束时,我有一个自定义用户界面页面,其中显示了一个复选框,询问用户是否要运行该应用程序。我见过其他安装程序经常这样做。但我找不到让安装项目在安装完成后运行可执行文件的方法。一个想法?

注意:您不能使用自定义操作,因为这些操作被用作安装过程的一部分,我想在用户在安装结束时按下“关闭”按钮后运行我安装的应用程序。

【问题讨论】:

    标签: winforms installation


    【解决方案1】:

    我相信这是 Visual Studio 安装项目的真正限制之一。您需要能够修改安装 UI 的最后一页,但 VS.NET 并没有为您提供执行此操作的方法。您可以在 .MSI 构建后修改表,但 VS.NET 可能会在每次构建时覆盖这些更改。您可以使用安装项目中包含的合并模块覆盖最后一页。无论哪种方式,您都需要熟悉如何在 .MSI 中编写 UI 对话框,这并非易事。

    您可能需要考虑改用基于脚本的免费安装程序或购买商业设置创作应用程序(只是不要因为 Pete 的爱而购买 InstallShield)。看看InstallAware(虽然我没用过)。

    【讨论】:

      【解决方案2】:

      我刚刚找到了一种不需要外部工具的非常简单的方法。您只需向主项目添加一个类文件,向设置项目添加一个自定义操作。

      http://www.codeproject.com/KB/install/Installation.aspx

      【讨论】:

      • 感谢链接帮助我更好地理解了整个过程
      【解决方案3】:

      您也可以使用自定义操作

      【讨论】:

      • 在海关操作的提交文件夹下,您可以选择添加自定义操作并浏览到您的主要输出 exe。这将在安装后执行。您还可以根据可以添加到设置对话框的复选框使其成为有条件的。例如,在条件属性中,您将拥有 CHECKBOXA1=1
      【解决方案4】:

      我通过创建一个 VB 脚本工具来为内部应用程序完成此操作,该工具启动安装可执行文件,等待它关闭,然后启动第二个程序。

      您还可以在 C 可执行文件中使用一些 Win API 调用来完成此操作。

      【讨论】:

        【解决方案5】:

        您可以使用 MSILAUNCH(尽管我只让它与 MSICREATE 一起使用)。

        http://www.cornerhouse.ca/en/msi.html

        【讨论】:

          【解决方案6】:

          我通过使用以下行调用程序集的 Main 方法来管理它:

          (typeof(ClassWithinAssemblyToExecute)).Assembly.EntryPoint.Invoke(null, new Object[] {} )
          

          【讨论】:

          • 好的,所以这不会启动一个新进程,但它可以满足我的需要,因为我需要做的就是运行一个小的配置表单。
          【解决方案7】:

          您可以通过自定义安装程序来完成。只需添加安装程序类,您就会在安装后看到许多事件,如安装前。只需在安装后连接并从那里按进程类运行你的 exe。我建议你用谷歌搜索更多关于自定义安装程序的信息。 这是一个很好的链接,可以帮助你http://www.codeproject.com/Articles/19560/Launching-Your-Application-After-Install-using-Vis

          谢谢

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-05-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多