We recently worked on an issue for a customer where WDS was not starting on a newly installed ConfigMgr 2012 remote DP that had PXE enabled. After some troubleshooting we discovered that when WDS was trying to load and initialize smspxe.dll, it could not find a required component called Microsoft.VC90.CRT. After some investigation we determined that this component was made available via a DLL installed by Microsoft Visual C++ 2008 Redistributable. Once we installed Microsoft Visual C++ 2008 Redistributable we finally were able to start WDS.

Microsoft Visual C++ 2008 Redistributable is not listed as a prerequisite component for PXE enabled DPs in the following TechNet article:

Prerequisites for Site System Roles
http://technet.microsoft.com/en-us/library/gg682077.aspx#BKMK_SupConfigSiteSystemReq

We have requested that the documentation be updated to properly reflect that Microsoft Visual C++ 2008 Redistributable is a prerequisite for PXE enabled DPs.

The below article lists the exact symptoms and error messages generated when the issue occurs. It also explains how to resolve the issue.

Note: We are planning to publish the below article as a KB article. If not already available, it should be available soon as KB2712387.

 

Symptoms

After enabling the PXE feature of a remote ConfigMgr 2012 Distribution Point, WDS and PXE install correctly. However WDS never starts. Attempting to manually start WDS via the Services console results in the following error message:

 

Windows could not start the Windows Deployment Services Server on Local Computer. For more information, review the System Even Log. If this is a non-Microsoft service, contact the service vendor, or refer to service-specific error code -1056505588.

 

SMSPXE.log does not show errors or activity.

Looking at the Application System Event Log on a 64bit server reveals the following error messages:

 

Log Name:      Application
Source:        SideBySide
Date:          <Date> <Time>
Event ID:      33
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Remote_DP_Server>
Description:
Activation context generation failed for "C:\SMS_DP$\sms\bin\smspxe.dll". Dependent Assembly Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.30729.4148" could not be found. Please use sxstrace.exe for detailed diagnosis.

 

Log Name:      Application
Source:        WDSPXE
Date:          <Date> <Time>
Event ID:      259
Task Category: WDSPXE
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Remote_DP_Server>
Description:
An error occurred while trying to load the module from C:\SMS_DP$\sms\bin\smspxe.dll for provider SMSPXE. If  the provider is marked as critical, the Windows Deployment Services server will  be shutdown.

 

Log Name:      Application
Source:        WDSPXE
Date:          <Date> <Time>
Event ID:      264
Task Category: WDSPXE
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Remote_DP_Server>
Description:
An error occurred while trying to initialize provider SMSPXE. Since the provider  is not marked as critical, the Windows Deployment Services server will remain started.

Error Information: 0x36B1

 

Log Name:      Application
Source:        WDSPXE
Date:          <Date> <Time>
Event ID:      268
Task Category: WDSPXE
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Remote_DP_Server>
Description:
All registered providers failed to initialize. Please review the Event Log for  specific error messages for each provider. Windows Deployment Server will be  shutdown.

 

Log Name:      Application
Source:        WDSServer
Date:          <Date> <Time>
Event ID:      513
Task Category: WDSServer
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Remote_DP_Server>
Description:
An error occurred while trying to initialize provider WDSPXE from C:\Windows\system32\wdspxe.dll. Windows Deployment Services server will be shutdown.

Error Information: 0xC107010C

 

Log Name:      Application
Source:        WDSServer
Date:          <Date> <Time>
Event ID:      257
Task Category: WDSServer
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <Remote_DP_Server>
Description:
An error occurred while trying to start the Windows Deployment Services server.

Error Information: 0xC107010C

 

Cause

This issue occurs because a dependent component, Microsoft.VC90.CRT, is not available. This component is normally available via a DLL installed by Microsoft Visual C++ 2008 Redistributable. Microsoft Visual C++ 2008 Redistributable is normally installed by during the ConfigMgr 2012 client install via the install file vcredist_x86.exe or vcredist_x64.exe. If the ConfigMgr 2012 client has not been installed on the server hosting the PXE enabled remote DP, then Microsoft Visual C++ 2008 Redistributable will also not have been installed and Microsoft.VC90.CRT will not be available.

Please note that Microsoft Visual C++ 2008 Redistributable is a common install for many different software install packages. It may be installed on the server even if the ConfigMgr 2012 client is not installed on the server.

 

Resolution

To resolve the problem, install the ConfigMgr 2012 client on the server hosting the PXE enabled remote DP.

If the PXE enabled remote DP server is not going to also be a ConfigMgr 2012 client and therefore the ConfigMgr 2012 client install is not desired, Microsoft Visual C++ 2008 Redistributable can be installed separately on the server by manually running either vcredist_x86.exe (32bit Windows OSes) or vcredist_x64.exe (64bit Windows OSes) from the ConfigMgr 2012 client install files. These install files can be found in the client install directory on the parent Primary site server under the following paths:

vcredist_x86.exe
<ConfigMgr_2012_Install_Directory>\Client\i386

or

vcredist_x64.exe
<ConfigMgr_2012_Install_Directory>\Client\x64

Once Microsoft Visual C++ 2008 Redistributable has been installed via the ConfigMgr 2012 client install or a manual install, manually start WDS via the Services console. WDS should subsequently be able to start automatically.


Frank Rojas
Senior Support Escalation Engineer