簡體   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