https://bugs.winehq.org/show_bug.cgi?id=50623
--- Comment #7 from Esme Povirk madewokherd@gmail.com --- After that, the winforms code tries to call a COM method with an object[] parameter:
Method (wrapper managed-to-native) int System.Windows.Forms.UnsafeNativeMethods/IHTMLDocument2:Write (intptr,object[],int&) emitted at 24eeef08 to 24eeefe0 (code length 216) [Windows-ISO-Downloader.exe] type 0x1c not handled * Assertion: should not be reached at /home/wine/wine-mono/mono/mono/metadata/marshal.c:668
The assert is in mono_array_to_lparray_impl.
Method definition:
int Write([In, MarshalAs(UnmanagedType.SafeArray)] object[] psarray);
In theory, this should be marshaled as a safearray of string, not object. I'm also not sure why mono_array_to_lparray_impl is being called when this method expects a safearray.