http://bugs.winehq.org/show_bug.cgi?id=22601
Summary: .NET Framework 2.0 installer displays crash dialog, fails with "function failed" error message Product: Wine Version: 1.1.43 Platform: x86 OS/Version: Linux Status: NEW Keywords: download, Installer, regression Severity: normal Priority: P2 Component: ole32 AssignedTo: wine-bugs@winehq.org ReportedBy: arethusa26@gmail.com CC: madewokherd@gmail.com
With wine-1.1.43-564-g1af1784, executing winetricks dotnet20 and proceeding past the EULA yields an error reporting crash dialog and setup failure with the message "Function failed." in the installer window. Particular pertinent error messages are:
err:msi:store_binary_to_temp Failed to get stream err:msi:ITERATE_Actions Execution halted, action L"SxsInstallCA" returned 1627
Regression testing indicated:
42550953a650e1ef166339fb4e2fdc06741ad5b8 is first bad commit commit 42550953a650e1ef166339fb4e2fdc06741ad5b8 Author: Vincent Povirk vincent@codeweavers.com Date: Tue May 4 15:15:41 2010 -0500
ole32: Store the location of all blocks in a big block chain in memory.
A big block chain is a linked list, and we pretty much need random access to them. This should theoretically make accessing a random point in the chain O(log2 n) instead of O(n) (with disk access scaling based on the size of the read/write, not its location). It theoretically takes O(n) memory based on the size, but it can do better if the chain isn't very fragmented (which I believe will generally be the case for long chains). It also involves fetching all the big block locations when we open the chain, but we already do that anyway (and it should be faster to read it all in one go than piecemeal).
:040000 040000 a1ca1235acef50b9287db51b2d08f203907f2c1e 16b036ee8b83707264d3d1226d9c690a72790793 M dlls
A +storage log is attached.