【问题标题】:executing VBscript after installation on target machine在目标机器上安装后执行 VBscript
【发布时间】:2015-07-08 10:35:54
【问题描述】:

在所有文件都放在目标机器上之后,我正在尝试运行可执行的 VBscript (.EXE)。正在使用的安装程序是在 Visual Studio 2013 中使用 WIX 工具集制作的。我尝试了几个来自不同来源的例子,比如 technet 和这个网站。但是没有人能帮到我,因为很多这些文章/帖子都是 2008 年左右的,似乎不再适用了。

目前我正在使用这段代码来尝试实现我的目标:

     <Fragment>
    <CustomAction
      Id="RunInstallScript"
      Directory="INSTALLFOLDER"
      ExeCommand="[INSTALLFOLDER]Installation script.exe"
      Execute="commit"
      Return="ignore"
    />
    <InstallExecuteSequence>
    <Custom Action="RunInstallScript" Before="InstallFinalize" />
  </InstallExecuteSequence>
  </Fragment>

即使编译器没有发现任何错误并且编译得很好,代码也无法正常工作。需要执行的文件放在安装文件夹中,所以文件是存在的。唯一剩下的就是在安装和/或卸载期间执行一次。

为了弄明白,我已经搜索了很长时间的信息,但我就是无法让它按照我想要的方式工作。 如果这个问题得到解决,我将最终拥有一个功能齐全的安装程序,我可以部署它来简化控制面板的设置。

欢迎所有帮助和建议。

提前致谢,

【问题讨论】:

  • 您是如何制作“可执行 VBScript”的?
  • 除了运行你自己的脚本,你能运行别的东西吗?仅用于测试目的。比方说,你能运行 CALC.EXE 吗?
  • @Bond 看看stackoverflow.com/questions/4425681/…上的答案
  • @Zam 我知道有办法做到这一点。但我想知道是怎么做到的。 :)
  • 我创建了一个 Visual Basic 控制台应用程序,并且在构建它时,除了一个 .VB 文件之外,还提供了一个 .EXE 文件。那是我添加到 WIX 安装程序并希望在安装期间执行一次的文件。当我手动执行它时它确实有效。我还使用另一个名为 Advanced Installer 的安装程序构建器对其进行了测试,当添加为自定义操作时它确实工作得很好。众所周知,WIX 的工作方式有点不同 :)

标签: xml vbscript wix wix3.9


【解决方案1】:

我发现了问题所在。 似乎自定义操作的声明和调用需要与添加文件功能在同一个片段中。 所以它看起来像这样:

    <Fragment>

    <ComponentGroup Id="script" Directory="INSTALLFOLDER">
      <Component Id="InstallationScript" Guid="{AFA49EED-4F2C-42B4-B7EC-D3B7896C970C}">
        <File Id="InstallationScript" KeyPath="yes" Source="C:\Users\fjansen\Documents\Visual Studio 2013\Projects\Wix test\Installation script\bin\Debug\InstallationScript.exe" />
      </Component>
    </ComponentGroup>

    <CustomAction
      Id="InstallScript"
      Directory="INSTALLFOLDER"
      ExeCommand="[INSTALLFOLDER]InstallationScript.exe"
      Execute="commit"
      Return="check">
    </CustomAction>
    <InstallExecuteSequence>
      <Custom Action="InstallScript" Before="InstallFinalize" />
    </InstallExecuteSequence>

  </Fragment>

这只是一个小错误,最终很难找到问题所在。我希望这个例子能帮助人们解决同样的问题,并为他们节省大量时间来找出问题所在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    相关资源
    最近更新 更多