opscode/knife-windows — pull request #101 by adamedx (2014-10-04 18:05:36+00:00)
Title: Workaround broken OS patch KB2918614

This OS patch is causing the chef-client msi installation on Windows to fail when bootstrapping over winrm. The issue is apparently a regression in Windows Installer:
http://support.microsoft.com/kb/2918614
http://answers.microsoft.com/en-us/windows/forum/windows8_1-windows_install/kb2918614-breaks-windows-installer-service/3d75a1c2-114a-4241-a527-35b536edc158

The workaround here is to detect if there's a failure to install, then use task scheduler to install the msi. Because task scheduler is asynchronous, we use the waitfor command to send a signal when the installation is done, and the bootstrap script waits for it before proceeding to try to run Chef. A downside of this approach is that it is difficult to obtain the return value of the task execution.