繁体   English   中英

通过msiexec部署BizTalk应用程序msi(使用BTDF创建)

[英]Deploy BizTalk application msi (created with BTDF) via msiexec

我们正在为使用BTDF创建的BizTalk MSI设置部署自动化。

当前,我们正在使用的方法是从部署工具集中调用msiexec。 但是,我们需要将应用程序安装在不同于MSI建议设置的文件夹中。

BTSF WiX默认为C:-驱动器,而我们必须安装到E:驱动器。 我曾尝试在msiexec调用中进行更改,但是在传递INSTALLDIR或TARGETDIR时,它只会使我的脸上出现msiexec帮助对话框。

因此,我认为我应该尝试看看WiX,以便我们可以将MSI构建为默认为E :(如果可用),最终将获得相同的最终结果,但是WiX对我来说有点神秘在这一点上,我的理解似乎有很多“魔力”。

默认情况下,BTDF使用以下结构(主要是下部),我认为我必须对TARGETDIR和/或SourceDir做一些事情。 但是我不能指望哪一部分只是可以设置的某种变量。

<Directory Id="TARGETDIR" Name="SourceDir">
  <?if $(var.CreateStartMenuShortcuts) ~= True?>
  <Directory Id="ProgramMenuFolder">
    <Directory Id="BizShortCuts" Name="$(var.ProductName) $(var.ProjectVersion)">
      <Directory Id="BizShortCutsTools" Name="Deployment Tools" />
    </Directory>
  </Directory>
  <?endif?>
  <Directory Id="ProgramFilesFolder" Name="ProgramFiles">
    <Directory Id="ProductDir" Name="$(var.ProductName)">
      <Directory Id="INSTALLDIR" Name="$(var.ProjectVersion)"/>
    </Directory>
  </Directory>
</Directory>

编辑20180129请注意,此问题在服务器环境中发生,我登录的用户的安全性受到限制。 我们被允许使用msi UI运行msi安装程序(右键单击自定义选项“以[授权用户名]运行”)。

为了通过命令行完成此任务,我在另一个帐户下启动了PS终端,直到我添加INSTALLDIR参数为止。 然后,它仅显示msiexec帮助。

我怀疑这会有所不同,但是msiexec的本地版本(有效)是5.0.7601.23593,而服务器端(无效)是5.0.9600.18333(即,较新的)。

首先,升级到BizTalk v5.6或更高版本部署框架。

其次,在您的.btdfproj中,添加DefaultInstallDir:

<PropertyGroup>
  <!-- existing MSI properties -->
  <ProductUpgradeCode>GUID-HERE</ProductUpgradeCode>
  <!-- add DefaultInstallDir -->
  <DefaultInstallDir>E:\MyCustomPath</DefaultInstallDir>
</PropertyGroup>

MSI现在将默认为E:\\ MyCustomPath。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM