共用方式為


選擇部署方法

建議您使用 Windows Installer 進行部署。 Windows Installer 支援安裝、修復或解除安裝,同時也支援不可部分完成更新應用程式檔案、相依性和登錄項目。 除非您的 Visual C++ 應用程式是獨立的,而且可以使用複製命令來部署,否則請使用 Windows Installer。

注意

雖然可以在 Visual Studio 中利用 ClickOnce 方法部署 Visual C++ 原生應用程式,但必須執行額外的步驟。 如需詳細資訊,請參閱 Visual C++ 應用程式的 ClickOnce 部署。

Visual C++ 程式庫是共用 DLL

因為 Visual C++ 程式庫是由 Visual Studio 安裝程式安裝在 %windir%\system32\ 目錄中,所以當您開發相依于它們的 Visual C++ 應用程式時,它會如預期般執行。 不過,大部分的電腦都沒有安裝 Visual Studio。 若要將應用程式部署至這些電腦,我們建議您確定程式庫會與您的應用程式一起安裝。

可轉散發的 Visual C++ 程式庫

在您的部署中,您可以轉散發具有轉散發授權的任何 Visual C++ 程式庫版本。 部署方法有三種:

  • 使用C++ 可轉散發套件套件進行集中部署。 此方法是我們建議的方法。 C++ 可轉散發套件套件是可執行檔,會將 Visual C++ 程式庫安裝為 中的 %windir%\system32\ 共用 DLL。 (此資料夾中的安裝需要系統管理員許可權。您可以在目的電腦上安裝應用程式之前,先 建立啟動載入器 、執行可轉散發套件的腳本或安裝程式。 可轉散發套件適用于 x86、x64、ARM64 和 ARM 平臺。 如需哪裡可以找到套件檔案的詳細資訊,請參閱 尋找可轉散發套件檔案 。 如需如何使用可轉散發套件的資訊,請參閱 逐步解說:使用 C++ 可轉散發套件 套件 部署 Visual C++ 應用程式。

  • 使用合併模組進行集中部署。 這個方法已被取代,因為以這種方式部署的程式庫無法由 Windows Update 自動更新。 您可以使用合併模組,將特定的 Visual C++ 程式庫安裝為 中的 %windir%\system32\ 共用 DLL。 (安裝至此資料夾需要系統管理員許可權。合併模組會成為應用程式的安裝程式檔案的 .msi 一部分。 因為它們已被取代,C++ 可轉散發套件合併模組是 Visual Studio 2022 和 2019 中選擇性且可安裝的元件。 預設會在 Visual Studio 2017 和 2015 中安裝它們。 如需詳細資訊,請參閱 尋找合併模組檔案 的位置。

  • 本機部署。 在大部分情況下,不建議使用本機部署。 在本機部署中,您會從 Visual Studio 安裝複製特定的 Visual C++ DLL,通常是在 \%VCINSTALLDIR%Redist\MSVC\<version>\<target-platform>\ 中的 ,並將其安裝在與應用程式可執行檔相同的資料夾中的目的電腦上。 您可以使用此部署方法,讓沒有系統管理員許可權的使用者進行安裝。 或者,對於可從拇指磁片磁碟機或網路共用執行的應用程式。

如果部署使用可轉散發合併模組,則安裝應用程式的使用者必須具有系統管理許可權。 否則,不會安裝 Visual C++ DLL,而且應用程式可能無法執行。 允許個別使用者安裝的應用程式安裝程式會在會影響系統所有使用者的共用位置安裝程式庫。 您可以使用本機部署,在特定使用者應用程式的目錄中安裝必要的 Visual C++ DLL。 此方法不會影響其他使用者,或需要系統管理員許可權。 由於它可以建立可服務性問題,因此不建議本機部署C++ 可轉散發套件 DLL。

不正確的 Visual C++ 程式庫部署方式可能會在執行相依的應用程式時發生執行階段錯誤。 當作業系統載入應用程式時,它會使用 中所述 LoadLibraryEx 的搜尋順序。

動態連結比靜態連結更好

建議您避免轉散發 Visual C++ 程式庫時使用靜態連結。 靜態連結幾乎無法大幅改善應用程式效能,卻會提高服務代價。 例如,請考慮靜態連結的應用程式,其中包含已使用安全性增強功能更新的程式庫。 除非重新編譯並重新部署應用程式,否則應用程式無法受益。 相反地,我們建議您以動態方式將應用程式連結至其相依的程式庫。 然後,只要部署程式庫,就可以更新程式庫。

另請參閱

部署傳統型應用程式
ClickOnce 安全性和部署
部署範例