簡體   English   中英

自定義表將包含在補丁MSP文件中

[英]Custom Table to be included in Patch msp file

我們創建了一個CustomTable,並將其添加到msi中。 該自定義表包含一些二進制數據(xml文件),當將msi上傳到我們的部署服務器時,我們的部署軟件會讀取這些二進制數據。

現在,我們需要支持msp文件的部署。 這意味着,如果用戶將msp文件上傳到我們的部署服務器,則我們的軟件仍應能夠讀取CustomTable中的二進制數據。 但是,我一直無法找到一種方法來確保我們創建的msp文件包含相同的CustomTable。

我知道msp包含更新的xml,因為我已經使用ORCA來查看更新的表和文件。 不幸的是,我似乎無法以編程方式從CustomTable中讀取數據,因為補丁中不存在(顯然)數據。 有誰知道從msp文件訪問CustomTable的方法嗎?

謝謝-如果需要澄清,請告訴我!

該修補程序(msp)應該僅包含對先前MSI軟件包的更改。 如果您未在MSI軟件包的較新版本中更改自定義表,則該補丁中不會提及該表。 這是意料之中的。

應用修補程序后,它將更改初始MSI軟件包(實際上是對其進行修補)並運行重新安裝。 這意味着,如果未明確安排您讀取自定義表的自定義操作不計划在重新安裝時運行,則它將運行並找到自定義表。

好的,所以終於可以解決我的問題了。

由於我們沒有原始的msi,因此我們可以在temp目錄中創建一個空白的msi,然后使用ApplyTransform在其之上應用msp。 假設我們創建了預期表,並用虛擬數據填充了它(幸運的是,我們提前知道了該表中預期的行),那么在虛擬msi頂部應用補丁的過程使我們能夠成功查詢_Storages表並進行訪問包含新xml的更新后的流。 然后可以在我們的msp上傳期間進行處理。

不漂亮,但有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM