http://bugs.winehq.org/show_bug.cgi?id=59051
Bug ID: 59051 Summary: SQL Server 2012/2014 installer reports 'SqlBrowserConfigAction_install_ConfigNonRC_Cpu32' action failure (Wine lacks WinNT ADSI provider) Product: Wine Version: 10.19 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: activeds Assignee: wine-bugs@list.winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
as it says. After fixing bug 42792 ("SQL Server 2012/2014: Installer requires ChangeServiceConfig2 with SERVICE_CONFIG_SERVICE_SID_INFO support (also affects Revit installer)") it complains at one point about "call failed".
Prerequisite:
- 'winetricks -q dotnet45'
Relevant part of MSI installer detailed log:
--- snip --- ... (01) 2025-11-27 14:56:01 Slp: ---------------------------------------------------------------------- (01) 2025-11-27 14:56:01 Slp: Running Action: SqlBrowserConfigAction_install_ConfigNonRC_Cpu32 (01) 2025-11-27 14:56:01 Slp: Action Data: (01) 2025-11-27 14:56:01 Slp: Feature = SQL_Browser_Redist_SqlBrowser_Cpu32 (01) 2025-11-27 14:56:01 Slp: Scenario = install (01) 2025-11-27 14:56:01 Slp: Timing = ConfigNonRC (01) 2025-11-27 14:56:01 Slp: ConfigObjectType = Microsoft.SqlServer.Configuration.SqlBrowser.SqlBrowserPrivateConfig (01) 2025-11-27 14:56:01 Slp: FeatureName = SQL_Browser_Redist (01) 2025-11-27 14:56:01 Slp: FeatureCpuType = Cpu32 (01) 2025-11-27 14:56:01 Slp: FeaturePackageId = SqlBrowser (01) 2025-11-27 14:56:01 Slp: SlipstreamInstall = 1 (01) 2025-11-27 14:56:01 SQLBrowser: StartMethod Type='SqlBrowserPrivateConfig' Method='Install'. (01) 2025-11-27 14:56:01 SQLBrowser: Timing = 'ConfigNonRC'. (01) 2025-11-27 14:56:01 SQLBrowser: StartMethod Type='SqlBrowserPrivateConfig' Method='RedirectUnitTestScenarioIfNeeded'. (01) 2025-11-27 14:56:01 SQLBrowser: EndMethod Type='SqlBrowserPrivateConfig' Method='RedirectUnitTestScenarioIfNeeded'. (01) 2025-11-27 14:56:01 SQLBrowser: StartMethod Type='SqlBrowserPrivateConfig' Method='ExecWithRetry'. (01) 2025-11-27 14:56:01 SQLBrowser: Timing = 'ConfigNonRC'. (01) 2025-11-27 14:56:01 SQLBrowser: StartMethod Type='SqlBrowserPrivateConfig' Method='SelectAndExecTiming'. (01) 2025-11-27 14:56:01 SQLBrowser: Timing = 'ConfigNonRC'. (01) 2025-11-27 14:56:01 SQLBrowser: StartMethod Type='SqlBrowserPrivateConfig' Method='ExecConfigNonRC'. (01) 2025-11-27 14:56:01 SQLBrowser: Feature = 'SQL_Browser_Redist_SqlBrowser_Cpu32'. (01) 2025-11-27 14:56:01 SQLBrowser: StartMethod Type='SqlBrowserPrivateConfig' Method='ConfigStaticProperties'. (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to get default machine specific group name (01) 2025-11-27 14:56:01 Slp: Sco: groupNamePrefix: SQLServer2005SQLBrowserUser (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetMachineSpecificGroupName - version: 90 (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetOriginalMachineName - Opening regkey: SOFTWARE\Microsoft\Microsoft SQL Server\90\Machines (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetOriginalMachineName - Under registry hive: ProcessDefault (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to create base registry key HKEY_LOCAL_MACHINE, machine (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\Microsoft SQL Server\90\Machines (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to get registry value OriginalMachineName (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetMachineSpecificGroupName - finalGroupName: SQLServer2005SQLBrowserUser$DARKSTAR (01) 2025-11-27 14:56:01 SQLBrowser: Retrieved SQL Server Browser group name: 'SQLServer2005SQLBrowserUser$DARKSTAR'. (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to get default machine specific group name (01) 2025-11-27 14:56:01 Slp: Sco: groupNamePrefix: SQLServer2005SQLBrowserUser (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetMachineSpecificGroupName - version: 90 (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetOriginalMachineName - Opening regkey: SOFTWARE\Microsoft\Microsoft SQL Server\90\Machines (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetOriginalMachineName - Under registry hive: ProcessDefault (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to create base registry key HKEY_LOCAL_MACHINE, machine (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\Microsoft SQL Server\90\Machines (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to get registry value OriginalMachineName (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetMachineSpecificGroupName - finalGroupName: SQLServer2005SQLBrowserUser$DARKSTAR (01) 2025-11-27 14:56:01 SQLBrowser: Retrieved SQL Server Browser group name: 'SQLServer2005SQLBrowserUser$DARKSTAR'. (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to initialize user group SQLServer2005SQLBrowserUser$DARKSTAR (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to get default machine specific group name (01) 2025-11-27 14:56:01 Slp: Sco: groupNamePrefix: SQLServer2005SQLBrowserUser (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetMachineSpecificGroupName - version: 90 (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetOriginalMachineName - Opening regkey: SOFTWARE\Microsoft\Microsoft SQL Server\90\Machines (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetOriginalMachineName - Under registry hive: ProcessDefault (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to create base registry key HKEY_LOCAL_MACHINE, machine (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\Microsoft SQL Server\90\Machines (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to get registry value OriginalMachineName (01) 2025-11-27 14:56:01 Slp: Sco.UserGroup.GetMachineSpecificGroupName - finalGroupName: SQLServer2005SQLBrowserUser$DARKSTAR (01) 2025-11-27 14:56:01 SQLBrowser: Retrieved SQL Server Browser group name: 'SQLServer2005SQLBrowserUser$DARKSTAR'. (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to check if user group SQLServer2005SQLBrowserUser$DARKSTAR exists (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to open root DirectoryEntry object for local computer (01) 2025-11-27 14:56:01 Slp: Sco: Attempting to check if container 'WinNT://DARKSTAR,computer' of group exists (01) 2025-11-27 14:56:01 Slp: Prompting user if they want to retry this action due to the following failure: (01) 2025-11-27 14:56:01 Slp: ---------------------------------------- (01) 2025-11-27 14:56:01 Slp: The following is an exception stack listing the exceptions in outermost to innermost order (01) 2025-11-27 14:56:01 Slp: Inner exceptions are being indented (01) 2025-11-27 14:56:01 Slp: (01) 2025-11-27 14:56:01 Slp: Exception type: Microsoft.SqlServer.Configuration.Sco.ScoException (01) 2025-11-27 14:56:01 Slp: Message: (01) 2025-11-27 14:56:01 Slp: Call failed. (01) 2025-11-27 14:56:01 Slp: (01) 2025-11-27 14:56:01 Slp: HResult : 0x84bb0001 (01) 2025-11-27 14:56:01 Slp: FacilityCode : 1211 (4bb) (01) 2025-11-27 14:56:01 Slp: ErrorCode : 1 (0001) (01) 2025-11-27 14:56:01 Slp: Data: (01) 2025-11-27 14:56:01 Slp: WatsonData = LOCAL (01) 2025-11-27 14:56:01 Slp: DisableRetry = true (01) 2025-11-27 14:56:01 Slp: Inner exception type: System.Runtime.InteropServices.COMException (01) 2025-11-27 14:56:01 Slp: Message: (01) 2025-11-27 14:56:01 Slp: Call failed. (01) 2025-11-27 14:56:01 Slp: (01) 2025-11-27 14:56:01 Slp: HResult : 0x80004005 (01) 2025-11-27 14:56:01 Slp: Stack: (01) 2025-11-27 14:56:01 Slp: at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) (01) 2025-11-27 14:56:01 Slp: at System.DirectoryServices.DirectoryEntry.Exists(String path) (01) 2025-11-27 14:56:01 Slp: at Microsoft.SqlServer.Configuration.Sco.DirectoryEntryProvider.Exists(String path) (01) 2025-11-27 14:56:01 Slp: at Microsoft.SqlServer.Configuration.Sco.UserGroup.Exists() (01) 2025-11-27 14:56:01 Slp: ---------------------------------------- ... --- snip ---
Wine trace log:
--- snip --- ... 01c0:Call activeds.ADsOpenObject(121f3344 L"WinNT://DARKSTAR,computer",00000000,00000000,00000001,0022e918,0022e880) ret=63b0b07f 01c0:Call advapi32.RegOpenKeyExW(80000002,78a7640c L"Software\Microsoft\ADs\Providers",00000000,00020019,0022e7e4) ret=78a719b5 ... 01c0:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=78a719b5 01c0:Call advapi32.RegEnumKeyW(0000086c,00000000,0022e39c,00000104) ret=78a719d7 .... 01c0:Ret advapi32.RegEnumKeyW() retval=00000000 ret=78a719d7 .... 01c0:Call ucrtbase._wcsnicmp(121f3344 L"WinNT://DARKSTAR,computer",0022e39c L"LDAP",00000004) ret=78a71a21 ... 01c0:Ret ucrtbase._wcsnicmp() retval=0000000b ret=78a71a21 01c0:Call advapi32.RegEnumKeyW(0000086c,00000001,0022e39c,00000104) ret=78a71a39 ... 01c0:Ret advapi32.RegEnumKeyW() retval=00000103 ret=78a71a39 01c0:Call advapi32.RegCloseKey(0000086c) ret=78a719eb ... 01c0:Ret advapi32.RegCloseKey() retval=00000000 ret=78a719eb ... 01c0:Ret activeds.ADsOpenObject() retval=80004005 ret=63b0b07f 01c0:Call KERNEL32.FormatMessageW(00003200,00000000,80004005,00000000,0022e65c,00000101,00000000) ret=63b0e5f1 ... 01c0:Ret KERNEL32.FormatMessageW() retval=0000000e ret=63b0e5f1 01c0:Call activeds.ADsGetLastError(0022e8d4,0022e630,00000100,0022e60c,00000000) ret=63b0e379 01c0:fixme:activeds:ADsGetLastError (0022E8D4,0022E630,256,0022E60C,0)!stub 01c0:Ret activeds.ADsGetLastError() retval=80004001 ret=63b0e379 01c0:Call KERNEL32.RaiseException(e0434352,00000001,00000005,0022e7f0) ret=79c548c7 ... 01c0:trace:seh:dispatch_exception code=e0434352 (unknown) flags=1 addr=000000007BC13039 01c0:trace:seh:dispatch_exception info[0]=0000000080004005 01c0:trace:seh:dispatch_exception info[1]=0000000000000000 01c0:trace:seh:dispatch_exception info[2]=0000000000000000 01c0:trace:seh:dispatch_exception info[3]=0000000000000000 01c0:trace:seh:dispatch_exception info[4]=0000000079B30000 01c0:trace:seh:dispatch_exception rip=00006ffffe2ce269 rsp=00007ffffe1feef0 rbp=000000000022e40c eflags=00000206 01c0:trace:seh:dispatch_exception rax=000000000027a140 rbx=0000000000000001 rcx=00007ffffe1feef0 rdx=000000000022e41c 01c0:trace:seh:dispatch_exception rsi=000000000022e6f4 rdi=000000000022e41c r8=0000000000000001 r9=000000000027a140 01c0:trace:seh:dispatch_exception r10=0000000000000000 r11=00007f74d7eed740 r12=000000007ffc0000 r13=00007ffffe1ffd24 01c0:trace:seh:dispatch_exception r14=000000000022e3f0 r15=00007ffffe1ff690 mxcsr=00001fa0 cs=0033 ss=002b 01c0:trace:seh:call_seh_handlers calling handler 00006FFFFE2CE274 (rec=00007FFFFE1FE670, frame=7ffffe1feef0 context=00007FFFFE1FE180, dispatch=00007FFFFE1FD958) ... --- snip ---
https://learn.microsoft.com/en-us/windows/win32/adsi/adsi-winnt-provider
---
https://www.microsoft.com/en-us/download/confirmation.aspx?id=53167 ("Microsoft SQL Server 2014 Service Pack 2 (SP2) Express")
https://web.archive.org/web/20200122232827/https://download.microsoft.com/do...
$ sha1sum SQLEXPR_x* 43045a8a5163bab7f103411c4d7f9beb70bed225 SQLEXPR_x86_ENU.exe
$ du -sh SQLEXPR_x* 275M SQLEXPR_x86_ENU.exe
Regards
http://bugs.winehq.org/show_bug.cgi?id=59051
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://web.archive.org/web | |/20200122232827/https://dow | |nload.microsoft.com/downloa | |d/2/A/5/2A5260C3-4143-47D8- | |9823-E91BB0121F94/SQLEXPR_x | |86_ENU.exe Keywords| |download, Installer
http://bugs.winehq.org/show_bug.cgi?id=59051
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
here's a simple .NET test case that mimics what the SQL Server installer is doing when it tries to bind to the local machine via ADSI ("WinNT://...").
--- snip --- using System; using System.DirectoryServices;
class Program { static void Main() { try { // Attempt to bind to the local computer via ADSI WinNT provider string path = "WinNT://" + Environment.MachineName + ",computer"; Console.WriteLine("Binding to: " + path);
using (DirectoryEntry entry = new DirectoryEntry(path)) { Console.WriteLine("NativeObject: " + entry.NativeObject); }
Console.WriteLine("Bind succeeded."); } catch (Exception ex) { Console.WriteLine("Bind failed: " + ex.Message); Console.WriteLine("Exception type: " + ex.GetType()); Console.WriteLine("HResult: 0x" + ex.HResult.ToString("X")); } } } --- snip ---
Compile (assuming .NET Framework 4.5 install as per prerequisite):
--- snip --- $ wine "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" test.cs --- snip ---
Run:
--- snip --- $ wine ./test.exe
Binding to: WinNT://DARKSTAR,computer 0024:fixme:activeds:ADsGetLastError (000000000010EF10,000000000010EB80,256,000000000010EB50,0)!stub Bind failed: Call failed.
Exception type: System.Runtime.InteropServices.COMException HResult: 0x80004005 --- snip ---
Regards