How to Register IFilters 2.0 with Exchange 2007 and Exchange 2010
Microsoft Exchange Server 2007 will reach end of support on April 11, 2017. To stay supported, you will need to upgrade. For more information, see Resources to help you upgrade your Office 2007 servers and clients.
This topic describes how to register version 2 of the Microsoft Filter Pack IFilters with Microsoft Exchange Server 2007 and Exchange Server 2010. When you register the IFilters, you enable additional file types to be indexed by a server that is running Exchange. To register the IFilters, you must modify the registry.
This topic describes how to modify the registry manually. It also describes how to use the Exchange_reg.vbs script to modify the registry automatically.
Warning
Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
How to Register IFilters 2.0 with Exchange 2007 by Manually Modifying the Registry
Install the Microsoft Filter Pack. The architecture of the filter pack should match the architecture of the operating system (x64 or x86). For more information about how to install the Microsoft Filter Pack, see Microsoft Office 2010 Filter Packs
Locate the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\MSSearch\CLSID\
Under this subkey, add the following subkeys and values, where drive represents the appropriate drive letter.
Subkey
Value
{5A98B233-3C59-4B31-944C-0E560D85E6C3}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{20E823C2-62F3-4638-96BD-90F4F6784EBC}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{312AB530-ECC9-496E-AE0E-C9E6C5392499}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{B8D12492-CE0F-40AD-83EA-099A03D493F1}
drive:\Program Files\Common Files\Microsoft Shared\Filters\ONIFilter.dll
{FAEA5B46-761B-400E-B53E-E805A97A543E}
drive:\Program Files\Common Files\Microsoft Shared\Filters\VISFilt.DLL
{56BD18AD-CF9C-4110-AAAA-B2F96887D123}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{4039B326-9F27-4B4A-B460-47A0C6A39D5C}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
Locate the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\MSSearch\Filters
Under this subkey, add the following subkeys and values.
Subkey
Value
.docm
{5A98B233-3C59-4B31-944C-0E560D85E6C3}
.docx
{5A98B233-3C59-4B31-944C-0E560D85E6C3}
.pptm
{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}
.pptx
{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}
.xlsm
{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}
.xlsx
{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}
.xlsb
{312AB530-ECC9-496E-AE0E-C9E6C5392499}
.zip
{20E823C2-62F3-4638-96BD-90F4F6784EBC}
.one
{B8D12492-CE0F-40AD-83EA-099A03D493F1}
.vsd
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.vss
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.vst
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.vdx
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.vsx
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.vtx
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.html
{56BD18AD-CF9C-4110-AAAA-B2F96887D123}
.msg
{4039B326-9F27-4B4A-B460-47A0C6A39D5C}
Stop and then restart the Exchange Search service. To do this, follow these steps:
Click Start, click Run, type cmd, and then click OK.
At the command prompt, type net stop msftesql-exchange, and then press ENTER.
At the command prompt, type net start msexchangesearch, and then press ENTER.
Type exit, and then press ENTER to exit the command prompt.
How to Register IFilters 2.0 with Exchange 2007 by Modifying the Registry Automatically
Install the Microsoft Filter Pack. The architecture of the filter pack should match the architecture of the operating system (x64 or x86). For more information about how to install the Microsoft Filter Pack, see Microsoft Office 2010 Filter Packs.
Copy the following text, and then paste it into a Notepad file:
Copyright (c) 2007 Microsoft Corporation. All rights reserved. ' ' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK ' OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER. ' This is a filter registration script to configure Exchange Server 2007 to index 2007 Office attachments. ' The script generates a .reg file that adds the required registry keys. Const ForWriting = 2 Set FSO = CreateObject("Scripting.FileSystemObject") Set Shell = CreateObject ("WSCript.shell") Set Env = Shell.Environment("Process") wscript.echo "Creating ExchangeFilterRegistration.reg in the current directory" Set file = FSO.OpenTextFile("ExchangeFilterRegistration.reg", ForWriting, True) commonFiles = Env("CommonProgramFiles") commonFiles = Replace(commonFiles,"\","\") officeFilterLocation = commonFiles & "\Microsoft Shared\Filters\offfiltx.dll" onenoteFilterLocation = commonFiles & "\Microsoft Shared\Filters\ONIFilter.dll" visioFilterLocation = commonFiles & "\Microsoft Shared\Filters\VISFilt.DLL" docxGuid ="{5A98B233-3C59-4B31-944C-0E560D85E6C3}" pptxGuid ="{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}" xlsxGuid ="{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}" zipGuid ="{20E823C2-62F3-4638-96BD-90F4F6784EBC}" xlsbGuid ="{312AB530-ECC9-496E-AE0E-C9E6C5392499}" onenoteGuid ="{B8D12492-CE0F-40AD-83EA-099A03D493F1}" vsdGuid ="{FAEA5B46-761B-400E-B53E-E805A97A543E}" msgGuid ="{4039B326-9F27-4B4A-B460-47A0C6A39D5C}" htmlGuid ="{56BD18AD-CF9C-4110-AAAA-B2F96887D123}" exchangeClsidKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\MSSearch\CLSID" exchangeFilterKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Exchange\MSSearch\Filters" file.WriteLine "Windows Registry Editor Version 5.00" file.WriteLine file.WriteLine "[" & exchangeClsidKey & "]" file.WriteLine OutputCLSIDKey exchangeClsidKey, docxGuid, officeFilterLocation OutputCLSIDKey exchangeClsidKey, pptxGuid, officeFilterLocation OutputCLSIDKey exchangeClsidKey, xlsxGuid, officeFilterLocation OutputCLSIDKey exchangeClsidKey, zipGuid, officeFilterLocation OutputCLSIDKey exchangeClsidKey, xlsbGuid, officeFilterLocation OutputCLSIDKey exchangeClsidKey, msgGuid, officeFilterLocation OutputCLSIDKey exchangeClsidKey, htmlGuid, officeFilterLocation OutputCLSIDKey exchangeClsidKey, onenoteGuid, onenoteFilterLocation OutputCLSIDKey exchangeClsidKey, vsdGuid, visioFilterLocation file.WriteLine "[" & exchangeFilterKey & "]" file.WriteLine OutputFilterKey exchangeFilterKey, "docm", docxGuid OutputFilterKey exchangeFilterKey, "docx", docxGuid OutputFilterKey exchangeFilterKey, "pptm", pptxGuid OutputFilterKey exchangeFilterKey, "pptx", pptxGuid OutputFilterKey exchangeFilterKey, "xlsm", xlsxGuid OutputFilterKey exchangeFilterKey, "xlsx", xlsxGuid OutputFilterKey exchangeFilterKey, "xlsb", xlsbGuid OutputFilterKey exchangeFilterKey, "zip", zipGuid OutputFilterKey exchangeFilterKey, "one", onenoteGuid OutputFilterKey exchangeFilterKey, "vsd", vsdGuid OutputFilterKey exchangeFilterKey, "vss", vsdGuid OutputFilterKey exchangeFilterKey, "vst", vsdGuid OutputFilterKey exchangeFilterKey, "vdx", vsdGuid OutputFilterKey exchangeFilterKey, "vsx", vsdGuid OutputFilterKey exchangeFilterKey, "vtx", vsdGuid OutputFilterKey exchangeFilterKey, "msg", msgGuid OutputFilterKey exchangeFilterKey, "html", htmlGuid wscript.echo "Created ExchangeFilterRegistration.reg for this server." wscript.echo "Run ExchangeFilterRegistration.reg to enable Exchange Search indexing of 2007 Office attachments." wscript.echo "then run ""net stop msftesql-exchange"" followed by ""net start msexchangesearch """ Public Function OutputCLSIDKey(base,guid,location) file.WriteLine "[" & base & "\" & guid & "]" file.WriteLine "@=""" & location & """" file.WriteLine End Function Public Function OutputFilterKey(base,extension,guid) file.WriteLine "[" & base & "\." & extension & "]" file.WriteLine "@=""" & guid & """" file.WriteLine End Function
Save the file that is named Exchange_reg.vbs, and then double-click the file. This procedure creates an ExchangeFilterRegistration.reg file.
Double-click the ExchangeFilterRegistration.reg file, and then follow the prompts to set the correct registry values.
The following file name extensions are supported by the filter pack:
.docm
.docx
.one
.pptm
.pptx
.vdx
.vsd
.vss
.vst
.vsx
.vtx
.xlsb
.xlsm
.xlsx
.zip
.msg
.html
How to Register IFilters 2.0 with Exchange 2010 by Manually Modifying the Registry
Install the Microsoft Filter Pack.
For more information about how to install the Microsoft Filter Pack, see Microsoft Office 2010 Filter Packs.
Locate the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14\MSSearch\CLSID
Under this subkey, add the following subkeys and values, where drive represents the appropriate drive letter.
Subkey
Value
{5A98B233-3C59-4B31-944C-0E560D85E6C3}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{20E823C2-62F3-4638-96BD-90F4F6784EBC}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{312AB530-ECC9-496E-AE0E-C9E6C5392499}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{B8D12492-CE0F-40AD-83EA-099A03D493F1}
drive:\Program Files\Common Files\Microsoft Shared\Filters\ONIFilter.dll
{FAEA5B46-761B-400E-B53E-E805A97A543E}
drive:\Program Files\Common Files\Microsoft Shared\Filters\VISFilt.DLL
{56BD18AD-CF9C-4110-AAAA-B2F96887D123}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
{4039B326-9F27-4B4A-B460-47A0C6A39D5C}
drive:\Program Files\Common Files\Microsoft Shared\Filters\offfiltx.dll
Locate the following registry subkey:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v14\MSSearch\Filters
Under this subkey, add the following subkeys and values.
Subkey
Value
.docm
{5A98B233-3C59-4B31-944C-0E560D85E6C3}
.docx
{5A98B233-3C59-4B31-944C-0E560D85E6C3}
.pptm
{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}
.pptx
{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}
.xlsm
{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}
.xlsx
{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}
.xlsb
{312AB530-ECC9-496E-AE0E-C9E6C5392499}
.zip
{20E823C2-62F3-4638-96BD-90F4F6784EBC}
.one
{B8D12492-CE0F-40AD-83EA-099A03D493F1}
.vsd
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.vss
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.vst
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.vdx
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.vsx
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.vtx
{FAEA5B46-761B-400E-B53E-E805A97A543E}
.html
{56BD18AD-CF9C-4110-AAAA-B2F96887D123}
.msg
{4039B326-9F27-4B4A-B460-47A0C6A39D5C}
Stop and then restart the Exchange Search service. To do this, follow these steps:
Click Start, click Run, type cmd, and then click OK.
At the command prompt, type net stop msftesql-exchange, and then press ENTER.
At the command prompt, type net start msexchangesearch, and then press ENTER.
Type exit, and then press ENTER to exit the command prompt.
Restart the Microsoft Search (Exchange) service using the Services console or by typing the following command in the Exchange Management Shell:
Stop-Service msftesql-Exchange -Force; Start-Service MSExchangeSearch
How to Register the IFilters 2.0 with Exchange 2010 by Modifying the Registry Automatically
Install the Microsoft Filter Pack. For more information about how to install the Microsoft Filter Pack, see Microsoft Office 2010 Filter Packs.
Copy the following text, and then paste it into a Notepad file:
# Copyright (c) 2009 Microsoft Corporation. All rights reserved. # THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER. # This is a filter registration script to configure Exchange Server 2010 to index Office 2007 file formats. $DLLPath = $env:CommonProgramFiles + "\Microsoft Shared\Filters" $CLSIDKey = "HKLM:\SOFTWARE\Microsoft\ExchangeServer\V14\MSSearch\CLSID" $FiltersKey = "HKLM:\SOFTWARE\Microsoft\ExchangeServer\v14\MSSearch\Filters" # Filter DLL Locations $officeFilterLocation = $DLLPath + "\offfiltx.dll" $onenoteFilterLocation = $DLLPath + "\ONIFilter.dll" $visioFilterLocation = $DLLPath + "\VISFilt.DLL" # Filter GUIDs $docxGuid ="{5A98B233-3C59-4B31-944C-0E560D85E6C3}" $pptxGuid ="{DDFE337F-4987-4EC8-BDE3-133FA63D5D85}" $xlsxGuid ="{F90DFE0C-CBDF-41FF-8598-EDD8F222A2C8}" $zipGuid ="{20E823C2-62F3-4638-96BD-90F4F6784EBC}" $xlsbGuid ="{312AB530-ECC9-496E-AE0E-C9E6C5392499}" $onenoteGuid ="{B8D12492-CE0F-40AD-83EA-099A03D493F1}" $vsdGuid ="{FAEA5B46-761B-400E-B53E-E805A97A543E}" $msgGuid ="{4039B326-9F27-4B4A-B460-47A0C6A39D5C}" $htmlGuid ="{56BD18AD-CF9C-4110-AAAA-B2F96887D123}" # Create CLSIDs Write-Host "Creating CLSIDs..." New-Item -Path $CLSIDKey -Name $docxGuid -Value $officeFilterLocation -Type String New-Item -Path $CLSIDKey -Name $pptxGuid -Value $officeFilterLocation -Type String New-Item -Path $CLSIDKey -Name $xlsxGuid -Value $officeFilterLocation -Type String New-Item -Path $CLSIDKey -Name $zipGuid -Value $officeFilterLocation -Type String New-Item -Path $CLSIDKey -Name $xlsbGuid -Value $officeFilterLocation -Type String New-Item -Path $CLSIDKey -Name $onenoteGuid -Value $onenoteFilterLocation -Type String New-Item -Path $CLSIDKey -Name $vsdGuid -Value $visioFilterLocation -Type String # Set Threading model Write-Host "Setting threading model..." New-ItemProperty -Path "$CLSIDKey\$docxGuid" -Name "ThreadingModel" -Value "Both" -Type String New-ItemProperty -Path "$CLSIDKey\$pptxGuid" -Name "ThreadingModel" -Value "Both" -Type String New-ItemProperty -Path "$CLSIDKey\$xlsxGuid" -Name "ThreadingModel" -Value "Both" -Type String New-ItemProperty -Path "$CLSIDKey\$zipGuid" -Name "ThreadingModel" -Value "Both" -Type String New-ItemProperty -Path "$CLSIDKey\$xlsbGuid" -Name "ThreadingModel" -Value "Both" -Type String New-ItemProperty -Path "$CLSIDKey\$onenoteGuid" -Name "ThreadingModel" -Value "Both" -Type String New-ItemProperty -Path "$CLSIDKey\$vsdGuid" -Name "ThreadingModel" -Value "Both" -Type String # Create Filter Entries Write-Host "Creating Filter Entries..." # Uncomment these if you wish to index these uncommonly exchanged formats #New-Item -Path $FiltersKey -Name ".docm" -Value $docxGuid -Type String #New-Item -Path $FiltersKey -Name ".pptm" -Value $pptxGuid -Type String #New-Item -Path $FiltersKey -Name ".xlsm" -Value $xlsxGuid -Type String #New-Item -Path $FiltersKey -Name ".vss" -Value $vsdGuid -Type String #New-Item -Path $FiltersKey -Name ".vst" -Value $vsdGuid -Type String #New-Item -Path $FiltersKey -Name ".vsx" -Value $vsdGuid -Type String #New-Item -Path $FiltersKey -Name ".vtx" -Value $vsdGuid -Type String # These are the entries for commonly exchange formats New-Item -Path $FiltersKey -Name ".docx" -Value $docxGuid -Type String New-Item -Path $FiltersKey -Name ".pptx" -Value $pptxGuid -Type String New-Item -Path $FiltersKey -Name ".xlsx" -Value $xlsxGuid -Type String New-Item -Path $FiltersKey -Name ".xlsb" -Value $xlsbGuid -Type String New-Item -Path $FiltersKey -Name ".zip" -Value $zipGuid -Type String New-Item -Path $FiltersKey -Name ".one" -Value $onenoteGuid -Type String New-Item -Path $FiltersKey -Name ".vsd" -Value $vsdGuid -Type String Write-Host "Registry subkeys created." Write-Host "Please restart Microsoft Search (Exchange) service from the Services console, or by running stop-service msftesql-Exchange -Force ; start-service MSExchangeSearch
Name the file RegisterMicrosoftFilterPack.ps1, and then save it.
Start Windows PowerShell or the Exchange Management Shell.
Run the RegisterMicrosoftFilterPack.ps1 script.
Important
Whether Windows PowerShell or the Exchange Management Shell lets you run scripts is determined by the execution policy. For more details, see Script Security.
Restart the Microsoft Search (Exchange) service by using the Services console or by typing the following command in the Exchange Management Shell:
Stop-Service msftesql-Exchange -Force; Start-Service MSExchangeSearch