2

Windows 7 x64 дает сбой при загрузке после sysprep, когда установлен Internet Explorer 10. Многие сообщения, такие как sgennadi, дают обходной путь к реестру.

С помощью установки WIM в Microsoft Development Toolkit (вместе с обновлением пакета в Unattend.xml), как я могу применить изменение до этапа обобщения или сразу после установки пакета обновления IE10?

1 ответ1

1

Мне удалось заставить его работать.

При установке Lite Touch у вас должна быть последовательность задач « Install Operating System . Этот TS обрабатывается файлом LTIApply.wsf расположенным в папке SCRIPTROOT . Чтобы Internet Explorer 10 x64 работал с Sysprep, вам необходимо добавить код VBScript сразу после процесса DISM.exe:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .