除了部署幾個文件(放在.MSI機櫃本身中)之外,MSI還需要生成一個在Visual C++中開發的自定義exe文件。這個自定義可執行產卵需求是通過在MSI安裝程序中實現一個自定義腳本來實現的。即使MSI的自定義腳本成功生成自定義可執行文件,由於目標系統上缺少必要的系統庫,操作系統無法運行該exe文件。安裝VC++ Redistributable Kit正在目標系統上部署必要的系統庫,因此該工具包應作爲目標系統中的已安裝應用程序提供,以便自定義exe可以正確執行。 由於此VC++ Redist套件是此自定義可執行文件的先決條件,因此我們正在考慮在產生自定義exe文件之前從MSI安裝程序本身安裝此VC++ Redist套件。我們通過用於產生自定義可執行文件的相同自定義腳本成功地產生了VC++ Redist Kit。完成MSI執行後,我們可以在「添加/刪除程序」列表中看到此VC++ Redist套件。但問題是,即使安裝了此工具包,自定義可執行文件也不會識別該工具包的存在,因此自定義可執行文件仍無法運行。 您可以引導我們在MSI部署期間安裝應用程序,並在安裝完成後立即使安裝的應用程序處於活動狀態(無需等待直至完成MSI執行),以便MSI安裝程序的其他子進程能夠識別應用存在?從MSI安裝VC++可分發工具包
回答
要安裝MSI的可再發行組件,建議使用use merge modules。就像你所做的那樣,這比自定義動作更穩定。
要讓新安裝的應用程序識別可再發行組件,請確保使用延遲自定義操作在安裝過程結束時或非常接近時啓動它,以便合併模塊在系統中註冊的DLL可用。
有沒有辦法(推薦)從MSI軟件包中提前在機器上使用可重新分配。您可以將它們作爲先決條件安裝,然後再啓動主MSI,並使用引導程序,但這意味着您將EXE作爲輸出軟件包,捆綁了必備軟件和主MSI軟件包。
我嘗試在最後啓動自定義操作。但事情沒有奏效。我正在使用MakeMSI來構建安裝程序。 –
您是否將自定義操作設置爲執行延期? http://msdn.microsoft.com/en-us/library/windows/desktop/aa368268(v=vs.85).aspx –
是的,我做了推遲的行動。 –
- 1. MSI安裝工具
- 2. MSI安裝包
- 3. 如何在Inno安裝程序中靜默安裝Microsoft VC++可再分發包?
- 4. MvvmLight工具包安裝程序4.0.23.1.msi,沒有安裝VS2010模板
- 5. Windows安裝程序msi包
- 6. 錯誤而MSI安裝包
- 7. 從MSI文件安裝vC++ 2013 x86不起作用
- 8. 如何讓安裝工具安裝github分叉的PyPI包?
- 9. MSI分開安裝MySql
- 10. Wix:從另一個MSI安裝和配置MSI軟件包
- 11. 檢測VC++可再分發ATL SP1(安裝開始之前)
- 12. 將多個安裝包裝到MSI中
- 13. WIX:安裝證書,但從msi單獨分發pfx文件
- 14. 如何修復Win10上的VC2015可重新分發安裝錯誤「未能安裝msi包」
- 15. MSI:在安裝
- 16. Python包裝分發後安裝步驟
- 17. WiX安裝程序包含msi的dll
- 18. MSI程序包的無提示安裝
- 19. 使用DTF安裝msi軟件包
- 20. 無法安裝.msi包默默
- 21. MSI包的預安裝腳本
- 22. 什麼是最好的MSI生成安裝工具?
- 23. Wx工具集安裝vC++ redistributable(x86)2015太慢
- 24. 如何爲VC++ 2013安裝平臺工具集
- 25. 在Ubuntu上globus工具包安裝
- 26. 安裝htk工具包時出錯
- 27. cuda工具包安裝中的問題
- 28. Matplotlib底圖工具包安裝問題
- 29. 敏捷工具包4.3安裝
- 30. AWS工具包安裝錯誤
幾乎無法診斷這個問題的不幸事件。總是傾向於用/ MT來構建這些helper exe程序,所以你不在乎。 –