Understanding the Error
When attempting to install Forefront Endpoint Protection (FEP) 2012 Beta, the setup wizard may immediately display the following runtime error:
Setup encountered the following runtime error.
Error Message: Could not load file or assembly 'SMSwrappers,
version = 3.0.0.0, culture=neutral,
PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
The system cannot find the file specified.
This error prevents the installation wizard from even starting. The SMSwrappers.dll is a managed assembly that provides wrapper classes around the System Center Konfiguration Manager (SCCM) SMS Provider interfaces. It is a core dependency of the FEP installer because Forefront Endpoint Protection integrates directly with SCCM.
Common Causes
1. Corrupted or Incomplete Download
The most frequent cause of this error is a corrupted installation package. If the download of the FEP 2012 installer (typically a ZIP file) was interrupted or the file was damaged during transfer, the extracted contents may be missing critical DLLs including SMSwrappers.dll.
2. Missing SCCM Voraussetzungen
Forefront Endpoint Protection 2012 is designed to be installed on top of an existing SCCM infrastructure. The SMSwrappers.dll is normally provided by the SCCM installation. If SCCM is not installed, or if its components are not accessible from the path where the FEP installer runs, the assembly will not be found.
3. .NET Framework Version Issues
The SMSwrappers.dll requires .NET Framework 4.0. If only .NET 3.5 or an earlier version is installed, the assembly loader may fail to load the DLL even if the file exists.
4. Incorrect Installation Path or Extraction
If the ZIP file was extracted to a path with special characters, very long path names, or into a protected directory, the installer may not be able to locate its own DLLs.
5. Missing or Corrupted SCCM Admin Console
The SCCM admin console installs several assemblies that FEP depends on. If the console was partially installed or its assemblies are corrupted, FEP setup will fail.
Voraussetzungen for Forefront Endpoint Protection 2012
Before installing FEP 2012, ensure all prerequisites are in place:
Server Anforderungen
| Requirement | Details |
|---|---|
| Operating System | Windows Server 2008 SP2 or Windows Server 2008 R2 |
| SCCM | System Center Konfiguration Manager 2007 SP2 or SCCM 2012 |
| .NET Framework | 4.0 or later |
| SCCM Admin Console | Must be installed on the FEP installation server |
| Disk Space | Minimum 2 GB free space |
| Permissions | Local administrator and SCCM administrator |
Verify .NET Framework Installation
# Check installed .NET Framework versions
Get-ChildItem "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP" -Recurse |
Get-ItemProperty -Name Version, Release -ErrorAction SilentlyContinue |
Where-Object { $_.PSChildName -match '^(?!S)\p{L}'} |
Select-Object PSChildName, Version
Verify SCCM Installation
# Check if SCCM is installed
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\SMS\Setup" -ErrorAction SilentlyContinue |
Select-Object "Installation Directory", "Full Version"
# Verify the SMSwrappers DLL exists in SCCM installation
$sccmPath = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\SMS\Setup" -ErrorAction SilentlyContinue)."Installation Directory"
if ($sccmPath) {
Test-Path "$sccmPath\bin\i386\SMSwrappers.dll"
}
Fix 1: Re-Download the Installation Package
The simplest and most common fix is to download the FEP 2012 installation files again:
- Delete the existing extracted installation files
- Delete the downloaded ZIP file
- Re-download the FEP 2012 installer from the original source (Microsoft Volume Licensing Service Center or MSDN)
- Verify the file hash if Microsoft provides a checksum:
Get-FileHash -Path "C:\Downloads\FEP2012.zip" -Algorithm SHA256
- Extract to a short, simple path without spaces or special characters:
C:\FEP2012\
- Run the installer as administrator from the new extraction path
Fix 2: Verify SCCM Installation Integrity
If re-downloading does not resolve the issue, the problem may be with the SCCM installation:
Check SCCM Components
:: Verify the SMS Provider is working
wbemtest
In WBEMTest:
- Click Connect
- Enter the namespace:
root\sms\site_<SITECODE>(replace with your site code) - If the connection succeeds, the SMS Provider is functional
Repair the SCCM Admin Console
- Open Programs and Features (Control Panel > Programs > Uninstall a Program)
- Find System Center Konfiguration Manager Console
- Click Repair
- Wait for the repair to complete
- Retry the FEP 2012 installation
Reinstall the SCCM Admin Console
If repair does not work:
- Uninstall the SCCM admin console from Programs and Features
- Navigate to the SCCM installation media
- Run
AdminConsole\ConsoleSetup.exe - Complete the installation
- Verify
SMSwrappers.dllexists in the SCCM bin directory
Fix 3: Manually Register the Assembly
If the DLL exists on the system but is not found by the installer, you can manually register it:
:: Find the SMSwrappers.dll
dir /s C:\*.SMSwrappers.dll
:: If found, register it in the GAC
gacutil /i "C:\Program Files\Microsoft Configuration Manager\AdminConsole\bin\SMSwrappers.dll"
Or set an assembly probing path:
<!-- Create a FEP2012.exe.config file next to the installer -->
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;lib;C:\Program Files\Microsoft Configuration Manager\AdminConsole\bin" />
</assemblyBinding>
</runtime>
</configuration>
Fix 4: Check and Clean the .NET Assembly Cache
A corrupted .NET assembly cache can cause assembly loading failures:
:: Clear the .NET native image cache
ngen update
:: Clear temporary ASP.NET files (if applicable)
rd /s /q %WINDIR%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files
rd /s /q %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
Fix 5: Install in the Correct Order
The installation order matters for SCCM and FEP:
- Windows Server 2008 SP2 or R2 with all updates
- .NET Framework 4.0 (if not already included with the OS)
- SQL Server for SCCM database
- SCCM 2007 SP2 or SCCM 2012 (full server installation)
- SCCM Admin Console on the server where FEP will be installed
- Forefront Endpoint Protection 2012
If you try to install FEP before SCCM or its admin console, the SMSwrappers.dll will not be available.
Fix 6: Registry Cleanup for Failed Installations
If a previous FEP installation attempt failed and left behind registry entries, clean them up:
# Check for existing FEP registry entries
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Forefront Endpoint Protection" -ErrorAction SilentlyContinue
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Microsoft Forefront\*" -ErrorAction SilentlyContinue
# Remove leftover entries (back up the registry first)
reg export "HKLM\SOFTWARE\Microsoft\Forefront Endpoint Protection" C:\backup\fep-reg-backup.reg
reg delete "HKLM\SOFTWARE\Microsoft\Forefront Endpoint Protection" /f
Also check for leftover MSI entries:
# List installed products related to Forefront
Get-WmiObject Win32_Product | Where-Object { $_.Name -like "*Forefront*" } |
Select-Object Name, Version, IdentifyingNumber
Remove any partial installations through Programs and Features or using msiexec:
msiexec /x {ProductGUID} /qn
Fehlerbehebung the Assembly Loading
If you need to determine exactly why the assembly is failing to load, enable the .NET Fusion Log Viewer:
Enable Assembly Binding Logging
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]
"ForceLog"=dword:00000001
"LogFailures"=dword:00000001
"LogResourceBinds"=dword:00000001
"LogPath"="C:\\FusionLogs\\"
Create the log directory:
mkdir C:\FusionLogs
Run the FEP installer again, then examine the logs in C:\FusionLogs\ for detailed information about where the runtime looked for SMSwrappers.dll and why it failed.
Wichtig: Disable Fusion logging after troubleshooting, as it generates large amounts of log data:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]
"ForceLog"=dword:00000000
Zusammenfassung
The “Could not load file or assembly SMSwrappers” error during Forefront Endpoint Protection 2012 installation is most commonly caused by a corrupted download. Re-downloading and re-extracting the installation files to a clean directory resolves the issue in most cases. If the problem persists, verify that SCCM and its admin console are properly installed (since SMSwrappers.dll is an SCCM component), ensure .NET Framework 4.0 is available, check the installation order, and use the Fusion Log Viewer to trace exactly where the assembly loading fails.