madewokherd / wine-mono

Other
294 stars 39 forks source link

Failed to open \CONFIG\machine.config #186

Open covracer opened 7 months ago

covracer commented 7 months ago

When trying to install Microsoft SQL Server Compact Edition 3.5 SP2 I get the following error:

Error 25541.Failed to open XML file \CONFIG\machine.config, system error: -2147024786

Screenshot from 2024-04-09 16-21-47

$ wine --version
wine-9.0
$ WINEPREFIX=/srv/win/wine wine wine-mono-9.0.0-x86.msi
$ echo $?
0
$ WINEPREFIX=/srv/win/wine wine ../wine/drive_c/ssce/SSCERuntime_x86-ENU.msi 
038c:fixme:file:NtLockFile I/O completion on lock not implemented yet
038c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
038c:err:richedit:ReadStyleSheet missing style number
038c:err:msi:execute_script Execution of script 0 halted; action L"[1\0080C:\\windows\\Microsoft.NET\\Framework\\v2.0.50727\\CONFIG\\machine.config\00806\0080/configuration/system.data/DbProviderFactories\0080/configuration/system.data/DbProviderFactories/add[@invariant='System.Data.SqlServerCe.3.5']\0080add\0080\00800\00805\0080/configuration/system.dat"... returned 1603
038c:err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1603
038c:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
038c:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 5)
038c:err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1603
madewokherd commented 7 months ago

Odd, it seems to be looking for the file relative to the working directory.

madewokherd commented 7 months ago

Oh, but because it starts with \, it's relative to the drive root.

Maybe it's looking for a .NET Framework path somewhere and using an empty string when it doesn't find it.

madewokherd commented 7 months ago

Seems to be doing this in a custom dll action named ExecXmlConfig. I'm not sure what it's looking for. Running from C: and putting a config\machine.config in the drive root does allow the installer to complete, though, and it does seem to add itself to machine.config in v2.0.50727 (which I don't think we use).

I'm not sure how feasible it is for Wine Mono to work with this component.