如何使用wix安装程序在安装位置之外运行BAT文件?

时间:2017-04-04 12:38:01

标签: batch-file tomcat wix wix3

我想在安装时将服务部署到tomcat服务器,为此我必须停止tomcat然后启动它。 Tomcat有自己的bat文件来启动/停止。

使用Wix安装程序我想从tomcat调用该bat文件(使用环境变量获取tomcat位置)来停止它,然后可以在其上部署服务。

我对Wix Installer有点新鲜,如果需要更多输入,请告诉我。

@StevenScott和@KenWhite我在下面尝试过:

我创建了一个测试bat文件来检查它是否调用,如果执行该bat文件将生成一个新的txt文件。这不是执行bat文件,即使它创建了一个BATCHRUN属性并设置了值,因为我可以在日志文件中看到。

<Property Id="BATCHRUN">
      <DirectorySearch Id="TestBat" Path="D:\DIR_Test" Depth="1">
        <FileSearch Id="BatExecute" Name="abc.bat"  />
      </DirectorySearch>
</Property>
<CustomAction Id="BatchScript" Property="BATCHRUN" Execute="immediate" Impersonate="no" Return="check" ExeCommand="/c D:\DIR_Test\abc.bat" />

<InstallExecuteSequence>
      <Custom Action="BatchScript" Before="InstallFinalize"></Custom>
</InstallExecuteSequence>

此外,我尝试执行下面的代码示例,但它没有进行构建,错误 &#34;带有Id&#39; TESTDIR&#39;的目录不是有效的根目录。每个产品或模块可能只有一个根目录,其Id属性值必须是&#39; TARGETDIR&#39;及其Name属性值必须为&#39; SourceDir&#39;。&#34;

<Directory Id="TESTDIR" Name="TestDir" src="D:\DIR_Test"></Directory>
<CustomAction Id="test1" ExeCommand="[TESTDIR]\abc.bat" Directory="TESTDIR" Execute="immediate" Return="asyncWait"/>

我的要求非常简单,只需在先决条件检查后我需要停止Tomcat并在部署之后,我需要启动Tomcat。请帮帮我。

0 个答案:

没有答案