在離線環境中安裝Visual Stuido 2017

durow發表於2018-03-28

在離線環境中安裝Visual Stuido 2017

 

0x00 寫在前面的廢話

因為工作上大多數都是在離線環境中進行的,進出離線環境很麻煩,所以之前很長一段時間都在使用VS2010。後來嘗試換了VS2013,一切順利,只要把安裝映象拷進去安裝即可。再後面.NET Core 1.0出來後,嘗試在離線環境中安裝VS2015,結果遇到了很多坑。其中最坑的就是安裝過程中會提示xxx檔案損壞無法繼續安裝。剛開始真的以為是下載過程中安裝檔案損壞,結果重新下載了幾次發現還是提示損壞。然後就到網上去搜尋,也沒結果。後來想用VS Code開發也可以,就裝個.NET Core的SDK。結果仍然提示檔案損壞,不過這次查到原因,因為離線環境中缺乏安全證書無法自動下載,導致安裝檔案驗證通不過,進而提示檔案損壞。按照網上教程從有證書的電腦上把證書匯出,在離線環境中匯入,安裝就正常了,VS2015也正常了。

0x01 下載Visual Studio 2017

點下面地址下載所需要的版本的安裝程式
後面假設下載的是:vs_community.exe

0x02 下載離線資料

直接執行vs_community.exe就是線上安裝。

要離線安裝的話需要開個命令列,到vs_community.exe所在目錄。或者在vs_community.exe所在目錄空白處按住shift點右鍵,選擇在此處開啟命令列。
然後執行vs_community.exe --layout c:\vs2017layout,即可把離線資料下載至:c:\vs2017layout。如果想下載中文版本可以加入--lang引數:vs_community.exe --layout c:\vs2017layout --lang zh-CN,--lang引數支援的語言列表:

* cs-CZ ,Czech
* de-DE ,German
* en-US ,English
* es-ES ,Spanish
* fr-FR ,French
* it-IT ,Italian
* ja-JP ,Japanese
* ko-KR ,Korean
* pl-PL ,Polish
* pt-BR ,Portuguese - Brazil
* ru-RU ,Russian
* tr-TR ,Turkish
* zh-CN ,Chinese - Simplified
* zh-TW ,Chinese - Traditional

如果要全部下載體積是很大的,而且很多功能都用不到。可以在命令列用--add引數選擇要離線的資料。例如我常用的就是Web和Desktop,所以就用下面命令離線:
vs_community.exe --layout c:\vs2017layout --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --add Component.GitHub.VisualStudio --includeOptional --lang zh-CN

.NET Desktop和Office開發:
vs_community.exe --layout c:\vs2017layout --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.Office --includeOptional --lang en-US

C++ Desktop開發:
vs_community.exe --layout c:\vs2017layout --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --lang en-US


--layout引數如果為空則預設為當前目錄,我不喜歡輸入路徑,所以習慣把vs_community.exe剪下到要下載的目錄,shift+右鍵開命令列,--layout引數為空,直接下載到當前目錄。

0x03 匯入安全證書

想想之前裝VS2015的經歷現在VS2017太體貼了。下載離線資料的目錄中有個叫`certificates`的目錄,點進去雙擊安裝裡面的安全證書,採用預設配置無腦下一步即可,遇到輸入密碼的地方空著就行。

0x04 安裝Visual Studio 2017

比較建議的方式就是如何離線的就如何安裝。例如我離線時用的:
vs_community.exe --layout c:\vs2017layout --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --add Component.GitHub.VisualStudio --includeOptional --lang zh-CN
那麼安裝時就用:
vs_community.exe --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --add Component.GitHub.VisualStudio --includeOptional
當然也可以直接執行setup.exe

0x05 感受

因為工作大多在離線環境中,所以對各類開發工具離線環境中的使用都比較關心。感覺VS2015是最複雜的一版VS了,最小安裝體積也很大,各種不方便。早期的.NET Core也是,過度依賴nuget,為了在離線環境中使用還得搭個nuget服務(不過這個也沒啥好說的,搭個nuget服務確實方便),再考進來一大堆包。相比之下VS2017好多了。
 

更多內容歡迎訪問我的部落格:http://www.durow.vip

相關文章