[教學] Windows 7 x64 SP1 整合光碟製作 (IE11+Hotfix+.NET 4.7+USB 3.0+NVMe)

/ 分類: , / 860 則回應

標籤: , ,

其實先前整理 Windows 7 SP2 的時候就想順便把Microsoft Visual C++可轉散發套件、Microsoft .NET Framework 4.6.2這類常用的 Runtime 給一併打包,畢竟這些軟體幾乎在建構一般使用環境的過程中,幾乎無可避免的需要額外安裝(轉發套件以及.NET Framework封裝流程皆已寫入install.bat,以下內容僅供紀錄)。

封裝軟體

  • 軟體名稱 : Microsoft Visual C++ 2005 SP1 可轉散發套件 (x86)
  • 下載連結 : http://bit.ly/1Z4qsWH
  • 軟體名稱 : Microsoft Visual C++ 2008 SP1 可轉散發套件 (x86)
  • 下載連結 : http://bit.ly/1Z4quOg
  • 軟體名稱 : Microsoft Visual C++ 2010 SP1 可轉散發套件 (x86)
  • 下載連結 : http://bit.ly/1Z4qv4Y
  • 軟體名稱 : Microsoft Visual C++ 2010 SP1 可轉散發套件 (x64)
  • 下載連結 : http://bit.ly/1Z4qvSB
  • 軟體名稱 : Microsoft Visual C++ 2012 Update 4 可轉散發套件 (x86/x64)
  • 下載連結 : http://bit.ly/1Z4qwG7
  • 軟體名稱 : Microsoft Visual C++ 2013 可轉散發套件 (x86/x64)
  • 下載連結 : http://bit.ly/1Z4qzSa
  • 軟體名稱 : Microsoft Visual C++ 2015 可轉散發套件 (x86/x64)
  • 下載連結 : http://bit.ly/1Z4qyxA

封裝方式

嚴格說起來,.NET Framework 4.6.2 和 Visual C++ 可轉發套件並無法直接封裝在作業系統中,使用的方式是先將相關安裝檔存放在特定目錄中,在作業系統安裝過程中會先安裝檔一併複製,待系統安裝完成後,藉由自動檢查是否有 SetupComplete.cmd 並執行的機制來到安裝目的。

使用 SetupComplete.cmd 來自動安裝,可將安裝檔封裝在 iSO 或者 install.wim 內,這邊為了配合其他更新所使用的批次檔,所採用的方式為後者(安裝完畢後,會自動刪除檔案),如果有不想要安裝的軟體,可以自行修改 SetupComplete.cmd 內容。(以下路徑僅為紀錄)

  • iSO 封裝路徑 :\sources\$OEM$\$$\Setup\
  • install.wim 封裝路徑:\mount\Windows\Setup\

一般留言 (860)

  1. izaka 大大你好:
    經過一測試後目前intall.win的封裝以全部完成
    但是小弟的boot.win也有問題了:
    USB3.0的驅動封裝明明成功了 但是進行最後的印象檔掛載時卻出限權限問題= =
    我唯一做過的變動就只有把C:\W7SP2\DRIVER\USB3內的所有驅動刪到只剩我所需要的那個
    Intel_5.0.3.42 的driver而以,可不可以請大大再幫小第DeBug一下看是什麼問題??? QAQ
    付上問題之圖片:

    https://drive.google.com/file/d/0BwBUNR5p0km2bEdzcFhPN0FIR2s/view?usp=sharing

    • 感謝izaka 大大 , 我找出問題的所在了@@ 原來小弟boot.win的檔案根本就沒有從ios中題曲出來 , 這種低能的失誤還再這裡洗版 , 真的非常抱歉Orz…………….

  2. 大大 我在封裝上遇到了 以下的問題:

    C:\W7SP2>install.bat
    部署映像服務與管理工具
    版本: 6.3.9600.17031
    錯誤: 0xc1510113
    WIM 沒有指定的映像。
    請先檢查 WIM 是否已經有映像。
    在 C:\Windows\Logs\DISM\dism.log 中可找到 DISM 記錄檔
    部署映像服務與管理工具
    版本: 6.3.9600.17031
    錯誤: 2
    無法存取映像。
    請確定映像路徑和映像的 Windows 目錄存在,且您擁有資料夾的讀取權限。
    在 C:\Windows\Logs\DISM\dism.log 中可找到 DISM 記錄檔

    我有爬文去找其他的留言, 你們有提到 win7 x64 要使用ULTIMATE版提取的intall.wim 才能成功封裝 , 那請問我如果要裝 Pro版的是要 先用ULTIMATE版的wim封裝完整合的物件之後 , 再覆蓋到Pro版ios裡的intall.wim嗎? 還是這種封裝型態只能用在ULTIMATE版的win7? (完全不會程式的新手請教@@

    • 如果你的 ISO 是 PROFESSIONAL,請嘗試將 install.bat 裡面 index:4 全部至換成 index:3 試試看

      • izaka 大感謝教學 , 可以正常封裝了但是 , 現載有了另一個問題QAQ
        我封裝時只有一個更新會進行封裝 , 封裝完後會掛載映像檔3 , 但之後又會卸載 , 然後
        系統又會重新一次流程 , 但就卡在” 正在進行1之1- ” 然後就卡死了QAQ??? 請問是發生了什麼異常???(抱歉一直問但小弟真的很想學會QWQ
        PS:小弟的路徑跟檔案位置全部都有檢查過 附上:Cmd 跟 install.bat 的比對圖片
        https://drive.google.com/file/d/0BwBUNR5p0km2QmtrNTQ1YTE4TnM/view?usp=sharing

        • 原本的 install.bat 的確會在封裝一部分更新後卸載在重新掛起來,不過我目前沒辦法重現你的狀況,想請問一下你所使用的 ISO 版本為何?!下載管道是?!

          • 小弟的ios檔案是:Win7_Pro_SP1_Chinese(Traditional)_x64
            下載管道是透過最新版的 Windows Updates Downloader

          • 這樣應該是同一個版本

          • 回報izaka大大:
            小弟今天測試了一個早上發現, 很有可能是硬體的問題, 因為今天做一樣的測試, 小弟卡在一樣的階段, 但我擺了2個半小時之後發現居然開始封裝後面的檔案了(但是速度依然爆慢), 查了一下這台桌機的規格, 局然發現是win7 x86 然後記憶體只有3G… CPU也是很爛的那種…
            決定今天回家再用自己 i5 SSD的桌機封裝看看= =
            最好感謝izaka大大這兩天不厭其煩的教學, 讓晚輩獲益良多^_^

          • 這記憶體和處理器效能的確多少會造成一點影響,如果換電腦封裝還是出現類似問題再一起討論可能的解決方式

  3. 業界新手感謝 izaka 高手的無私分享 , 其實常常來這裡看教學文 , 但是都忘記要給個回復(真的很抱歉) , 最近公司有批新的備機 結果都沒有PS2介面 Q_Q Win7裝好後都卡死在輸入PC名稱的地方… 搞得小弟重灌到不要不要的= = 剛好找到這篇文章救了小弟一命 真的感激萬分QAQ

  4. izaka 大您好
    請問如果想封裝 Win10 可以參考您 Win7 這篇的教學步驟嗎?

    因為之前有參照您的文章成功整合,目前是想試試看整合 Win10 的 iso,不知道是否有特別須注意的地方?

    先感謝您的回覆~

  5. 版大你好、
    dotnet 4.7需要添加兩個更新檔才可,編號是
    KB4032113內的KB4024848、KB4014596、KB4019990
    KB4019112內的KB4014504
    這兩個更新檔的下載地址在 catalog.update.microsoft.com 可以抓取到

    望版大下次維護時添加一下

    • 這邊要說明一下,Security and Quality Rollup for .NET Framework 的部份個人不會去封裝帶有 Preview 字樣的選擇性更新,雖然 KB4032113 有更新 for .NET 4.7 的部份(KB4024848),另外也謝謝提醒 KB4019990 的部份,我真的漏掉沒上,至於 KB4014504 應該是有封裝才是 /NET351/,這個部份在麻煩你確認一下

      • 感謝版大對 Preview 字樣更新解惑
        KB4014504 這個大概是我這裡 download 時缺失所出現的問題、十分抱歉

        • 太客氣了,還是很謝謝每一位反饋的使用者

          • 分享一个自用的 install.bat 脚本代码好了、
            install.bat、install.wim、补丁在一个路径下时运行即可、如果需要指定其他路径可用如下指令

            install.bat [wim文件位置] [wim内索引编号] [补丁存放位置]

            [code]
            @ECHO OFF
            SETLOCAL

            SET WimFile=%1
            SET WimIndex=%2
            SET PatchPackagePath=%3

            IF NOT DEFINED WimFile SET WimFile=%~dp0\install.wim
            IF NOT DEFINED WimIndex SET WimIndex=4
            IF NOT DEFINED PatchPackagePath SET PatchPackagePath=%~dp0

            SET TMP=%~dp0\temp_%WimIndex%
            SET MountDir=%~dp0\mount_%WimIndex%

            IF NOT EXIST %TMP% MKDIR %TMP%
            IF NOT EXIST %MountDir% MKDIR %MountDir%

            dism /Mount-Wim /WimFile:%WimFile% /Index:%WimIndex% /MountDir:%MountDir%
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Convenience-Pre
            dism /Unmount-Wim /MountDir:%MountDir% /commit

            FOR /f %%b IN (‘DIR /b /s “%PatchPackagePath%\IE11\IE11*.exe”‘) DO “%%b” /X:%PatchPackagePath%\IE11\temp && DEL %PatchPackagePath%\IE11\temp\IE_SUPPORT_*.cab
            dism /Mount-Wim /WimFile:%WimFile% /Index:%WimIndex% /MountDir:%MountDir%
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Convenience

            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\IE11\Prerequisite
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\IE11\Neutral
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\IE11\temp

            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Other
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\NET351
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Optional
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Important
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\Convenience-Month
            dism /Image:%MountDir% /Add-Package /PackagePath:%PatchPackagePath%\NVMe

            PAUSE

            dism /Unmount-Wim /MountDir:%MountDir% /commit
            ::dism /Unmount-Wim /MountDir:%MountDir% /discard

            IF EXIST %TMP% RMDIR %TMP% /Q /S
            IF EXIST %MountDir% RMDIR %MountDir% /Q /S
            IF EXIST %PatchPackagePath%\IE11\temp RMDIR %PatchPackagePath%\IE11\temp /Q /S

            ENDLOCAL
            PAUSE

            [/code]

          • 謝謝你的分享 🙂

  6. 剛剛測試使用Dism++可以正常安裝,不會出現任何問題
    但是在win10 15063的dism就會卡死很久,舊版的win10應該是正常,因為之前都是OK的。

    • 這幾天我在試試看會不會有你提到的狀況

      • 我用了Dism++加入IE11之前的3個更新檔,加入的速度都很正常。
        但是我發現,跑到後面封裝一些更新的時候,問題又出現了,看來可能是整個dism的問題,再麻煩izaka測試看看,感謝!!

  7. izaka你好,
    想請問一下不知道有沒有人遇到KB3125574-v4更新檔
    套用更新的時候都會卡很久(起碼超過40分鐘)
    並且會癱瘓掉整個網路環境?
    (我已經嘗試過在SSD或HDD底下做,也換了另一台電腦,都是一樣的結果)

    • 個人封裝測試作業系統是 Windows 10 (15063.413),通常 DISM 的時候我都是丟在背景然後繼續忙,似乎沒有遇到卡住甚至網路癱瘓的情況發生

      • 我的環境是win10 (15063.483),以前製作都很正常,讓dism在後台跑就OK了
        現在不但不能同時做其他事情,還會影響到其他設備的上網。

  8. 請問如何整合 MSDaRT,並且可以按 Shift+F10 藉由 CMD 視窗調用

發表迴響