21

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

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

4

7 回答 7

7

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

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

于 2008-09-13T17:17:39.927 回答
5

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

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

于 2010-11-24T12:30:03.887 回答
4

您还可以使用自定义操作

于 2009-12-10T09:32:03.457 回答
1

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

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

于 2008-09-13T16:03:58.717 回答
1

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

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

于 2008-11-17T02:55:57.487 回答
0

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

(typeof(ClassWithinAssemblyToExecute)).Assembly.EntryPoint.Invoke(null, new Object[] {} )
于 2011-09-13T04:32:46.807 回答
0

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

谢谢

于 2013-01-29T12:34:13.977 回答