我有一個安裝了一些MSI的WiX託管引導程序應用程序。我還有一系列的測試可以執行安裝程序的各種功能。我遇到的問題是維修測試。該測試故意破壞我們安裝的所有DLL,然後用「/ repair/passive」標誌調用EXE安裝程序。一旦完成大約80%的DLL被修復,但其餘的未修改,因此修復後仍然損壞。從託管引導程序WiX修復無法修復一些損壞的DLL
如果我通過命令行args「/ fa」在單個MSI上手動運行msiexec,它指示MSI強制替換它安裝的所有文件,它會修復100%的DLL。
我的問題是我該如何強迫MBA來指導每個MSI以這種方式進行修復?我已經嘗試設置REINSTALLMODE屬性爲「amus」對個人的MSI在他們.wxs文件,但MBA覆蓋它們在運行時間通過這條線在日誌中可見一斑:
PROPERTY CHANGE: Modifying REINSTALLMODE property. Its current value is 'amus'. Its new value: 'cmuse'.
我我也嘗試在MBA中設置屬性以傳遞給每個MSI,但它似乎沒有通過它們,而是使用它的默認值。
我在這裏看到很多類似的問題,但沒有一個真正解決這個特定的問題。任何幫助將不勝感激。搶救我!
msi安裝程序日誌必須說明與不相關的DLL相關的組件不會被取代? –
執行op:ComponentRegister(ComponentId = {0B2B6D28-A32F-4BE8-B990-8DB2A4A790AA},KeyPath = C:\ **** \ estimator.dll,State = 3,Disk = 1,SharedDllRefCount = 0,BinaryType = 1 ) –
Exec op:FileCopy(SourceName = ksncnr0g.dll | estimator.dll,SourceCabKey = fil46DA9182A232003B1FD10E3DF65EF686,DestName = estimator.dll,Attributes = 512,FileSize = 2220032,PerTick = 65536,VerifyMedia = 1 ,,,,, CheckCRC = 0 ,,, InstallMode = 59244544,HashOptions = 0,HashPart1 = -1917773179,HashPart2 = -1616579533,HashPart3 = -79796171,HashPart4 = -1442608125 ,,,) MSI(s0)(A0:34)[12:25:25 :874]:文件:C:\ **** \ estimator.dll; \t不會被覆蓋; \t不會打補丁; \t現有文件未版本化但已修改 –