On Wed, 24 Oct 2001, Uwe Bonnes wrote:
"Ove" == Ove Kaaven ovehk@ping.uio.no writes:
Ove> On Wed, 24 Oct 2001, Uwe Bonnes wrote: >> after clearing up my home brewn problems I tried the IS6 installer >> for Analog Devices Visual DSP one more time. No it proceeds much >> longer but crashes in ITypeInfo_fnGetContainingTypeLib Ove> Try Malte's typelib refcounting patch, somewhere on wine-patches.
After correcting pTypeLib into pTLib in Malte's patchh, Setup proceeded much further.
Then it reports a "Speicherschutzverletzung" (illegal memory access) and freezes:
When debugging InstallShield, it helps to add +seh to the debugmsg command line and look for recent thrown exceptions before the failure, and in particular it's fruitful to look for oleaut32 routines returning errors (retval=8xxxxxxx). But note that I have done several fixes to oleaut32 and stuff after testing several installers, most of these fixes are only in WineX CVS right now, I didn't have time to consider submitting them to Wine yet. As an example, this badness is necessary for two game installers I've tested:
--- dlls/oleaut32/safearray.c 2001/10/04 13:43:59 1.1.1.8 +++ dlls/oleaut32/safearray.c 2001/10/16 17:33:01 1.3 @@ -356,7 +356,9 @@ *((BSTR*)pv) = pbstrReturnedStr; } else if( psa->fFeatures == FADF_VARIANT) { - HRESULT hr = VariantCopy(pv, elementStorageAddress); + HRESULT hr; + VariantInit(pv); + hr = VariantCopy(pv, elementStorageAddress); if (FAILED(hr)) { SafeArrayUnlock(psa); return hr;