如何在安装项目结束时运行可执行文件?

时间:2008-09-13 14:25:30

标签: winforms installation

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

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

7 个答案:

答案 0 :(得分:7)

我认为这是Visual Studio安装项目的一个真正限制。您需要能够修改安装UI的最后一页,但VS.NET不会为您提供这样做的方法。您可以在构建后修改.MSI中的表,但VS.NET可能会在每次构建时覆盖这些更改。您可以使用安装项目中包含的合并模块覆盖最后一页。无论哪种方式,您都需要熟悉如何在.MSI中创建UI对话框,这不是一件容易的事。

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

答案 1 :(得分:4)

您还可以使用自定义操作

答案 2 :(得分:4)

我刚刚发现了一种不需要外部工具的简单方法。您只需要向主项目添加一个类文件,并为安装项目添加一个自定义操作。

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

答案 3 :(得分:1)

我已经为内部应用程序做了这个,方法是创建一个VB Script工具,启动安装程序可执行文件,等待它关闭,然后启动第二个程序。

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

答案 4 :(得分:1)

您可以使用MSILAUNCH(虽然我只能使用MSICREATE)。

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

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

您可以通过自定义安装程序执行此操作。只需添加安装程序类,您将在安装之前看到许多事件,例如安装后。只需在安装后挂钩,然后从进程类运行ur exe。我建议你谷歌找到更多关于自定义安装程序。 这是一个可能有助于你http://www.codeproject.com/Articles/19560/Launching-Your-Application-After-Install-using-Vis

的好链接

感谢