簡體   English   中英

查找 vcredist_x86.exe 的合並模塊

[英]Find merge modules for vcredist_x86.exe

最新的 Visual Studio C++ 可再發行組件位於此處 但問題是我想包含它來安裝屏蔽安裝,它需要合並模塊而不是 exe 文件。

如何找到相應的合並模塊(msm 文件)? 有沒有辦法下載它以某種方式安裝盾牌?

總結:使用 Installshield 通過“套件項目”(使用啟動器安裝的設置鏈)安裝VC++ 運行時的可執行文件,或在安裝了 Visual Studio 的系統上的磁盤上找到合並模塊,並將相關項目復制到 Installshield 可再發行文件夾。

請記住進行良好的測試,並在安裝后執行Windows 更新以檢查是否有待處理的安全修復程序(您的合並模塊可能不是最新的)。 如果發現問題,請嘗試更新 Visual Studio - 或手動安裝最新的 SDK 並查找更新版本的合並模塊。


Redistributables 視圖沒有顯示任何要下載的內容? 請閱讀本文,了解為什么應該使用可執行文件而不是合並模塊。 最新版本的 Installshield 允許您創建套件項目(有關詳細信息,請參閱鏈接,這里是屏幕截圖):

在此處輸入圖片說明

您還應該在磁盤上合並模塊,只需進行搜索(如果您在該框中安裝了 Visual Studio)。 類似於: C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\[EditionHere]\\VC\\Redist\\MSVC\\[VersionHere]\\MergeModules

但是,上面提到的套件項目應該允許您運行可執行版本,但如果您使用的是較舊的 Installshield 版本,則不允許。

Visual C++ 運行時依賴於通用 CRT,您不能通過合並模塊在最終用戶的計算機上安裝通用 CRT(Windows XP 除外)。 合並模塊在 Vista/7/8/8.1/10 上完全沒有任何作用。

請參閱 Daniel Griffing 對此 Visual Studio 錯誤報告的評論。

三種解決方案:

  1. 需要 Windows 10。它具有內置在操作系統中的 UCRT; 它會一直存在。
  2. 在安裝應用程序之前,要求 Windows <10 用戶安裝 Windows Update KB2999226
  3. 手動分發 UCRT 作為應用程序目錄中的文件。 這既麻煩又危險,因為它們不會收到安全更新,但許多應用程序都會這樣做。

每個使用動態 CRT 並使用 Windows 10 SDK(Visual Studio 2015、2017 或 2019)構建的程序都需要 KB2999226 或 UCRT 文件的副本才能在 Windows <10 上運行,否則將無法缺少api-ms-win-crt-runtime-l1-1-0-dll 這些程序根本不需要在 Windows 10 上運行。

由於知識庫文章中的下載鏈接已失效,您可能希望將您的用戶指向:

暫無
暫無

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

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