我使用Transform創建了一個Windows安裝包,使其成爲多實例。我的mst文件更新某些註冊表項組件的ProductCode和GUID。這是每臺機器安裝。現在,我無法卸載我的產品,如:無源mst卸載
- 我的MST文件從原來的位置刪除
- TRANSFORMSSECURE策略設置爲1
安裝程序會嘗試在原始位置找到MST文件,無法做到這一點,並卸載失敗。 如何讓我的產品在這兩種情況下卸載?
一些額外的信息。 我看到我的msi和mst文件被緩存在「c:\ Windows \ Installer」文件夾中。 但不知何故安裝程序不會嘗試從緩存中獲取mst。 如果沒有設置TransformsSecure策略,一切工作都正常。在這種情況下,我的mst文件會自動緩存在「c:\ Windows \ Installer {358e77a7-464b-4588-b538-a79fceb0ffa8}」文件夾中。
對不起,我現在不能發佈日誌,我的工作計算機在這個週末不可用。但是這裏有更多關於我在做什麼的細節。 即使我的msi和mst在其源位置不可用,我也需要讓我的產品卸載。 我需要支持TransformsSecure模式,從Server 2008開始默認爲1。 如果兩個條件均爲True,則卸載時出現問題。如果其中一個是假的,沒關係。 –
我使用下面的命令進行安裝:MSIEXEC -i 「d:\ TEMP \ MyProduct.msi」 TRANSFORMS = 「d:\ TEMP \ MyProduct.mst」 MSINEWINSTANCE = 1 使用完整路徑MST是很重要的,否則卸載試圖找到甚至d:\ Temp \ MyProduct.msi。 –
我正在檢查已安裝產品列表中的MyProduct註冊表項,並查看生成的緩存MyProduct.msi和MyProduct.mst在c:\ WIndows \ Installer中的名稱。這些緩存的文件真的在該文件夾中,並且完全匹配原始文件。轉換註冊表項僅指定一個項目:d:\ Temp \ MyProduct.mst,值爲「 .mst。 當我檢查卸載日誌時,發現使用了緩存的msi,但從未提及緩存的mst。 –