【问题标题】:How to create an installer than runs a file after install?如何创建安装程序而不是在安装后运行文件?
【发布时间】:2016-12-02 18:55:41
【问题描述】:

我目前在 Visual Studio 2015 中使用安装项目。它运行良好,但我遇到了特殊需要的问题。安装程序完成后,我需要运行在我的应用程序上注册我的服务器的 .js 文件。如果我将我的 .js 文件添加到安装文件夹中的“自定义操作”中,目前使用安装项目,当我运行安装程序时,它会在安装过程中运行我的文件。这不好,因为服务器还没有准备好注册。我需要这个 .js 文件在安装后运行。如果任何有安装项目经验的人可以帮助我,我将非常感激。但是,如果有人知道可以做我要求的更好的安装程序制造商,我也会对此非常感兴趣。也许 WIX 可以为我做到这一点?

【问题讨论】:

  • 您可以在安装程序类中添加逻辑以在安装后执行 .js 文件管理器。
  • @Kurubaran 你介意扩展一下吗?您在说什么“安装程序类”?听起来是正确的方法。

标签: c# visual-studio visual-studio-2015 windows-installer visual-studio-setup-proje


【解决方案1】:

【讨论】:

  • 我在我的问题中描述了为什么这种方法不起作用。但基本上问题是自定义操作 > 安装文件夹在安装过程中执行我的脚本。我需要在安装后执行它。
  • 正如我之前在相关问题中所说,从 Visual Studio 安装程序扩展设置运行的自定义操作不会“在中间”运行,它们会在安装所有文件后运行,而且真的在您克服这种误解之前,很难帮助您。所有文件都是在你的 CA 运行时安装的,所以这是另一个问题。
【解决方案2】:

Installer class 添加到您在 Visual Studio 中设置的项目中。您可以在此安装程序类中覆盖多个安装阶段

前:

  1. OnBeforeInstall()
  2. 安装()
  3. OnAfterInstall()

您可以覆盖相关方法并在方法中添加逻辑以执行 .js 文件。

您可能需要获取安装 MSI 的目录,以便获取 .JS 文件的路径并执行它。下面的代码应该得到安装目录。在安装程序类中添加此代码。

string installationPath = Context.Parameters["assemblypath"];

【讨论】:

  • 我并不是要烦人或忘恩负义,但你介意通过这个来哄我吗?我右键单击我的安装项目并选择“添加>文件...”?我没有看到添加类的选项。此外,我所有的 .js 文件都在运行命令提示符行。忘记 .js 文件并让我的安装程序自己编写命令会容易得多吗?如果可以吗?
  • @J.您是否需要在解决方案中添加一个类库并将安装程序类添加到该类库中。
  • 这会和我的设置项目冲突吗?
  • 不,一旦实现了安装程序类,您需要将类库添加到安装程序的自定义操作中。
【解决方案3】:

试用具有有限保修的 InstallShield 2013。它应该是免费供个人使用的,并且它包含在安装完成后运行脚本的功能。

【讨论】:

  • 我需要它才能用于商业用途,抱歉。谢谢你的想法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-28
  • 1970-01-01
相关资源
最近更新 更多