簡體   English   中英

用於應用程序本地部署的 Visual C++ 2015 可再發行 DLL

[英]Visual C++ 2015 redistributable DLLs for app-local deployment

在 Visual Studio 2013 之前,您只需要 msvcr[version].dll 和 msvcp[version].dll。 現在他們在 2015 年更改了 DLL。為了避免 redist 安裝程序,我需要包含什么?

編輯:

現在似乎不可能了: http : //blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx

“不支持通用 CRT 的應用程序本地部署。”

更新:

以上鏈接的內容已於 2015 年 9 月 11 日更新。現在可以進行應用程序本地部署。

這對我有用(x86 應用程序)。

使用您的應用程序從這些位置發送所有 dll:

  • C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x86
  • C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\redist\\x86\\Microsoft.VC140.CRT

我自己,我需要一個額外的文件來實現這一點。 以下是目錄,其中一個采用更通用的格式:

  1. 復制“C:\\Program Files\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x86”或“C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x86”中的所有文件(如果是 64 位應用程序,則從 x64 目錄復制它們)。
  2. 從以下位置復制 msvcp140.dll 和 vcruntime140.dll:<Visual Studio 2015 安裝目錄>\\Microsoft Visual Studio 14.0\\VC\\redist\\x86\\Microsoft.VC140.CRT(如果是 64 位應用程序,則從 x64 目錄復制它們) .

如果您使用 Qt,請將這些文件復制到 Windeployqt 制作的目錄中。

總的來說,我發現您只需執行第 1 步,然后嘗試運行您的應用即可。 它會告訴你它丟失的第一個文件,一旦你把它放在你的應用程序目錄中,它就會告訴你下一個你需要的文件。 就我而言,它是兩個。 例如,從我的 <Windows>\\System32 文件夾復制類似的文件沒有成功。 我發現使用 Dependency Walker 並嘗試滿足它表明不成功的依賴項。

這允許您制作一個可在與 XP 一樣古老的 M$ 操作系統上運行的便攜式應用程序; 或者為沒有 vcredist_x86 或 vcredist_x64 的用戶安裝,他們沒有管理員權限。

順便說一句:第 1 步非常正式。 這是在 MSDN 博客上: 介紹通用 CRT他們說要復制它們,以便應用程序在所有 M$ 操作系統上運行。

一般情況下,您可以使用dependency walker 來查找依賴dll 的列表。 關於 Visual Studio 運行時 dll,您最關心的是其中包含 Visual Studio 特定版本的 dll。

截至6點)提到的這個文章,現在有可能使通用CRT的本地部署。 為此,您應該安裝Windows 10 SDK並從C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\u003c/code>復制所有二進制C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\u003c/code> 。

暫無
暫無

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

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