我有一个Visual Studio安装项目,我用它来安装一个相当简单的WinForms应用程序。在安装结束时,我有一个自定义用户界面页面,显示一个复选框询问用户是否想运行该应用程序。我见过其他安装程序经常这样做。但是我找不到安装完成后让安装项目运行可执行文件的方法。一个想法?如何在安装项目结束时运行可执行文件?
注意:您不能使用自定义操作,因为这些用作安装过程的一部分,我想在安装结束时用户按下“关闭”按钮后运行我的已安装应用程序。
我有一个Visual Studio安装项目,我用它来安装一个相当简单的WinForms应用程序。在安装结束时,我有一个自定义用户界面页面,显示一个复选框询问用户是否想运行该应用程序。我见过其他安装程序经常这样做。但是我找不到安装完成后让安装项目运行可执行文件的方法。一个想法?如何在安装项目结束时运行可执行文件?
注意:您不能使用自定义操作,因为这些用作安装过程的一部分,我想在安装结束时用户按下“关闭”按钮后运行我的已安装应用程序。
我相信这是Visual Studio安装项目的真正限制之一。你需要能够修改安装界面的最后一页,但是VS.NET并没有给你提供这样的方法。你可以在.MSI中修改表格,但VS.NET可能会在每次构建时覆盖这些更改。您可以使用包含在安装项目中的合并模块覆盖最后一页。无论哪种方式,您都需要熟悉如何在.MSI中创建UI对话框,这不是微不足道的。
你可能要考虑切换到一个免费的基于脚本的安装程序或购买商业设置创作应用程序(不要购买InstallShield爱皮特)。看看InstallAware(尽管我没有使用它)。
我已经为内部应用程序完成了这一步,方法是创建一个启动安装程序可执行文件的VB脚本工具,等待它关闭,然后启动第二个程序。
你也可以在C可执行文件中使用几个Win API调用来实现这一点。
你可以使用MSILAUNCH(尽管我只是把它与MSICREATE一起工作)。
您还可以使用自定义操作
我只是发现它不需要外部工具非常简单的方法。您只需将类文件添加到主项目并将自定义操作添加到安装项目。
感谢链接帮助我了解整个过程好很多 – DeveloperChris 2011-05-09 03:02:26
感谢有用的链接 – Ahmed 2012-11-26 23:19:57
我设法它做使用以下行调用Main方法组装:
(typeof(ClassWithinAssemblyToExecute)).Assembly.EntryPoint.Invoke(null, new Object[] {})
您可以通过自定义安装程序做到这一点。只需添加安装程序类,然后在安装之前,您会看到很多事件。只需安装后挂钩,并从那里运行流程类的ur exe。我会建议你谷歌找到更多关于自定义安装程序。 这里是一个很好的链接,可以帮助ühttp://www.codeproject.com/Articles/19560/Launching-Your-Application-After-Install-using-Vis
感谢
根据提交的文件夹在海关的行动,你可以选择添加自定义操作,并浏览到您的主输出exe文件。这将在安装后得到执行。您还可以根据您可以添加到设置对话框的复选框来使其有条件。在条件属性你会有CHECKBOXA1 = 1例如 – 2015-04-25 11:45:48