http://bugs.winehq.org/show_bug.cgi?id=30558
Bug #: 30558 Summary: Multiple app installers fail on missing Session.FeatureRequestState property Product: Wine Version: 1.5.3 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net Classification: Unclassified
Hello,
extracted from bug 5928 to be tracked separately.
Several InstallShield based installers using active script engine can't find Session.FeatureRequestState property:
--- snip --- 0033:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\vbscript.dll" at 0xf71b0000: builtin 0033:trace:vbscript:DllMain (0xf71b0000 1 (nil)) 0033:trace:vbscript:DllGetClassObject (CLSID_VBScript {00000001-0000-0000-c000-000000000046} 0x86e87c) 0033:trace:vbscript:ClassFactory_QueryInterface (0xf71dd8ac)->(IID_IClassFactory 0x86e87c) 0033:trace:vbscript:ClassFactory_AddRef (0xf71dd8ac) 0033:trace:vbscript:VBScriptFactory_CreateInstance ((nil) {bb1a2ae1-a4f9-11cf-8f20-00805f2cd064} 0x86e934) 0033:trace:vbscript:VBScript_QueryInterface (0x9cd010)->(IID_IActiveScript 0x86e934) 0033:trace:vbscript:VBScript_AddRef (0x9cd010) ref=2 0033:trace:vbscript:VBScript_Release (0x9cd010) ref=1 0033:trace:vbscript:ClassFactory_Release (0xf71dd8ac) 0033:trace:vbscript:VBScript_QueryInterface (0x9cd010)->(IID_IActiveScriptParse 0x86e930) 0033:trace:vbscript:VBScript_AddRef (0x9cd010) ref=2 0033:trace:vbscript:VBScript_SetScriptSite (0x9cd010)->(0x9c5240) 0033:trace:vbscript:VBScriptParse_InitNew (0x9cd010) 0033:trace:vbscript:VBScript_AddNamedItem (0x9cd010)->(L"Session" 2) 0033:trace:vbscript:VBScriptParse_ParseScriptText (0x9cd010)->(L"Dim installTimeless, installMSDE, upgradeMSDE\nDim netVersion \n\ninstallTimeless = FeatureRequestState("Timeless")\ninstallMSDE = FeatureRequestState("TimelessMSDE")\nupgradeMSDE = FeatureRequestState("UpgradeMSDE")\nnetVersion = Property("MsiNetAssemblySupport") \n\nProperty("TTE_Features"... (null) (nil) (null) 0 0 0 (nil) (nil)) 0033:trace:vbscript:VBScript_SetScriptState (0x9cd010)->(2) 0033:trace:vbscript:DispatchEx_AddRef (0x9cd138) ref=2 0033:trace:vbscript:interp_string 0033:trace:vbscript:interp_icall 0033:fixme:vbscript:do_icall L"FeatureRequestState" not found 0033:warn:vbscript:exec_script Failed 80020006 0033:trace:vbscript:DispatchEx_Release (0x9cd138) ref=1 0033:trace:vbscript:VBScript_Release (0x9cd010) ref=1 --- snip ---
The script snippet (extracted from .msi):
--- snip --- Dim installTimeless, installMSDE, upgradeMSDE Dim netVersion
installTimeless = FeatureRequestState("Timeless") installMSDE = FeatureRequestState("TimelessMSDE") upgradeMSDE = FeatureRequestState("UpgradeMSDE") netVersion = Property("MsiNetAssemblySupport")
Property("TTE_FeaturesValid") = "1"
if installTimeless = "3" OR installMSDE = "3" OR upgradeMSDE = "3" then 'MsgBox netVersion, 48, "netVersion" if netVersion < "2.0.50727" then MsgBox "Some of the selected components require .Net Framework 2.0. Please use Windows Update or restart the installation to install it.", 48, Property("ProductName") Property("TTE_FeaturesValid") = "X" ' rval = MsgBox("The selected components require .Net Framework 2.0. Would you like to download and install it?", 36, Property("ProductName") ) ' if rval <> 6 then ' Property("TTE_FeaturesValid") = "0" ' end if end if End if Dim installTimeless Dim createDatabase, upgradeDatabase, createAccessDatabase, upgradeAccessDatabase Dim selectedCount Dim rval
installTimeless = FeatureRequestState("Timeless") createDatabase = FeatureRequestState("CreateDatabase") upgradeDatabase = FeatureRequestState("UpgradeDatabase") createAccessDatabase = FeatureRequestState("CreateAccessDatabase") upgradeAccessDatabase = FeatureRequestState("UpgradeAccessDatabase")
'MsgBox installTimelessWeb, 48, "TimelessWeb" 'MsgBox createDatabase, 48, "CreateDatabase" 'MsgBox upgradeDatabase, 48,"UpgradeDatabase"
Property("TTE_FeaturesValid") = "1"
if Property("TTE_FeaturesValid") = "1" then selectedCount = 0 if createDatabase = "3" then selectedCount = selectedCount + 1 end if if upgradeDatabase = "3" then selectedCount = selectedCount + 1 end if if createAccessDatabase = "3" then selectedCount = selectedCount + 1 end if if upgradeAccessDatabase = "3" then selectedCount = selectedCount + 1 end if
if selectedCount > 1 then Property("TTE_FeaturesValid") = "0" MsgBox "Only one of Create SQL Server Database, Create Access Database, Upgrade SQL Server Database or Upgrade Access Database may be selected.", 48, Property("ProductName") end if end if 'MsgBox Property("TTE_FeaturesValid"), 48,"TTE_FeaturesValid"
BrowseForFolderdim filesys, newdatabase dim exists
Property("TTE_FeaturesValid") = "1"
newdatabase = Property("CREATEACCESSPATH") & "\Timeless.tmd3"
Set filesys = CreateObject("Scripting.FileSystemObject")
exists = filesys.FileExists(newdatabase) 'MsgBox exists, 48, "exists"
If exists Then MsgBox "There is already a database at " & newdatabase & ". Select a new location.", 48, Property("ProductName") Property("TTE_FeaturesValid") = "0" End If Set filesys = nothing --- snip ---
$ sha1sum TimelessTimeAndExpenseWindowsSetup.exe 860dacc4eb48494e5870a4b32eab8bc5e087f307 TimelessTimeAndExpenseWindowsSetup.exe
$ wine --version wine-1.5.3
Regards
http://bugs.winehq.org/show_bug.cgi?id=30558
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL| |http://download.magsoftwrx. | |com/v3/TimelessTimeAndExpen | |seWin/TimelessTimeAndExpens | |eWindowsSetup.exe Blocks| |5928
--- Comment #1 from Anastasius Focht focht@gmx.net 2012-04-30 13:26:15 CDT --- Hello,
filling fields
Regards
http://bugs.winehq.org/show_bug.cgi?id=30558
--- Comment #2 from Hans Leidekker hans@meelstraat.net 2012-05-01 05:53:12 CDT --- I've sent a patch to fix this. There are at least two more bugs after this one. We wrongly called DispGetParam to fetch the value parameter for the Property method (as well as a couple of other methods). I've sent another path to fix this.
With these two patches installation proceeds, but only with native vbscript. There seems to be a problem with the way vbscript invokes DISPATCH_PROPERTYPUT methods.
http://bugs.winehq.org/show_bug.cgi?id=30558
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |msi
http://bugs.winehq.org/show_bug.cgi?id=30558
--- Comment #3 from Anastasius Focht focht@gmx.net 2012-05-01 13:52:50 CDT --- Hello,
fixed by commit http://source.winehq.org/git/wine.git/commitdiff/c3e3c81bfb661e02f497667d91b...
Thanks Hans.
--- snip --- ... 0035:trace:msi:ACTION_CustomAction Handling custom action L"TTE_ConfirmNetInstall" (26 (null) L"Dim installTimeless, installMSDE, upgradeMSDE\nDim netVersion \n\ninstallTimeless = FeatureRequestState("Timeless")\ninstallMSDE = FeatureRequestState("TimelessMSDE")\nupgradeMSDE = FeatureRequestState("UpgradeMSDE")\nnetVersion = Property("MsiNetAssemblySupport") \n\nProperty("TTE_Features"...) ... 0039:trace:msi:MsiActiveScriptSite_OnStateChange State: Initialized. 0039:trace:vbscript:VBScript_AddNamedItem (0x1f2e20)->(L"Session" 8) ... 0039:trace:vbscript:VBScriptParse_ParseScriptText (0x1f2e20)->(L"Dim installTimeless, installMSDE, upgradeMSDE\nDim netVersion \n\ninstallTimeless = FeatureRequestState("Timeless")\ninstallMSDE = FeatureRequestState("TimelessMSDE")\nupgradeMSDE = FeatureRequestState("UpgradeMSDE")\nnetVersion = Property("MsiNetAssemblySupport") \n\nProperty("TTE_Features"... (null) (nil) (null) 0 0 0 (nil) (nil)) 0039:trace:vbscript:VBScript_SetScriptState (0x1f2e20)->(2) 0039:trace:msi:MsiActiveScriptSite_OnEnterScript (0x9c0ba0/0x9c0ba0) ... 0039:trace:vbscript:disp_call using IDispatch 0039:trace:msi:AutomationObject_Invoke (0x1f2d78/0x1f2d78)->(14,0xf7147bb8,0,3,0x86e6b4,0x86e710,0x86e62c,0x86e628) 0039:trace:msi:AutomationObject_Invoke Method 14, L"FeatureRequestState" 0039:trace:msi:MsiGetFeatureStateW 1 L"Timeless" 0x86e238 0x86e234 0039:trace:msi:MSI_GetFeatureStateW returning 2 3 0039:trace:msi:AutomationObject_Invoke Returning 0x00000000, ok 0039:trace:vbscript:interp_assign_ident L"installTimeless" 0039:trace:vbscript:interp_string 0039:trace:vbscript:interp_icall 0039:trace:msi:AutomationObject_QueryInterface (0x1f2d78/0x1f2d78)->({a6ef9860-c720-11d0-9337-00a0c90dcaa9},0x86e5fc) 0039:trace:msi:AutomationObject_QueryInterface () : asking for unsupported interface {a6ef9860-c720-11d0-9337-00a0c90dcaa9} 0039:trace:vbscript:disp_get_id using IDispatch 0039:trace:msi:AutomationObject_GetIDsOfNames (0x1f2d78/0x1f2d78)->(0xf7147bb8,0x86e624,1,0,0x86e64c) 0039:trace:msi:AutomationObject_QueryInterface (0x1f2d78/0x1f2d78)->({a6ef9860-c720-11d0-9337-00a0c90dcaa9},0x86e64c) 0039:trace:msi:AutomationObject_QueryInterface () : asking for unsupported interface {a6ef9860-c720-11d0-9337-00a0c90dcaa9} 0039:trace:vbscript:disp_call using IDispatch 0039:trace:msi:AutomationObject_Invoke (0x1f2d78/0x1f2d78)->(14,0xf7147bb8,0,3,0x86e6b4,0x86e710,0x86e62c,0x86e628) 0039:trace:msi:AutomationObject_Invoke Method 14, L"FeatureRequestState" 0039:trace:msi:MsiGetFeatureStateW 1 L"TimelessMSDE" 0x86e238 0x86e234 0039:trace:msi:MSI_GetFeatureStateW returning 2 -1 0039:trace:msi:AutomationObject_Invoke Returning 0x00000000, ok ... --- snip ---
The installer still fails but that should be covered by a different bug.
Regards
http://bugs.winehq.org/show_bug.cgi?id=30558
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |c3e3c81bfb661e02f497667d91b | |fa9867683e491 Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #4 from Anastasius Focht focht@gmx.net 2012-05-01 13:53:30 CDT --- Hello,
now really marking fixed ;-)
Regards
http://bugs.winehq.org/show_bug.cgi?id=30558
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org 2012-05-11 13:22:50 CDT --- Closing bugs fixed in 1.5.4.
https://bugs.winehq.org/show_bug.cgi?id=30558
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://download.magsoftwrx. |https://web.archive.org/web |com/v3/TimelessTimeAndExpen |/20211212111222/http://down |seWin/TimelessTimeAndExpens |load.magsoftwrx.com/v3/Time |eWindowsSetup.exe |lessTimeAndExpenseWin/Timel | |essTimeAndExpenseWindowsSet | |up.exe
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
adding stable download link via Internet Archive for documentation.
https://web.archive.org/web/20211212111222/http://download.magsoftwrx.com/v3...
https://www.virustotal.com/gui/file/0dba81016638b946c1b2a6f5cb25d035e1763404...
$ sha1sum TimelessTimeAndExpenseWindowsSetup.exe 3dfb66c43aa0676ae11822584243702a69ddd8b3 TimelessTimeAndExpenseWindowsSetup.exe
$ du -sh TimelessTimeAndExpenseWindowsSetup.exe 13M TimelessTimeAndExpenseWindowsSetup.exe
Regards