C++適用於 傳統型橋接器 的運行時間架構套件
本文說明如何建立包含正確C++運行時間連結庫的 傳統型橋接器 容器。
原始產品版本: Windows 10
原始 KB 編號: 3176696
摘要
相依於C++運行時間連結庫的 Windows 傳統型應用程式,必須在建立應用程式套件期間,為 傳統型橋接器 指定對應的 C++ Runtime 架構套件版本。 這必須完成,而不只是轉散發 Visual Studio 隨附的 C++ Runtime 連結庫或 Visual C++ Runtime 可轉散發套件 (VCRedist)。 在 傳統型橋接器 容器中執行的 Windows 傳統型應用程式無法使用 Visual Studio 或 VCRedist 隨附的 C++ Runtime 連結庫。 在 傳統型橋接器 容器中執行且使用不正確版本之C++運行時間連結庫的應用程式,嘗試存取檔案系統或登錄等資源時,可能會失敗。 本文討論如何建立包含正確C++運行時間連結庫的 傳統型橋接器 容器。
如何安裝和更新桌面架構套件
Microsoft提供C++運行時間架構套件,以允許應用程式從透過 Windows 市集散發的桌面應用程式參考C++運行時間。 這些套件會透過 Windows 市集散發和更新,而且處理方式與C++ UWP 架構套件類似。
為了開發目的,當您選擇具有選擇性C++ (v143) 通用 Windows 工具元件的 通用 Windows 平台 開發工作負載時,Visual Studio 2022 隨附偵錯和零售 appx 套件的目前版本 (v14.0)。 您可以在 下 %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop\14.0
找到套件。
注意
下列套件下載連結現在已淘汰,未來可能無法再運作。 請務必使用上述的 方法來取得架構套件。
舊版傳統型架構套件
您可以從下列位置下載並安裝傳統型應用程式的舊C++執行時間架構套件 v11.0 和 v12.0:
- 適用於 傳統型橋接器 的 C++ Runtime v11.0 架構套件 (Project Centennial)
- 適用於 傳統型橋接器 的 C++ Runtime v12 架構套件 (Project Centennial)
C++ Runtime 架構套件將會複製到 下的 %ProgramFiles(x86)%\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.VCLibs.Desktop
子資料夾。 您可以使用 PowerShell Cmdlet 手動 Add-AppxPackage
安裝套件。
如何參考桌面架構套件
在應用程式的AppxManifest.xml檔案中,指定PackageDependency
對應至適當架構套件的值:
版本 11.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.110.00.UWPDesktop" MinVersion="11.0.61135.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"/> </Dependencies>
版本 12.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="120.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> <PackageDependency Name="Microsoft.VCLibs.120.00.UWPDesktop" MinVersion="12.0.40653.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> </Dependencies>
版本 14.0:
<Dependencies> <PackageDependency Name="Microsoft.VCLibs.140.00.UWPDesktop" MinVersion="14.0.24217.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" /> </Dependencies>
應用程式現在會在部署相依性套件時,從相依性套件安裝C++運行時間 DLL。