本文不但介紹了CS-Script如何部署,還介紹了CS-Script的部署後面的原理,並用一個框圖詳細介紹了部署中的各類細節。css
1、獲取資源html
1.從官網上下載編譯好的csscript資源:cs-script.7z windows
https://csscriptsource.codeplex.com/releases/view/616234工具
2.解壓到某目錄下,注意選擇一個相對固定的目錄,好比一個專門用來存放庫文件的目錄;性能
好比在個人機器上會放到: E:\OpenSource\cs目錄下;spa
2、執行安裝操作系統
嚴格來講,csscript是不須要部署的,其實只要下載了zip包就ok了,不須要什麼部署,下載了便可使用。後續的所謂安裝只是對操做系統作一些調整,以便讓後續編寫腳本,執行腳本能夠更加方便。3d
安裝步驟:調試
1. 找到第一節中的解壓目錄,運行其根目錄中的install.cmd,便可完成安裝;code
2. 默認狀況下CS-Script的庫是使用.NET V4.5的(注,並非安裝程序須要.NET V4.5,而是運行程序,特別是CSScriptLibrary.dll),若是當前計算機沒有安裝.NET v4.5,則程序會彈出提示,或者選擇下降到 V4.0來使用,那麼在內部來講,就是用 lib\Bin\NET 4.0\CSScriptLibrary.dll來替代 lib目錄下的CSScriptLibrary.dll。
3、Install.cmd在系統中添加了什麼
1. 添加了各類環境變量的,以下圖所示:
同時會把%CSSCRIPT_DIR%, %CSSCRIPT_DIR%\LIB添加到環境變量中,以即可以找到cscs.exe, csws.exe等各類csscript的工具;
2.在ProgramData中建立了CS-Script目錄,拷貝了後續輔助調試須要用到的一些資源,主要是將後續的右鍵菜單須要用到的一些命令拷貝到了
C:\ProgramData\CS-Script\ShellExt目錄下了,內容以下:
3. 註冊了一個動態的右鍵菜單,後續只要在cs文件上右鍵,在右鍵菜單中就會包含以下內容:
這個菜單實際上是根據C:\ProgramData\CS-Script\ShellExt目錄下的cmd文件動態生成的。
4、Install.bat都作了什麼?
打開install.cmd,裏面就一句話:
start css_config.exe,因此我猜測全部配置的工做都封裝在css_config.exe的源碼中了,好在這是開源代碼,在下載源碼包中也包括了css_config項目的代碼,因此我就順着css_config的源碼往下看,打開css_config發現他的代碼很簡單,主要作了三件事情:
1. 檢查當前windows是否有管理員權限,若是沒有則提示並退出;
2.根據當前系統的.NET 版本,以及用戶的選擇,確認拷貝哪一個版本的CSSCriptLibrary.dll到 Lib目錄下;
3.調用csws.exe來執行一段cs腳本,以執行更深層次的配置,代碼以下:
string csws = Path.Combine(rootDir, "csws.exe"); string configScript = Path.Combine(rootDir, @"lib\config.cs"); args = new string[2]; args[0] = "/dbg"; args[1] = configScript; AppDomain.CurrentDomain.ExecuteAssembly(Path.Combine(rootDir, @"csws.exe"), args);
後續就順着config.cs一直往下走,發現整個部署過程的邏輯聽複雜,在各類cmd、exe、dll和cs以前繞來繞去的,大體以下圖所示,若是有興趣的話,能夠再詳細去看具體的代碼。
本系列包括: