接上一篇博客,依舊是需要制作安裝包,需要開啟系統的MSMQ功能。這里就用到了dism.exe
DISM全稱是Deployment Image Servicing and Management(部署映像服務和管理),用於安裝、卸載、配置和更新脫機 Windows(R) 映像和脫機 Windows 預安裝環境 (Windows PE) 映像中的功能和程序包。
文件路徑"C:\Windows\System32\Dism.exe"
注意:Dism運行需要管理員權限
可使用 Dism.exe /?查看詳細命令參數,Dism功能非常強大,這里我只介紹如何開啟和關閉Windows功能。
如果需要詳細的介紹,可以訪問
使用下面這個命令,可以查看Windows功能列表
1 dism /online /Get-Features
運行以后,部分截圖如下
我這里需要安裝 消息隊列,對應的功能名稱是MSMQ-Container,MSMQ-Server。對應控制面板截圖如下
輸入以下命令
1 Dism /Online /Enable-Feature /FeatureName:MSMQ-Container
1 Dism /Online /Enable-Feature /FeatureName:MSMQ-Server
執行如下
安裝完成后,就可以在控制面板看到如下結果,代表已經啟用了
禁用Windows服務,把/Enable-Feature換成/Disable-Feature就行了。
注意,記得這里加上/NoRestart,否則會等待輸入確認是否重啟電腦,這樣就不能自動化執行下面的命令了。
1 Dism /Online /Disable-Feature /FeatureName:MSMQ-Container /NoRestart 2 Dism /Online /Disable-Feature /FeatureName:MSMQ-Server /NoRestart
卸載完成后, 再設置重啟就行了
1 shutdown -r -t 0
重啟完就可以看到消息隊列功能已經關閉了
這樣就可以在制作安裝包時,自動啟用或禁用Windows功能了。
有的時候需要離線安裝,可以運行以下 DISM 命令來安裝MSMQ-Server:
從D:\sources獲取安裝文件,然后把映像裝載到D:\offline,再開始執行安裝。
1 DISM /Image:D:\offline /Enable-Feature /FeatureName:MSMQ-Server /All /LimitAccess /Source:D:\sources
使用 /All 啟用指定的功能的所有父功能。
使用 /LimitAccess 以防止 DISM 與 Windows Update/WSUS 聯系。
使用 /Source 指定離線安裝包的目錄
一般需要離線安裝的,可能就是.Net Framework 3.5了。這個安裝包的位置位於Windows安裝鏡像的"sources\sxs"目錄下,名稱是"microsoft-windows-netfx3-ondemand-package.cab"
假設Windows安裝鏡像解壓的目錄是D:\Windows,則可以使用以下命令安裝Net35
DISM /Image:D:\offline /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\Windows\sources\sxs
注意:請先創建D:\offline目錄