• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

MLA2000 - Error: Cannot add duplicate collection entry of type 'add' with unique key

W

Wim Stander

Guest
When trying to install MyLittleAdmin on a clean server with Plesk 10.4 I get following error:

Can't set component parameters:defpackagemng failed: Execute websrvmng --add-application --vhost-name=(default) --app-name=mla2000 --scripts=asp --enable-parent-paths=true --app-pool=plesk(default)(pool) --asp-codepage=1252 "--path=C:\Inetpub\vhosts\sqladmin\myLittleAdmin\2000Full" failed with error code 1: Filename:
Error: Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'PageHandlerFactory-Integrated'
In module
Exception type: System.Runtime.InteropServices.COMException
at Microsoft.Web.Administration.Interop.IAppHostElementCollection.AddElement(IAppHostElement pElement, Int32 cPosition)
at Microsoft.Web.Administration.ConfigurationElementCollectionBase`1.Add(T element)
at HandlerCollection.AddRange(List`1 )
at IIS7Handlers.enable(IIS7Handlers* , set<enum IHandlers::HandlerType\,std::less<enum IHandlers::HandlerType>\,std::allocator<enum IHandlers::HandlerType> >* types, Boolean disableOther)
---------------------- Debug Info -------------------------------
0: common_func.php3:73
psaerror(string 'Can't set component parameters:defpackagemng failed: Execute websrvmng --add-application --vhost-name=(default) --app-name=mla2000 --scripts=asp --enable-parent-paths=true --app-pool=plesk(default)(pool) --asp-codepage=1252 "--path=C:\Inetpub\vhosts\sqladmin\myLittleAdmin\2000Full" failed with error code 1: Filename:
Error: Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'PageHandlerFactory-Integrated'
In module
Exception type: System.Runtime.InteropServices.COMException
at Microsoft.Web.Administration.Interop.IAppHostElementCollection.AddElement(IAppHostElement pElement, Int32 cPosition)
at Microsoft.Web.Administration.ConfigurationElementCollectionBase`1.Add(T element)
at HandlerCollection.AddRange(List`1 )
at IIS7Handlers.enable(IIS7Handlers* , set<enum IHandlers::HandlerType\,std::less<enum IHandlers::HandlerType>\,std::allocator<enum IHandlers::HandlerType> >* types, Boolean disableOther)')
1: DefPackageMng.php:130
DefPackageMng->setPackageParameters(string 'mylittleadmin', array)
2: class.ComponentConfForm.php:89
ComponentConf->update()
3: component_conf.php:42

Microsoft says the following about these errors: http://support.microsoft.com/kb/949349

But there are a lot of config files ... I don't know which one to change or delete. Any ideas?
 
Fixed

Problem has been fixed. It had nothing to do with a config file. Below solution provided by HostEurope.

The problem was caused by the presence of Handler 'PageHandlerFactory-Integrated' on the top level of IIS. It somehow conflicted with handlers that were added by Plesk when it configured site for mylittleadmin in IIS. In order to get rid of the error, it was necessary to delete this handler by going to IIS Manager->Serverhostname->Handler mappings->PageHandlerFactory-Integrated->Remove->Yes.

After that I tried to choose myLittleAdmin again. This time the error was similar, but it concerned the handler 'HttpRemotingHandlerFactory-soap-Integrated'. I deleted it as well. Then the situation repeated for handlers 'ASPClassic' and 'SecurityCertificate'. After deleting these 4 handlers it became possible to choose myLittleAdmin without errors.

In order to eliminate this work via GUI, you can do it via command line:. Commands for deleting handlers are the following:
C:\Windows\System32\inetsrv>appcmd set config /section:handlers /-[name='PageHandlerFactory-Integrated']
C:\Windows\System32\inetsrv>appcmd set config /section:handlers /-[name='HttpRemotingHandlerFactory-soap-Integrated']
C:\Windows\System32\inetsrv>appcmd set config /section:handlers /-[name='ASPClassic']
C:\Windows\System32\inetsrv>appcmd set config /section:handlers /-[name='SecurityCertificate']

I used the commandline to solve the problem. Tried the GUI at first, but got some strange errors.

After applying this solution, it might happen that you get warnings about "overrulling server wide settings" when enableing SSL and some other three settings on a website or when creating service plans. These warnings do not affect the opertion of Plesk as far as I can see.
 
Back
Top