SQL Server Express 2019 Setup stops with "The parameter is incorrect"

David Stafford 1 Reputation point
2022-09-19T08:29:10.443+00:00

Hello all.

I have a brand new installation of Windows Server 2022 onto which I tried to install SQL Server Express 2019 in mixed mode. Aside from changing the instance name, I accepted all the defaults.

During the "Installation Progress" step, the progress bar got to the point of displaying ExtensibilityConfigAction_install_confignonrc_Cpu64 and threw an error which is less than helpful and simply says "The parameter is incorrect". The "help" button displays

LinkID 20476
Product Microsoft SQL Server
Msg Src setup.rll
Msg ID 50000
Prod Ver 15.0.4013.40
EvtType 0xDBB00D2A%400x294A9FD9

and the web link generated is

https://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=15.0.4013.40&EvtType=0xDBB00D2A%25400x294A9FD9

but, of course, the web page presented is now just the Microsoft home page and nothing useful.

In the Detail_Local file, the last part of the file, including the first occurrence of the message "The parameter is incorrect", is:

(01) 2022-09-19 17:12:50 Slp: Sco: Attempting to get sid for user account NT SERVICE\MSSQLLaunchpad$MYINSTANCE
(01) 2022-09-19 17:12:50 Slp: Configuration action failed for feature AdvancedAnalytics during timing ConfigNonRC and scenario ConfigNonRC.
(01) 2022-09-19 17:12:50 Slp: The parameter is incorrect.
(01) 2022-09-19 17:12:50 Slp: The configuration failure category of current exception is ConfigurationFailure
(01) 2022-09-19 17:12:50 Slp: Configuration action failed for feature AdvancedAnalytics during timing ConfigNonRC and scenario ConfigNonRC.
(01) 2022-09-19 17:12:50 Slp: System.ArgumentException: The parameter is incorrect.
(01) 2022-09-19 17:12:50 Slp: at System.DirectoryServices.AccountManagement.UnsafeNativeMethods.IADsGroup.Add(String bstrNewItem)
(01) 2022-09-19 17:12:50 Slp: at System.DirectoryServices.AccountManagement.SAMStoreCtx.UpdateGroupMembership(Principal group, DirectoryEntry de, NetCred credentials, AuthenticationTypes authTypes)
(01) 2022-09-19 17:12:50 Slp: at System.DirectoryServices.AccountManagement.SDSUtils.ApplyChangesToDirectory(Principal p, StoreCtx storeCtx, GroupMembershipUpdater updateGroupMembership, NetCred credentials, AuthenticationTypes authTypes)
(01) 2022-09-19 17:12:50 Slp: at System.DirectoryServices.AccountManagement.SAMStoreCtx.Update(Principal p)
(01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.Extensibility.ExtensibilityConfigurationPrivate.CreateSQLRUserGroup(ExtensibilityProperties extProperties)
(01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.Extensibility.ExtensibilityConfigurationPrivate.InstallExtensibility(ConfigActionTiming timing, Dictionary2 actionData, PublicConfigurationBase spcbCurrent) (01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.Extensibility.ExtensibilityConfigurationPrivate.Install(ConfigActionTiming timing, Dictionary2 actionData, PublicConfigurationBase spcbCurrent)
(01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.PrivateConfigurationBase.Execute(ConfigActionScenario scenario, ConfigActionTiming timing, ConfigBaseAction action, Dictionary2 actionData, PublicConfigurationBase spcbCurrent) (01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.SqlFeatureConfigBase.Execute(ConfigActionScenario scenario, ConfigActionTiming timing, ConfigBaseAction action, Dictionary2 actionData, PublicConfigurationBase spcbCurrent)
(01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.ExecuteAction(String actionId)
(01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.Execute(String actionId, TextWriter errorStream)
(01) 2022-09-19 17:12:50 Slp: The following is an exception stack listing the exceptions in outermost to innermost order
(01) 2022-09-19 17:12:50 Slp: Inner exceptions are being indented
(01) 2022-09-19 17:12:50 Slp:
(01) 2022-09-19 17:12:50 Slp: Exception type: System.ArgumentException
(01) 2022-09-19 17:12:50 Slp: Message:
(01) 2022-09-19 17:12:50 Slp: The parameter is incorrect.
(01) 2022-09-19 17:12:50 Slp:
(01) 2022-09-19 17:12:50 Slp: HResult : 0x80070057
(01) 2022-09-19 17:12:50 Slp: Data:
(01) 2022-09-19 17:12:50 Slp: SQL.Setup.FailureCategory = ConfigurationFailure
(01) 2022-09-19 17:12:50 Slp: WatsonConfigActionData = INSTALL@CONFIGNONRC@ADVANCEDANALYTICS
(01) 2022-09-19 17:12:50 Slp: WatsonExceptionFeatureIdsActionData = System.String[]
(01) 2022-09-19 17:12:50 Slp: Stack:
(01) 2022-09-19 17:12:50 Slp: at System.DirectoryServices.AccountManagement.UnsafeNativeMethods.IADsGroup.Add(String bstrNewItem)
(01) 2022-09-19 17:12:50 Slp: at System.DirectoryServices.AccountManagement.SAMStoreCtx.UpdateGroupMembership(Principal group, DirectoryEntry de, NetCred credentials, AuthenticationTypes authTypes)
(01) 2022-09-19 17:12:50 Slp: at System.DirectoryServices.AccountManagement.SDSUtils.ApplyChangesToDirectory(Principal p, StoreCtx storeCtx, GroupMembershipUpdater updateGroupMembership, NetCred credentials, AuthenticationTypes authTypes)
(01) 2022-09-19 17:12:50 Slp: at System.DirectoryServices.AccountManagement.SAMStoreCtx.Update(Principal p)
(01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.Extensibility.ExtensibilityConfigurationPrivate.CreateSQLRUserGroup(ExtensibilityProperties extProperties)
(01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.Extensibility.ExtensibilityConfigurationPrivate.InstallExtensibility(ConfigActionTiming timing, Dictionary2 actionData, PublicConfigurationBase spcbCurrent) (01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.Extensibility.ExtensibilityConfigurationPrivate.Install(ConfigActionTiming timing, Dictionary2 actionData, PublicConfigurationBase spcbCurrent)
(01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.PrivateConfigurationBase.Execute(ConfigActionScenario scenario, ConfigActionTiming timing, ConfigBaseAction action, Dictionary2 actionData, PublicConfigurationBase spcbCurrent) (01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.SqlFeatureConfigBase.Execute(ConfigActionScenario scenario, ConfigActionTiming timing, ConfigBaseAction action, Dictionary2 actionData, PublicConfigurationBase spcbCurrent)
(01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.ExecuteAction(String actionId)
(01) 2022-09-19 17:12:50 Slp: at Microsoft.SqlServer.Configuration.SqlConfigBase.SlpConfigAction.Execute(String actionId, TextWriter errorStream)
(01) 2022-09-19 17:12:51 Slp: Watson Bucket 1
Original Parameter Values
(01) 2022-09-19 17:12:51 Slp: Parameter 0 : SQL Server 2019@rtm @
(01) 2022-09-19 17:12:51 Slp: Parameter 1 : System.DirectoryServices.AccountManagement.UnsafeNativeMethods.IADsGroup.Add
(01) 2022-09-19 17:12:51 Slp: Parameter 2 : System.DirectoryServices.AccountManagement.UnsafeNativeMethods.IADsGroup.Add
(01) 2022-09-19 17:12:51 Slp: Parameter 3 : System.ArgumentException@-2147024809
(01) 2022-09-19 17:12:51 Slp: Parameter 4 : System.ArgumentException@-2147024809
(01) 2022-09-19 17:12:51 Slp: Parameter 5 : ExtensibilityConfigAction_install_confignonrc
(01) 2022-09-19 17:12:51 Slp: Parameter 6 : INSTALL@CONFIGNONRC@ADVANCEDANALYTICS
(01) 2022-09-19 17:12:51 Slp:
Final Parameter Values
(01) 2022-09-19 17:12:51 Slp: Parameter 0 : SQL Server 2019@rtm @
(01) 2022-09-19 17:12:51 Slp: Parameter 1 : 0xDBB00D2A
(01) 2022-09-19 17:12:51 Slp: Parameter 2 : 0xDBB00D2A
(01) 2022-09-19 17:12:51 Slp: Parameter 3 : 0x294A9FD9
(01) 2022-09-19 17:12:51 Slp: Parameter 4 : 0x294A9FD9
(01) 2022-09-19 17:12:51 Slp: Parameter 5 : ExtensibilityConfigAction_install_confignonrc
(01) 2022-09-19 17:12:51 Slp: Parameter 6 : 0x2F176BFD
(01) 2022-09-19 17:12:52 Slp: Sco: Attempting to write hklm registry key Microsoft SQL Server to file C:\Program Files\Microsoft SQL Server\150\Setup Bootstrap\Log\20220919_164444\Registry_SOFTWARE_Microsoft_Microsoft SQL Server.reg_
(01) 2022-09-19 17:12:52 Slp: Sco: Attempting to write hklm registry key Uninstall to file C:\Program Files\Microsoft SQL Server\150\Setup Bootstrap\Log\20220919_164444\Registry_SOFTWARE_Microsoft_Windows_CurrentVersion_Uninstall.reg_
(01) 2022-09-19 17:12:52 Slp: Sco: Attempting to write hklm registry key MSSQLServer to file C:\Program Files\Microsoft SQL Server\150\Setup Bootstrap\Log\20220919_164444\Registry_SOFTWARE_Microsoft_MSSQLServer.reg_
(01) 2022-09-19 17:12:52 Slp: Sco: Attempting to write hklm registry key Microsoft SQL Server to file C:\Program Files\Microsoft SQL Server\150\Setup Bootstrap\Log\20220919_164444\Registry_SOFTWARE_Wow6432Node_Microsoft_Microsoft SQL Server.reg_
(01) 2022-09-19 17:12:52 Slp: Sco: Attempting to write hklm registry key Uninstall to file C:\Program Files\Microsoft SQL Server\150\Setup Bootstrap\Log\20220919_164444\Registry_SOFTWARE_Wow6432Node_Microsoft_Windows_CurrentVersion_Uninstall.reg_
(01) 2022-09-19 17:12:52 Slp: Sco: Attempting to write hklm registry key MSSQLServer to file C:\Program Files\Microsoft SQL Server\150\Setup Bootstrap\Log\20220919_164444\Registry_SOFTWARE_Wow6432Node_Microsoft_MSSQLServer.reg_
(01) 2022-09-19 17:12:54 Slp: The parameter is incorrect.
(01) 2022-09-19 17:12:54 Slp: Watson bucket for exception based failure has been created

It's always disappointing when software doesn't install cleanly the first time but it's more frustrating when the error message gives you little or no help in determining what went wrong. My searches online for similar situations haven't turned up any (so far) that have matched my issue.

Does anyone here have any insight that could help?

Thanks in advance

David Stafford

SQL Server Other
{count} votes

4 answers

Sort by: Most helpful
  1. David Stafford 1 Reputation point
    2022-09-20T04:58:14.75+00:00

    I have found out what the problem is and I add this information in case others hit the same problem and would benefit from short-cutting the process I wen through.

    It is recommended that SQL Server isn't installed on a Domain Controller (for security reasons, MS says) but it only comes up as a warning and you are not prevented from that configuration.

    On the other hand, installing "SQL Server Machine Learning Services (Python and R) on Windows" actually says

    "Don't install Machine Learning Services on a domain controller. The Machine Learning Services portion of setup will fail."

    Ref: https://learn.microsoft.com/en-us/sql/machine-learning/install/sql-machine-learning-services-windows-install?view=sql-server-ver15

    Curiously, the setup program is clever enough to note and warn about the computer being a DC for the Database Engine component but still offered as a default, and prompted for the location of the install files for

    Python;
    R; and
    Machine Learning Services and Language Extensions

    And even when the process finishes and the errors are displayed, it still recommended the "Troubleshooting information for those features" to "Use the following information to resolve the error, uninstall this feature, and then run the setup process again" instead of saying something useful such as "These components cannot be installed on a Domain Controller".

    Surely, one extra line of code in the installer, Microsoft, could have saved me the aggravation?

    But how about some useful error messages? How does "The parameter is incorrect" give me anything to go on?

    Regards

    David Stafford

    0 comments No comments

  2. YufeiShao-msft 7,146 Reputation points
    2022-09-20T08:18:33.077+00:00

    Hi @David Stafford ,

    I am glad you have found out what the problem is and solved it

    Parameter is incorrect indicates that the file cannot be accessed effectively, it may imply that the installation of ML is not supported, generally, when an error occurs, the error message will be rather general, that is why the error log exists

    If so, and please accept the answer you share, your action would be helpful to other users who encounter the same issue and read this thread.

    Regards

    -------------

    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments

  3. David Stafford 1 Reputation point
    2022-09-20T11:00:05.627+00:00

    Hello Yufeishao-msft

    Thank you for your response.

    While I am sure that your explanation has value, in general Microsoft doesn't do a good job (any longer) when it comes to error messages. I would think that an error message such as "File cannot be accessed effectively" would be a good error message if, say, the file could not be access effectively.

    I'd be inclined to interpret "Parameter is incorrect" to mean that a parameter passed to some routine was incorrect but it would be more useful, in that case, to identify which parameter was incorrect and, ideally, why.

    In my situation, I think Microsoft could have done a much better job with the setup program. The team responsible has just been lazy and has rushed their work. How easy would it have been to apply the rule that says "If installing on a domain controller, do not offer the option to install Machine Learning Services and Language Extensions"?

    That would have been the clever thing to do.
    That would have been the helpful thing to do.
    That would have been the professional thing to do.

    Clever, helpful and professional. Something to which Microsoft could again aspire, like in the good old days.

    0 comments No comments

  4. Erland Sommarskog 121.4K Reputation points MVP Volunteer Moderator
    2022-09-20T21:10:49.453+00:00

    "The parameter is incorrect" means that there is a Win32 call that is erroneously constructed. Of course, as plain users of the Setup program, we have very little possible to figure this out. (Well, we could sit with Process Monitor, but that's not fun at all.)

    If I understand you correctly, Setup should have blocked you when you tried to install ML on a domain controller. (And it is not only because of security reasons you should not install SQL Server on a Domain Controller. There is more than ML that tend to break or not worl well on a DC.)

    I would suggest that you post about your experiemces on https://feedback.azure.com/forums/908035-sql-server, which is the place to submit bugs and suggestions for SQL Server. I you made a very good analysis of the state of affairs. Please share the link here, so that we can vote for it!

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.