When you try to install Microsoft Internet Security and Acceleration (ISA) Server 2004 Service Pack 2 (SP2), the installation fails. The following error events are logged in the Application log.
Error message 1
Event Type: Error
Event Source: MsiInstaller
Event ID: 1013
Description:
Product: Microsoft ISA Server 2004 -- Setup failed while registering ISA Server
Filters
Error message 2
Event Type: Error
Event Source: M2icrosoft Firewall
Event ID: 14060
Description:
Cannot load an application filter SOCKS V4 Filter ({GUID}). FilterInit failed with
code 0x80040154
To attempt to activate this application filter again, stop and restart the Firewall
service.
Error message 3
Event Type: Error
Event Source: Microsoft Firewall
Event ID: 14001
Description:
Firewall Service failed to initialize. Previous event log entries might help
determine the proper action.
Error message 4
Event Type: Error
Event Source: MsiInstaller
Event ID: 1023
Description:
Product: Microsoft ISA Server 2004 - Update "Microsoft ISA Server 2004
Service Pack 2" could not be installed. Error code 1603. Additional Information is
available in the log file %Path%.
Back to the top
This issue occurs because the filter priority is out of order. For example, a low priority Web filter is listed before a medium priority Web filter.
Back to the top
To resolve this issue, run the following script to reset the Web filter priority order.
To run this script, follow these steps.
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.
| 1. | Copy the following text, and then save it in a .vbs file. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
' Copyright (c) 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. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS
' HEREBY PERMITTED.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' This script sets the order of the Web filters
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub setOrderWF
' Create the root object.
Dim root ' The FPCLib.FPC root object
Set root = CreateObject("FPC.Root")
'Declare the other objects that are needed.
Dim array ' An FPCArray object
Dim Extensions ' An FPCExtensions
Dim WebFilters' An FPCWebFilters
Dim WebFilter
Dim FltrGuid
Dim lcount,lIndex
On Error Resume Next
' Get references to the array object and the network rules collection.
Set array = root.GetContainingArray
CheckError
Set Extensions = array.Extensions
CheckError
set WebFilters = Extensions.WebFilters
CheckError
WScript.Echo "Getting Link Translation filter"
set WebFilter = WebFilters.item("{9DEEF135-75DB-4aab-B2AC-314FBC98EF14}")
CheckError
WScript.Echo "Set Link translation filter priority to Low"
WebFilter.priority = 0
CheckError
WebFilters.Save
CheckError
WScript.Echo "Moving the cache compression filter to be last"
WebFilters.movedown(6)
CheckError
WebFilters.movedown(7)
CheckError
WebFilters.Save
CheckError
WScript.Echo "Set Link translation filter priority back to Medium"
set WebFilter = WebFilters.item("{9DEEF135-75DB-4aab-B2AC-314FBC98EF14}")
WebFilter.priority = 1
CheckError
WebFilters.Save
end sub
Sub CheckError()
If Err.Number <> 0 Then
WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " &
Err.Description
Exit sub
End If
End Sub
'main
setOrderWF
Note You can use Notepad or any text editor. |
| 2. | At a command prompt, type Cscript FileName.vbs. For example, you may type Cscript SetFiltersOrder.vbs.
Note FileName is a placeholder for the file that you saved in step 1.
|
After you run the script and update the ISA Server Microsoft Management Console (MMC) view, the Web filter priority order should resemble the following.
| Order | Name | Priority |
|---|
| 1 | Diffserv Filter | High |
| 2 | Compression Filter | High |
| 3 | OWA FBA Filter | High |
| 4 | SecurID Filter | High |
| 5 | RADIUS Authentication | High |
| 6 | Link Translation Filter | Medium |
| 7 | HTTP Filter | Low |
| 8 | Cashing Compressed Filter | Low |
Note You may have to run the scripts multiple times for the Web filter priority order to return to the original settings that are shown in this table.
After the Web filter priority order is restored, you can install ISA Server 2004 SP2.
Back to the top
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
Back to the top
If you have installed third-party Web filters, you may receive the following error messages:
Error message 1
An error occurred: 0xC0040301 A Web Filter
can be moved only into the positions of filters that have the same priority.
The error occurred on object 'ISAPI-Filters' of class 'Web Filters' in the scope of
array 'Array_Name'
Error message 2
Set Link Translation filter priory back to medium
To resolve this issue, remove the third-party Web filters, and then run the script again. You can re-install the third-party Web filters after the script has completed and after ISA Server 2004 SP2 is installed.
Back to the top