Windows SBS 2003 Update Services Gives Error: The Element Already Exists in the Collection

Windows SBS 2003 Update Services Gives Error: The Element Already Exists in the Collection

  • Comments 10
  • Likes

[Today's post comes to us courtesy of Damian Leibaschoff and Justin Crosby from Commercial Technical Support and Chris Puckett from Product Quality]

UPDATE 4/19/2010

The Exchange 2000 security update, 976703, contained an identifier in the metadata that was not unique enough for a WSUS API call used by SBS 2003 to differentiate 976703 from the Exchange 2003 security update, 976702.  This resulted in the error in the SBS 2003 console and the Server Status Report.

The Exchange 2000 security update, 976703, has since been expired and simultaneously re-released with modified metadata. The issue with the SBS 2003 Console and the Server Status Report will resolve itself after the next WSUS Sync.  If you did or did not decline 976703 before, there is no need to take any further action after WSUS has synced again.  You can wait for the next sync to occur as scheduled or sync manually if you wish.  After successfully re-syncing you may need to close and re-open the SBS console for the error to disappear.

Symptom:

After synchronizing updates released on Tuesday, April 13, 2010, the Update Services node in the SBS 2003 Console returns an error: The element already exists in the collection. Parameter name: value.

--------------------------------------------------------------------------------
Server Error in '/UpdateServices' Application.
--------------------------------------------------------------------------------

The element already exists in the collection. Parameter name: value

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: The element already exists in the collection. Parameter name: value

Source Error:
Line 194:                              </div>
Line 195:                              <%Response.Flush();
Line 196:                                RenderPage();%>
Line 197:                              <div id="divForm" style='display: none'>
Line 198:                              <form id="formMain" method="post" runat="server">
Source File: c:\inetpub\UpdateServices\Home.aspx    Line: 196

Stack Trace:
[ArgumentException: The element already exists in the collection.
Parameter name: value]

   Microsoft.UpdateServices.Administration.WsusCollection.CheckItemIsValid(Int32 index, Object value) +152
   Microsoft.UpdateServices.Administration.WsusCollection.OnInsert(Int32 index, Object value) +20
   System.Collections.CollectionBase.System.Collections.IList.Add(Object value) +106
   Microsoft.UpdateServices.Administration.UpdateSummaryCollection.Add(IUpdateSummary value) +10
   Microsoft.UpdateServices.Internal.BaseApi.UpdateSummary.BuildSummaryCollection(GenericReadableRow[] rows, GroupBy groupBy) +476
   Microsoft.UpdateServices.Internal.BaseApi.ComputerTargetGroup.GetSummaryPerUpdate() +117
   Microsoft.SBS.UpdateServices.DataProvider.GetPendingUpdateCollection() +420
   Microsoft.SBS.UpdateServices.DataProvider.GetPendingUpdateCounts() +5
   Microsoft.SBS.UpdateServices.StatusPage.Utility.GetStatusItems(Boolean waitingForSyncStart) +2705
   Microsoft.SBS.UpdateServices.StatusPage.formHome.RenderPage() +23
   ASP.Home_aspx.__Render__control1(HtmlTextWriter __output, Control parameterContainer) in c:\inetpub\UpdateServices\Home.aspx:196
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +27
   System.Web.UI.Control.Render(HtmlTextWriter writer) +7
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +243
   System.Web.UI.Page.ProcessRequestMain() +1926
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.2443; ASP.NET Version:1.1.4322.2407

image

The Server Status Report may also fail to deliver.

Event Type:        Error
Event Source:    ServerStatusReports
Event Category:                None
Event ID:              1
Description:
Server Status Report:
                URL:                       http://localhost/monitoring/perf.aspx?reportMode=1&allHours=1
                Error Message: The element already exists in the collection.
Parameter name: value
                Stack Trace:           at Microsoft.UpdateServices.Administration.WsusCollection.CheckItemIsValid(Int32 index, Object value)
   at Microsoft.UpdateServices.Administration.WsusCollection.OnInsert(Int32 index, Object value)
   at System.Collections.CollectionBase.System.Collections.IList.Add(Object value)
   at Microsoft.UpdateServices.Administration.UpdateSummaryCollection.Add(IUpdateSummary value)
   at Microsoft.UpdateServices.Internal.BaseApi.UpdateSummary.BuildSummaryCollection(GenericReadableRow[] rows, GroupBy groupBy)
   at Microsoft.UpdateServices.Internal.BaseApi.ComputerTargetGroup.GetSummaryPerUpdate()
   at Microsoft.SBS.UpdateServices.DataProvider.GetPendingUpdateCollection()
   at Microsoft.SBS.UpdateServices.DataProvider.GetPendingUpdateCounts()
   at Microsoft.SBS.UpdateServices.StatusPage.Utility.GetStatusItems()
   at usage.frmPerf.PopulateStatusItems()
   at usage.frmPerf.renderReportWorker()
   at usage.frmPerf.renderReport()

Resolution:

Decline the Security Update for Exchange 2000 Server Service Pack 3 (KB976703) using the steps below.

  1. Click Start, Administrative Tools, Windows Server Update Services.
  2. On the Action menu, click Search.
     image
  3. In the text box, enter 976703 and click Find Now.
    image
  4. When the result is returned, right-click the 976703 update for Exchange 2000 and click Decline.
     image
  5. 5. Click Yes on the pop-up.
    image
  6. Click Close in the Search dialog.
  7. If you happen to have one or more Exchange 2000 Servers in your environment, you will want to install Security Update for Exchange 2000 Server Service Pack 3 (KB976703) manually from Microsoft Update or from the Microsoft Download Center.
Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
Comments
  • Thanks SBS Blog - this solution worked perfectly for me!

  • Thanks for making my day a lot easier guys! worked like a charm! Appreciate the effort!

  • This problem had me totally foxed, on my SBS2003 server not only was the 'Update Services' playing up, but also the 'Monitoring and Reporting'.  I'm amazed and thankful that you managed to find the cause of and solution to the problem, but I am surprised that such a seemingly trivial thing can bring down two important parts of the server.

    Once again many thanks.

  • Help! I just discovered this same error this week, but I'm not sure my conditions are exactly the same.

    I'm running SBS 2003, but it looks like you are running WSUS 3 (I haven't updated to WSUS 3 yet, because long story short, during installation and testing before the box went live, when I attempted to do so, it destroyed my WSUS installation and I had to revert/reinstall Ver 2.)

    Anyway, since I don't have Exchange 2000 on the SBS 2003 box and/or WSUS 3, does this apply, and any idea what I can do? I haven't even applied any updates within the last couple weeks. On top of the error I get (as you show), I also get an IE script error - "document.all.divForm.style is null or not an object".

    An additional issue - maybe related, maybe not - is that Monitoring and Reporting also stopped working. It now shows "Page Cannot Be Displayed" and suggests I make sure "MSSQL$SBSMONITORING" service is running (it is), restart the server, etc. I've restarted the server, no joy.

  • What a bug, i was searching for hours.... Thank you very much!

  • And the Performance and Reportfeature got some issues too, after the patch day.

    Are there any solutions available for it?

  • This also has appeared to have taken down the SBS Monitoring Instance of 3 SBS 2003 R2 machines with WSUS 2.0 running on them that I support. The first indication of an issue was that the 6:00 AM Server Status Reports on April 14th were blank.  So far the only way I have been able to get monitoring going again is to do a complete uninstall/reinstall of the SBS Monitoring Component.  

    Note that the Start->Programs->Administrative Tools->Microsoft Windows Server Update Services still functions (and allowed me to decline the update).  Am waiting for the automatic synchronization to occur to see if that re-establishes the link to in the Server Management Console.  A manual synch through the MWSUS Console so far has not done so.

  • This was exactly the problem I had on our SBS 2003 and this resolution fixed it.

    Excellent post. Thanks.

  • Thanks a lot.

    We couldn't imagine it was a problem with one of the updates.

    We have WSUS 2.0.

    The way to find the kb976703 update in 2.0 is:

    - Open WSUS in Administrative Tools

    - Click in Updates icon (top right)

    - Write the search in the view box in the left (ensure the combos select all the updates).

    - Press Aply (it tooks several minutes, but finally it shows the update).

    - Right click on the update and decline it

    - Accept the message box

    - Close the WSUS page

    - And everything is Ok. ;-)

  • Thanks a lot i just had the problem on a few SBS servers now.

    regards

    Koen