http://bugs.winehq.org/show_bug.cgi?id=37078
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |msi Summary|Full Spectrum Warrior demo |Full Spectrum Warrior demo |install failure |installer: 'Next' button | |has no effect after path | |selection (needs msi | |builtin | |'OutOfNoRbDiskSpace' | |property)
--- Comment #1 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
It seems Wine msi needs to provide 'OutOfNoRbDiskSpace' property.
'ControlEvent' table dumped with 'ORCA':
--- snip --- CustomSetup Help SpawnDialog CustomSetupTips 1 1 CustomSetup Cancel SpawnDialog CancelSetup 1 1 CustomSetup Back NewDialog LanguageSelection Installed 2 CustomSetup Back NewDialog GameInformation NOT Installed 1 CustomSetup Details SelectionBrowse DiskSpaceRequirements 1 1 CustomSetup Next NewDialog ReadyToInstall INSTALLDIRSMALL = 1 AND OutOfNoRbDiskSpace <> 1 3 CustomSetup Next NewDialog OutOfSpace OutOfNoRbDiskSpace = 1 1 CustomSetup Next DoAction CheckPathLength OutOfNoRbDiskSpace = 0 2 CustomSetup Next [_IsSetupTypeMin] Custom 1 4 CustomSetup ChangeFolder SpawnDialog InstallChangeFolder 1 1 CustomSetup ChangeFolder [_BrowseProperty] INSTALLDIR 1 2 --- snip ---
Trace log when clicking 'Next' button:
--- snip --- ... 0087:trace:msi:msi_dialog_oncommand 0x1ef0d0 0x60138 00000000 ... 0087:trace:msi:MSI_DatabaseOpenViewW L"SELECT * FROM ControlEvent WHERE `Dialog_` = 'CustomSetup' AND `Control_` = 'Next' ORDER BY `Ordering`" 0x33f250 0 ... 0087:trace:msi:MSI_EvaluateConditionW L"OutOfNoRbDiskSpace = 1" ... 0087:trace:msi:COND_GetString Got identifier L"OutOfNoRbDiskSpace" ... 0087:trace:msi:msi_get_property property L"OutOfNoRbDiskSpace" not found ... 0087:trace:msi:MSI_EvaluateConditionW 0 <- L"OutOfNoRbDiskSpace = 1" ... 0087:trace:msi:MSI_EvaluateConditionW L"OutOfNoRbDiskSpace = 0" ... 0087:trace:msi:msi_get_property property L"OutOfNoRbDiskSpace" not found ... 0087:trace:msi:MSI_EvaluateConditionW 0 <- L"OutOfNoRbDiskSpace = 0" ... 0087:trace:msi:MSI_EvaluateConditionW L"INSTALLDIRSMALL = 1 AND OutOfNoRbDiskSpace <> 1" ... 0087:trace:msi:msi_get_property returning L"0" for property L"INSTALLDIRSMALL" ... 0087:trace:msi:msi_get_property property L"OutOfNoRbDiskSpace" not found ... 0087:trace:msi:MSI_EvaluateConditionW 0 <- L"INSTALLDIRSMALL = 1 AND OutOfNoRbDiskSpace <> 1" ... 0087:trace:msi:MSI_EvaluateConditionW 1 <- L"1" ... 0087:trace:msi:msi_set_property 0x14db58 L"_IsSetupTypeMin" L"Custom" -1 ... 0087:trace:msi:msi_dialog_evaluate_control_conditions 0x1ef0d0 L"CustomSetup" ... 0087:trace:msi:MSI_EvaluateConditionW 0 <- L"Installed" --- snip ---
'OutOfNoRbDiskSpace' property should be 'false' (= enough space) which triggers 'CheckPathLength' custom action (order id = 2). After that 'ReadyToInstall' dialog should be spawned (order id = 3).
MSDN: http://msdn.microsoft.com/en-us/library/aa370565%28v=vs.85%29.aspx
--- quote --- The installer sets the OutOfNoRbDiskSpace property to True if any volume that is a target of the installation has insufficient disk space to accommodate the installation. In this case, the OutOfNoRbDiskSpace property is set to True even if rollback has been disabled. If all volumes have sufficient space, the value is False.
A developer of an installation package can handle the situation when the OutOfDiskSpace property is True and the OutOfNoRbDiskSpace property is False by authoring a user interface that presents the user with an option to disable rollback and continue the installation. For information about conditionally displaying a dialog box, see ControlEvent Overview. For information about disabling rollback, see EnableRollback ControlEvent.
The OutOfNoRbDiskSpace property is valid at any time after the CostFinalize action has been executed. The OutOfNoRbDiskSpace property status is dynamically updated any time the total installation cost is recalculated (for example, any time the installation state of any feature is changed through the Selection dialog). Selection resolution actions use this value to cancel an installation and generate a dialog box. --- quote ---
$ sha1sum fullspectrumwarrior_demo.zip 03661c7f254dc5ccc4975bd9faeb25da373fc10f fullspectrumwarrior_demo.zip
$ du -sh fullspectrumwarrior_demo.zip 302M fullspectrumwarrior_demo.zip
$ wine --version wine-1.7.24
Regards