# 建立 visual studio 2022 離線安裝 此文撰於2022/05/13 ## 說明 有需求要離線安裝visual studio可以參考以下官方給出的流程 連結都是針對vs2022進行說明 版本差距主要在於命令參數可能會有些微的不同 要看其他版本的安裝參數請修改連結最後的年代數字就好 節錄的部分是以visual studio 2022 Community安裝C++環境作為範本,實測為可用 ## 詳細安裝說明與連結 [基礎安裝指令](https://docs.microsoft.com/zh-tw/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-2022) [額外安裝命令(不常用)](https://docs.microsoft.com/zh-tw/visualstudio/install/use-command-line-parameters-to-install-visual-studio?view=vs-2022) [其他擴充元件查詢表](https://docs.microsoft.com/zh-tw/visualstudio/install/workload-component-id-vs-professional?view=vs-2022) ## 節錄 ### 1. 建立本機安裝快取(下載離線包) 針對 C++ 桌面開發,請執行 包含Clang與MFC元件 ``` .\vs_Community.exe --layout .\community_offline --add Microsoft.VisualStudio.Workload.NativeDesktop ^ --add Microsoft.VisualStudio.Component.VC.ATLMFC --add Microsoft.VisualStudio.Component.ClassDesigner ^ --add Component.Incredibuild --add Microsoft.VisualStudio.Component.VC.Llvm.Clang ^ --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset ^ --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang --includeRecommended --lang zh-TW ``` ### 2. 從本機快取安裝 Visual Studio(安裝離線包) 依安裝快取的內容修改安裝命令 ``` .\vs_Community.exe --noweb --add Microsoft.VisualStudio.Workload.NativeDesktop ^ --add Microsoft.VisualStudio.Component.VC.ATLMFC --add Microsoft.VisualStudio.Component.ClassDesigner ^ --add Component.Incredibuild --add Microsoft.VisualStudio.Component.VC.Llvm.Clang ^ --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset ^ --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang --includeRecommended ``` :::danger 如果您收到錯誤,表示簽章無效,則必須**安裝更新的憑證**。 開啟離線快取中的 [憑證] 資料夾。 按兩下每個憑證檔案,然後點選完成 [憑證管理員精靈]。 如果系統要求您輸入密碼,則請保留空白。 ::: ### 3. 其他可能選用的擴充元件 由上往下分別為: * Clang * ClangToolSet * ClangGroup * MFC套件 * 類別圖表(類別設計工具) * Incredibuild(快速建置套件) ``` --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.ATLMFC --add Microsoft.VisualStudio.Component.ClassDesigner --add Component.Incredibuild ``` 更多擴充元件請參考[其他擴充元件查詢表](https://docs.microsoft.com/zh-tw/visualstudio/install/workload-component-id-vs-professional?view=vs-2022) ## 其他遇到的問題(vs2017所遇到的問題) #### 背景因素: 原先的離線工作站已經安裝好vs2017_professional的C++核心功能(此時已經有vs2019),之後過了一段時間(約3個月)有需求需要安裝MFC功能,於是做了只有MFC的離線安裝包要進行更新,但放置於離線工作站後卻無法成功更新MFC功能上去。 #### 問題說明: 想要更新現有的vs2017,額外下載的安裝包會無法成功更新。 等同於若將安裝包拆成兩包(一包只有Cpp核心功能,一包只有MFC),再來先安裝Cpp後再安裝MFC進行更新,MFC會無法安裝,會有錯誤訊息為"項目無法加載,因為它缺少安裝組件"。 #### 推論問題發生的狀況: 1. 可能是兩個版本不同(C++安裝時間較早,是後來有需求才單找MFC來裝的) 2. 可能是設計上就不予許分開裝 3. 可能MFC安裝時需要C++的核心套件,所以才不能成功執行更新(機率最高) #### 但這問題不是那麼必要解,你只要一開始都有選好要安裝的功能就沒事了