Windows Vista Deployment Through BDD 2007 Fails After Adding Hotfix 941649

Here's an issue we've been running into every now and then that you might want to be aware of.  After adding hotfix 941649, a Windows Vista deployment through BDD 2007 may fail with the following error:

The installation was canceled. Any changes that were made to your computer during the installation process with not be saved. Windows could not apply unattend settings during pass (null).

You may also see the following errors:

Setuperr.log:
2007-10-11 20:54:30, Error CBS Exec: Failed to commit CSI transaction to execute changes. hr: 0x80073713
2007-10-11 20:54:31, Error CBS Pkgmgr: Failed unattend install: Package_for_KB941649~31bf3856ad364e35~x86~~6.0.1.1, hr: 0x80073713
2007-10-11 20:54:32, Error [0x0604a7] IBS InstantiateCBSUnattendPass: Package manager returned with failing exit code 14099
2007-10-11 20:54:32, Error [0x060431] IBS Callback_UnattendInitiatePass: An error occurred while initiating unattend passes; hr = 0x80004005

Setupact.log:
2007-10-11 20:53:40, Info CSI 00001216@2007/10/12:04:53:40.531 [68]"Applying ACL D:PAI(A;OICI;GA;;;BA) to directory C:\Windows\prefetch\"
2007-10-11 20:53:40, Error CSI 00001217@2007/10/12:04:53:40.531 (F) [47]"SetNamedSecurityInfo (DACL and SACL) failed (2)" [gle=0x80004005]
2007-10-11 20:53:40, Error CSI 00001218@2007/10/12:04:53:40.531 (F) CMIADAPTER: Inner Error Message from AI HRESULT = HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) [ [44]"The system cannot find the file specified. " ] [gle=0x80004005]
2007-10-11 20:53:40, Error CSI 00001219@2007/10/12:04:53:40.531 (F) CMIADAPTER: AI failed. HRESULT = HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) Element: [94]"<securityDescriptor xmlns="urn:schemas-microsoft-com:asm.v3" name="AdminGroupOnlyNoInherit" />" [gle=0x80004005]
2007-10-11 20:53:40, Error CSI 0000121a@2007/10/12:04:53:40.531 (F) CMIADAPTER: Exiting with HRESULT code =
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND). [gle=0x80004005]
2007-10-11 20:53:40, Info CSI 000006bd@2007/10/12:04:53:40.531

CSI Advanced installer perf trace:
CSIPERF:AIDONE;{4f9da785-7ffc-4a7d-9e7e-b1a67ad8b508};Microsoft-Windows-SystemMaintenanceService, Version = 6.0.6000.16551, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral;25740
2007-10-11 20:53:40, Error CSI 000006be (F) Failed execution of queue item Installer: Directory SD ({4f9da785-7ffc-4a7d-9e7e-b1a67ad8b508}) with HRESULT HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND). Failure will not be ignored: A
rollback will be initiated after all the operations in the installer queue are completed; installer is reliable (2)[gle=0x80004005]
2007-10-11 20:54:05, Info CSI 000006bf End executing advanced installer (sequence 183) Completion status: HRESULT_FROM_WIN32(ERROR_ADVANCED_INSTALLER_FAILED)

This can happen due to the fact that this hotfix makes an ACL change to the Windows\Prefetch directory which is present during a running Windows Vista Operating System.  In the case of a new deployment, the .WIM file needs to be mounted and modified to contain a Prefetch folder underneath the Windows directory. Once this new folder is in place, the hotfix will be able to apply correctly. The Windows Vista install code that will be released with SP1 should handle this situation better without errors or this required workaround.

J.C. Hornbeck

Comments