Visual Studio安装程序>如何在安装程序结束时启动应用程序

这可能是一个愚蠢的问题,我的谷歌search只是今天没有运作。

我有一个应用程序,我添加了Visual Studio安装程序>安装向导项目。 我想知道如何添加一个button或checkbox,将成功安装后启动应用程序。 这将位于MSI安装程序包的最后一页。 我正在使用Visual Studio 2010 Ultimate。

我需要这样做,当应用程序进行自动更新时,它会自动启动安装程序。 我只需要安装程序在更新后重新启动应用程序。

这可能很简单,但对于我来说,我无法弄清楚。 在此先感谢您的帮助。

要在安装完成后运行任何应用程序,

  1. 用鼠标右键单击您的安装项目,单击自定义操作。
  2. 然后右键单击提交,添加自定义操作,然后select您想要运行的文件。 (请注意,它已经在您的应用程序文件夹中,因为您正在运行您的程序,您的情况不应该是一个问题。
  3. 只需select您的项目的输出。
  4. 然后,点击这个添加的.exe,并将InstallerClass更改为false。 这是至关重要的,因为它会另外寻找一个安装程序。
  5. 你甚至可以通过将参数添加到Arguments属性来将parameter passing给.exe

在Visual Studio 2010中,这很容易…

第一步:将一个新的安装程序类添加到您希望在安装后运行的应用程序项目中,将其称为您喜欢的项目。

第二步:将以下代码添加到您刚添加的MyApplication.exe安装程序类中,并添加您的名称。

Public Overrides Sub Commit(ByVal savedState As System.Collections.IDictionary) MyBase.Commit(savedState) System.Diagnostics.Process.Start(System.IO.Path.GetDirectoryName(Me.Context.Parameters("AssemblyPath")) + "\MyApplication.exe") End Sub 

编译并去…

试试看看这个博客文章: http : //blogs.msdn.com/b/astebner/archive/2006/08/12/696833.aspx

我不能certificate它是否适用于2010年, 我仍然坚持使用2008年,直到我的TFS服务器升级。 另外,我使用WiX作为我的安装程序。 但是,这只是一个自定义的行动,所以我认为它应该仍然是支持的。

希望这可以帮助!

(顺便说一句,在练习我的谷歌searchfind这个,你的问题是显示在谷歌的这个问题的第一页。)

就我而言,我一直在争取一段时间,解决scheme就在那里。 使用自定义操作直接提供给应用程序主输出的解决scheme对我来说并不好,因为安装应用程序会一直保留,直到您离开主应用程序。 所以,这个问题可以用下面的方法来解决:

  1. 将一个Install类添加到您的项目;
  2. 在新的类中,重写Commit方法,就像上面讨论的Jarrod一样。

    System.Diagnostics.Process.Start(System.IO.Path.GetDirectoryName(this.Context.Parameters["AssemblyPath"]) + @"\MyApplication.exe") ;

  3. 现在诀窍:转到安装程序项目中的“自定义操作”窗格,并将项目的主要输出添加到“提交”和“安装”文件夹。 不要改变属性中的任何东西。 它会像那样工作。 默认情况下,在前一点,它将得到你插入代码的安装程序类;
  4. build立您的安装程序包并安装它。 你应该注意到,应用程序将在最后开始;
  5. 只需closures成功的安装警告,然后继续。

要了解更多信息,请点击此处。

PS:我使用VS2017和Framework 2.0。

添加另一个答案,因为以前的答案没有解决原始文章中的checkbox或button问题。

您可以通过右键单击“用户界面”视图中的“开始”button,将其中一个固定的对话框添加到您的安装项目中,例如CheckBoxes(A)。 添加后,右键单击对话框将其向上移动。 你只需要一个checkbox来询问运行程序的问题,从而消除其他问题。 默认属性名称是CHECKBOXA1,所以添加一个条件到引发你的代码的自定义动作CHECKBOXA1 = 1,这意味着它被检查。

Interesting Posts