There are alot of KBs that need to be used in the package.
You want to run the IE install with /log and you will see all the files it uses. The add-content line was just for SCCM 2012 application model. It does require one reboot. I couldn't ever get the toolkit to send error code 3010. So I put the restart prompt.
# Show Welcome Message, close Internet Explorer if required, allow up to 3 deferrals, verify there is enough disk space to complete the install and persist the prompt
Show-InstallationWelcome -CloseApps "iexplore"
# Show Progress Message (with the default message)
Show-InstallationProgress
function IsInstalled($hotfixid)
{
$ret = $false
Get-WmiObject -Query "Select * from Win32_QuickFixEngineering WHERE HotfixID = '$hotfixid'" -Namespace "root\CIMV2" | ForEach-Object {
$ret = $true
}
return $ret
}
Prerequisite 1
$update1 = "KB2834140"
If (IsInstalled($update1))
{
write-log -text "$update1 is already installed, skipping."
}
Else
{
Write-log -text "Installing $update1..."
cmd.exe /c "C:\Windows\System32\dism.exe /online /add-package /packagepath:$dirfiles\Windows6.1-KB2834140-v2-x86.cab /quiet /norestart"
}
Prerequisite #2
$update2 = "KB2670838"
If (IsInstalled($update2))
{
write-log -text "$update2 is already installed, skipping."
}
Else
{
write-log -text "Installing $update2..."
cmd.exe /c "C:\Windows\System32\dism.exe /online /add-package /packagepath:$dirfiles\KB2670838_x86.CAB /quiet /norestart"
}
# Prerequisite #3
$update3 = "KB2639308"
If (IsInstalled($update3))
{
write-log -text "$update2 is already installed, skipping."
}
Else
{
write-log -text "Installing $update2..."
cmd.exe /c "C:\Windows\System32\dism.exe /online /add-package /packagepath:$dirfiles\KB2639308_x86.CAB /quiet /norestart"
}
Prerequisite 4
$update4 = "KB2731771"
If (IsInstalled($update4))
{
write-log -text "$update4 is already installed, skipping."
}
Else
{
write-log -text "Installing $update4..."
cmd.exe /c "C:\Windows\System32\dism.exe /online /add-package /packagepath:$dirfiles\KB2731771_x86.CAB /quiet /norestart"
}
Prerequisite #5
$update5 = "KB2729094"
If (IsInstalled($update5))
{
write-log -text "$update5 is already installed, skipping."
}
Else
{
write-log -text "Installing $update5..."
cmd.exe /c " C:\Windows\System32\dism.exe /online /add-package /packagepath:$dirfiles\Windows6.1-KB2729094-v2-x86.cab /quiet /norestart"
}
Prerequisite #6
$update6 = "KB2786081"
If (IsInstalled($update6))
{
write-log -text "$update6 is already installed, skipping."
}
Else
{
write-log -text "Installing $update6..."
cmd.exe /c "C:\Windows\System32\dism.exe /online /add-package /packagepath:$dirfiles\KB2786081_x86.CAB /quiet /norestart"
}
Prerequisite 7
$update7 = "KB2888049"
If (IsInstalled($update7))
{
write-log -text "$update7 is already installed, skipping."
}
Else
{
write-log -text "Installing $update7..."
cmd.exe /c "C:\Windows\System32\dism.exe /online /add-package /packagepath:$dirfiles\Windows6.1-KB2888049-x86.cab /quiet /norestart"
}
Prerequisite 8
$update8 = "KB2882822"
If (IsInstalled($update8))
{
write-log -text "$update8 is already installed, skipping."
}
Else
{
write-log -text "Installing $update8..."
cmd.exe /c "C:\Windows\System32\dism.exe /online /add-package /packagepath:$dirfiles\Windows6.1-KB2882822-x86.cab /quiet /norestart"
}
*===============================================
* INSTALLATION
$installPhase = "Installation"
*===============================================
# Perform installation tasks here
main program
write-log -text "installing main file"
cmd.exe /c "C:\Windows\System32\dism.exe /online /add-package /packagepath:$dirfiles\IE11-neutral.Downloaded.cab /quiet /norestart"
spelling
write-log -text "installing spelling file"
cmd.exe /c "C:\Windows\System32\dism.exe /online /add-package /packagepath:$dirfiles\Windows6.3-KB2849696-x86.cab /quiet /norestart"
Hypenation
write-log -text "installing Hypenation file"
cmd.exe /c "C:\Windows\System32\dism.exe /online /add-package /packagepath:$dirfiles\Windows6.3-KB2849697-x86.cab /quiet /norestart"
*===============================================
* POST-INSTALLATION
$installPhase = "Post-Installation"
*===============================================
Setup auto-update false
write-log -text "set no auto update"
Set-RegistryKey -Key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main" -Name "EnableAutoUpgrade" -Value "0" -Type Dword -ContinueOnError $true
set detection
Add-Content -path "c:\windows\logs\IE11installed.txt" -value "install via sccm2012" -ErrorAction SilentlyContinue
exit Script
Show-InstallationRestartPrompt -countdownseconds 10