http://bugs.winehq.org/show_bug.cgi?id=7764
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Version|unspecified |0.9.32. Summary|Hallmark Card Studio 2005 |Hallmark Card Studio 2005 |Demo doesn't install |Demo doesn't install |properly |properly (installer needs | |VBScript engine -> | |IActiveScript)
--- Comment #10 from Anastasius Focht focht@gmx.net 2011-07-03 08:26:16 CDT --- Hello,
there was a time when MS JET was part of MDAC install which brought in all needed dependencies (e.g. Jet Sort Library). See: http://msdn.microsoft.com/en-us/library/ms810823.aspx
To install/deploy MS Jet 4.0 SPx, MDAC 2.x component _is_ an install requirement (mswstr10.dll is contained within jetfiles.cab). The installer checks this.
--- snip --- ... 0051:trace:msi:ScriptThread custom action (51) started 0051:trace:msi:ACTION_CallScript function (null), script L"Session.Property("INSTALL_MDAC")="0"\r\nSession.Property("OS_NOTSUPPORTED")="0"\r\n\r\n'Minimum Required Configuration for MDAC 2.7 install\r\n'98 with Y2K update2 and IE 4.01SP2 or later\r\n'98 SE\r\n'Me\r\n'NT4 SP5(or greater) and IE 4.01 SP2 or later\r\n'2K\r\n\r\n\r\nDim vVerNT, vVer9x, v"... 0051:trace:msi:alloc_msihandle 0x165c70 -> 1 ... 0051:fixme:vbscript:VBScriptFactory_CreateInstance ((nil) {bb1a2ae1-a4f9-11cf-8f20-00805f2cd064} 0x95de950) 0051:fixme:ole:CoCreateInstance no instance created for interface {bb1a2ae1-a4f9-11cf-8f20-00805f2cd064} of class {b54f3741-5b07-11cf-a4b0-00aa004a55e8}, hres is 0x80004002 0051:Ret ole32.CoCreateInstance() retval=80004002 ret=707b343b 0051:err:msi:call_script Could not instantiate class for Windows Script 0051:trace:msi:AutomationObject_Release (0xc96110/0xc96110) ... 0051:trace:msi:ACTION_CallScript script returned 0 0051:trace:msi:MsiCloseHandle 1 0051:trace:msi:ScriptThread custom action (51) returned 0 0051:trace:msi:MsiCloseAllHandles ... 0026:trace:msi:MSI_EvaluateConditionW 0 <- L" ($MDAC27.C9C35FC7_5AEE_4C1E_8BD2_80ED9FA87FFF = 3) AND (INSTALL_MDAC=1)" 0026:trace:msi:ITERATE_Actions Skipping action: L"InstallMDAC.C9C35FC7_5AEE_4C1E_8BD2_80ED9FA87FFF" (condition is false) ... 0026:trace:msi:MSI_EvaluateConditionW 1 <- L"(JETVERSIONONSYS < JET_SETUP_VER) AND ($Jet40Gate.D7C69784_EABE_11D5_A8BE_00B0D0428C0C = 3) And (VersionNT Or Version9X < 490)" ... 0026:trace:msi:ACTION_PerformUIAction Performing action (L"LaunchJet40SP6Setup_9XNT_D7C69784_EABE_11D5_A8BE_00B0D0428C0C") ... 0026:trace:msi:ACTION_CustomAction Handling custom action L"LaunchJet40SP6Setup_9XNT_D7C69784_EABE_11D5_A8BE_00B0D0428C0C" (442 L"Binary_jet40sp6_9xnt.exe" L"/Q:A") ... --- snip ---
What basically happens is that MS JET40 SP6 gets installed and the required MDAC 2.7 prerequisite not.
The reason is visible in posted trace log snippet: to determine MDAC install state, the installer uses VBscript snippet. Because of non-functional VBScript runtime, the script fails and later leads to MDAC component not being installed.
When using 'winetricks -q wsh57' the required MDAC install property is set. Now guess ... the MDAC 2.7 installer claims success but doesn't install anything ;-)
See: http://msdn.microsoft.com/en-us/library/ms810805.aspx (MDAC 2.7 is part of Windows XP install).
Winetricks has winver=win2k prerequisite for MDAC installers.
--- snip --- $ bash winetricks wsh57 win2k --- snip ---
That still doesn't fix the installer... Looking further, MDAC 2.7 installer doesn't process install the required jetfiles.inf/jetfiles.cab (contains mswstr10.dll).
"dasetup.ini" reveals:
--- snip --- ... [JET_FILES] Name=Jet Expression Service and String Sorting Libraries ComponentName=JETES Catalog= Dependencies= InstallType=inf CabFile=JETFILES.cab InfFile=JETFILES.inf InstallSection=DefaultInstall InstallSection.NT=DefaultInstall.NT ExtractCab=0 UseRollback=1 RebootAfter=0 ValidOs=7 --- snip ---
At the end of this file comes the solution:
--- snip --- ; ValidOS values ; these can be OR'd together.. ; Win95 = 1 ; Win98 = 2 ; NT4 = 4 ; W2K = 8 ; Millennium = 16 ; Whistler = 32 ; All = 4294967295 (0xFFFFFFFF --- snip ---
So MDAC 2.7 needs to be installed with < Windows 2000 to have missing JET support files included!
--- snip --- $ bash winetricks wsh57 nt40 --- snip ---
makes the installer finally work ;-)
I think winetricks needs to be fixed too for old MDAC 2.7 installers (using "nt40" and not "win2k")
$ sha1sum HallmarkTrialSetup.exe 45fcd71e614491f802a61bb731a02d7d0be92259 HallmarkTrialSetup.exe
$ wine --version wine-1.3.23-160-g38c13e5
Regards