安装 Internet Explorer 10 后,Windows 7 x64 在 sysprep 后启动失败。许多帖子,例如这是 sgennadi 发的,给出一个注册表解决方法。
使用 Microsoft Development Toolkit 中的 WIM 安装(以及 Unattend.xml 中的包更新),如何在通用步骤之前或 IE10 更新包安装之后应用更改?
答案1
我设法让它工作起来。
在 Lite Touch 安装中,您必须有一个任务序列。此 TS 由位于您文件夹中的文件Install Operating System
处理。要使 Internet Explorer 10 x64 与 Sysprep 配合使用,您必须在 DISM.exe 进程之后添加一些 VBScript 代码:LTIApply.wsf
SCRIPTROOT
Function ApplyUnattend
Dim iRC
Dim sFileName
Dim oFile
' Create the scratch folder (needed for servicing)
oUtility.VerifyPathExists oUtility.LocalRootPath & "\Scratch"
oLogging.CreateEntry "Created scratch folder.", LogTypeInfo
' Copy the unattend.xml into the Panther folder (looks like DISM doesn't do this)
oUtility.VerifyPathExists sDestinationDrive & "\Windows\Panther\Unattend"
oFileHandling.CopyFile oUtility.LocalRootPath & "\unattend.xml", sDestinationDrive & "\Windows\Panther\Unattend.xml", true
oLogging.CreateEntry "Copied unattend.xml to " & sDestinationDrive & "\Windows\Panther for image apply.", LogTypeInfo
' Apply the unattend.xml. This takes care of driver injection and servicing (patch, LP, etc.) Do this from the Panther folder
' so that the \Drivers relative path in the unattend.xml works properly.
oLogging.ReportProgress "Applying unattend.xml with DISM.EXE.", 80
iRC = oUtility.RunWithConsoleLogging("dism.exe /Image:" & sDestinationDrive & "\ /Apply-Unattend:" & sDestinationDrive & "\Windows\Panther\Unattend.xml /ScratchDir:" & oUtility.LocalRootPath & "\Scratch")
TestAndFail iRc, 5627, "Run DISM.exe"
'''''''' Internet Explorer x64 Sysprep Fix ''''''''
oLogging.ReportProgress "Applying IE10 x64 registry hack.", 80
' Loads SOFTWARE hive into registry
'
oUtility.RunWithConsoleLogging(sDestinationDrive & "\Windows\System32\reg load HKLM\TempHive " & sDestinationDrive & "\Windows\System32\config\SOFTWARE")
' Create a temp file with the script that regini.exe will use
'
sFileName = oFSO.GetTempName
set oFile = oFSO.CreateTextFile(sFileName)
oFile.WriteLine "HKEY_LOCAL_MACHINE\TempHive\Microsoft\Windows\CurrentVersion\Setup\Sysprep\Cleanup [1 5 7 11 17]"
oFile.WriteLine "HKEY_LOCAL_MACHINE\TempHive\Microsoft\Windows\CurrentVersion\Setup\Sysprep\Generalize [1 5 7 11 17]"
oFile.WriteLine "HKEY_LOCAL_MACHINE\TempHive\Microsoft\Windows\CurrentVersion\Setup\Sysprep\Specialize [1 5 7 11 17]"
oFile.Close
' Change registry permissions with regini.exe
'
oUtility.RunWithConsoleLogging(sDestinationDrive & "\Windows\System32\regini " & sFileName)
' Fix registry paths
'
oShell.RegWrite "HKLM\TempHive\Microsoft\Windows\CurrentVersion\Setup\Sysprep\Cleanup\{EC9FE15D-99DD-4FB9-90D5-5B56E42A0F80}", "C:\Windows\System32\iesysprep.dll,Sysprep_Cleanup_IE"
oShell.RegWrite "HKLM\TempHive\Microsoft\Windows\CurrentVersion\Setup\Sysprep\Generalize\{EC9FE15D-99DD-4FB9-90D5-CE53C91AB9A1}", "C:\Windows\System32\iesysprep.dll,Sysprep_Generalize_IE"
oShell.RegWrite "HKLM\TempHive\Microsoft\Windows\CurrentVersion\Setup\Sysprep\Specialize\{EC9FE15D-99DD-4FB9-90D5-676C338DC1DA}", "C:\Windows\System32\iesysprep.dll,Sysprep_Specialize_IE"
' Delete temp file
'
oFSO.DeleteFile sFileName
' Unloads SOFTWARE hive from registry
'
oUtility.RunWithConsoleLogging(sDestinationDrive & "\Windows\System32\reg unload HKLM\TempHive")
'''''''' Internet Explorer x64 Sysprep Fix ''''''''
End Function