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