https://bugs.winehq.org/show_bug.cgi?id=35539
Bug ID: 35539 Summary: Proteus 8 demo fails to install Product: Wine Version: 1.7.11 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: msi Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Classification: Unclassified
Hello folks,
split off from bug 34457
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+msi wine ./prodemo.exe >>log.txt 2>&1 ... 0037:trace:msi:ACTION_PerformUIAction Performing action (L"WriteEnvironmentStrings") ... 0037:trace:msi:MSI_ProcessMessage (nil) (nil) (nil) 0 100 L"Action 13:24:18: WriteEnvironmentStrings. Updating environment strings" ... 0037:trace:msi:MSI_DatabaseOpenViewW L"SELECT * FROM `Environment`" 0x33f7e8 ... 0037:trace:msi:ITERATE_WriteEnvironmentString name L"!-*LXKSERVER" value (null) ... 0037:trace:msi:MSI_ProcessMessage (nil) (nil) (nil) 0 200 L"Name: LXKSERVER, Value: , Action 0" ... 0037:trace:msi:ITERATE_WriteEnvironmentString name L"=-*LXKSERVER" value L"[KEY_SERVER]" ... 0037:trace:msi:MSI_FormatRecordW L"[KEY_SERVER]" ... 0037:trace:msi:msi_get_property property L"KEY_SERVER" not found ... 0037:trace:msi:MSI_ProcessMessage (nil) (nil) (nil) 0 200 L"Name: LXKSERVER, Value: , Action 0" ... 0037:trace:msi:MSI_ProcessMessage (nil) (nil) (nil) 0 10 L"Action ended 13:24:18: WriteEnvironmentStrings. Return value 14." ... 0037:err:msi:ITERATE_Actions Execution halted, action L"WriteEnvironmentStrings" returned 14 --- snip ---
"Environment" msi table dump with ORCA:
--- snip --- Environment Name Value Component_ s72 l255 L255 s72
LXKSERVER !-*LXKSERVER APPFRAME.DLL LXKSERVER_1 =-*LXKSERVER [KEY_SERVER] APPFRAME.DLL --- snip ---
The first one has no value -> skipped (ok).
The second one has a value and is getting deformatted ... unfortunately 'KEY_SERVER' property is not set at this point, resulting in failure.
I found only one occurrence of this property 'KEY_SERVER' in msi tables:
"Control" msi table:
--- snip --- KeyServerDlg Edit_1 Edit 101 112 125 18 3 KEY_SERVER {260} Bitmap --- snip ---
The unattended install using explicit command line property works, see: http://www.softnual.com/html/pds/network-installation.htm
--- quote --- Where a server license and dongle are installed the KEY_SERVER property can be set on the command line to point to the licence key server. If set this will set the environment variable, if not set the variable will be cleared. --- quote ---
If I pass the property via command line it finishes successfully:
--- snip --- $ wine msiexec -i setup_demo8.1.17358.0.msi KEY_SERVER=test ... $ fixme:wshom:WshShell3_RegWrite (L"HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\LXKSERVER" {VT_BSTR: L"test"} {vt 10}): stub --- snip ---
For UI install, the 'KeyServerDlg' is referenced from 'LicenseKeyTypeDlg' which is referenced from 'LicenseAgreementDlg':
--- snip --- LicenseAgreementDlg Back NewDialog WelcomeDlg AI_INSTALL AND LicenseAgreementDlg_Cond 1 LicenseAgreementDlg Next NewDialog SetupTypeDlg AI_INSTALL AND LicenseAgreementDlg_Cond 3 LicenseAgreementDlg Next NewDialog LicenseKeyTypeDlgAI_INSTALL AND LicenseAgreementDlg_Cond AND LicenseKeyTypeDlg_Cond 4 LicenseAgreementDlg Next [LicenseKeyTypeDlg_Cond] 1 Family <> "Demonstration" 2 LicenseAgreementDlg Next [LicenseKeyTypeDlg_Cond] {} 1 1 LicenseAgreementDlg Cancel SpawnDialog CancelDlg 1 100 LicenseAgreementDlg PrintButton DoAction AI_PrintRtf 1 2 LicenseAgreementDlg PrintButton [AI_PRINT_RTF] LicenseAgreementDlg#AgreementText 1 1 --- snip ---
'SetupTypeDlg' is selected for 'next' button instead of 'LicenseKeyTypeDlg':
--- snip --- 0037:trace:msi:msi_set_property 0x1437c0 L"LicenseAgreementDlg_Cond" L"1" -1 ... 0037:trace:msi:MSI_EvaluateConditionW 1 <- L"AI_INSTALL AND LicenseAgreementDlg_Cond" ... 0037:trace:msi:msi_dialog_send_event Sending control event L"NewDialog" L"LicenseAgreementDlg" ... 0037:trace:msi:MSI_EvaluateConditionW L"AI_INSTALL AND LicenseAgreementDlg_Cond AND LicenseKeyTypeDlg_Cond" ... 0037:trace:msi:msi_get_property returning L"1" for property L"AI_INSTALL" ... 0037:trace:msi:msi_get_property returning L"1" for property L"LicenseAgreementDlg_Cond" ... 0037:trace:msi:msi_get_property property L"LicenseKeyTypeDlg_Cond" not found ... 0037:trace:msi:MSI_EvaluateConditionW 0 <- L"AI_INSTALL AND LicenseAgreementDlg_Cond AND LicenseKeyTypeDlg_Cond" ... 0037:trace:msi:MSI_EvaluateConditionW 1 <- L"AI_INSTALL AND LicenseAgreementDlg_Cond" 0037:trace:msi:msi_dialog_send_event Sending control event L"NewDialog" L"SetupTypeDlg" --- snip ---
'LicenseKeyTypeDlg_Cond' is tied to control 'Event':
--- snip --- LicenseAgreementDlg Next [LicenseKeyTypeDlg_Cond] 1 Family <> "Demonstration" 2 LicenseAgreementDlg Next [LicenseKeyTypeDlg_Cond] {} 1 1 --- snip ---
The event condition:
--- snip --- 0037:trace:msi:MSI_DatabaseOpenViewW L"SELECT * FROM ControlEvent WHERE `Dialog_` = 'LicenseAgreementDlg' AND `Control_` = 'Next' ORDER BY `Ordering`" 0x33f240 ... 0037:trace:msi:MSI_EvaluateConditionW L"1" ... 0037:trace:msi:COND_GetString Got identifier L"1" ... 0037:trace:msi:MSI_EvaluateConditionW 1 <- L"1" ... 0037:trace:msi:msi_set_property 0x1437c0 L"LicenseKeyTypeDlg_Cond" (null) -1 ... 0037:trace:msi:msi_get_property property L"LicenseKeyTypeDlg_Cond" not found 0037:trace:msi:MSI_DatabaseOpenViewW L"DELETE FROM `_Property` WHERE `_Property` = 'LicenseKeyTypeDlg_Cond'" 0x33f11c ... 0037:trace:msi:MSI_EvaluateConditionW L"Family <> "Demonstration"" ... 0037:trace:msi:COND_GetString Got identifier L"Family" ... 0037:trace:msi:msi_get_property returning (null) for property L"Family" ... 0037:trace:msi:msi_get_property returning L"Demonstration" for property L"Family" ... 0037:trace:msi:COND_GetLiteral Got literal L"Demonstration" ... 0037:trace:msi:MSI_EvaluateConditionW 0 <- L"Family <> "Demonstration"" ... --- snip ---
'Family' property is hard coded by default to 'Demonstration' value. Makes sense for demo app/installer.
Summing it up: at first glance everything looks ok. Maybe it's another MSI client vs. server issue.
$ sha1sum prodemo.exe e3409adbc80bd73a36f82890da2b7d16be2fbf51 prodemo.exe
$ du -sh prodemo.exe 166M prodemo.exe
$ wine --version wine-1.7.11-306-g8f289c8
Regards
https://bugs.winehq.org/show_bug.cgi?id=35539
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL| |http://s3.amazonaws.com/lab | |center/downloads/prodemo.ex | |e
https://bugs.winehq.org/show_bug.cgi?id=35539
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |35545
https://bugs.winehq.org/show_bug.cgi?id=35539
mail@roessler.systems changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mail@roessler.systems
--- Comment #1 from mail@roessler.systems --- Thanks for the info I have a similar problem.
Where did you get the msi file from?
https://bugs.winehq.org/show_bug.cgi?id=35539
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #2 from joaopa jeremielapuree@yahoo.fr --- Is still a bug in current wine(3.20)?
https://bugs.winehq.org/show_bug.cgi?id=35539
--- Comment #3 from joaopa jeremielapuree@yahoo.fr --- Unfortunately, it looks like that the bug is still there with wine-3.21.
https://bugs.winehq.org/show_bug.cgi?id=35539
--- Comment #4 from joaopa jeremielapuree@yahoo.fr --- Bug still occurs with wine-5.0-rc3.
https://bugs.winehq.org/show_bug.cgi?id=35539
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://s3.amazonaws.com/lab |https://web.archive.org/web |center/downloads/prodemo.ex |/20150615102756/http://s3.a |e |mazonaws.com/labcenter/down | |loads/prodemo.exe
https://bugs.winehq.org/show_bug.cgi?id=35539
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #5 from Zebediah Figura z.figura12@gmail.com --- *** Bug 51091 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=35539
--- Comment #6 from Zebediah Figura z.figura12@gmail.com --- This call:
010c:trace:msi:ITERATE_WriteEnvironmentString name L"=-*LXKSERVER" value L"[KEY_SERVER]"
fails because KEY_SERVER isn't defined, which causes deformat_string() to correctly return an empty string and 0 length, which ITERATE_WriteEnvironmentString() interprets as failure.
It's possible KEY_SERVER should be defined, though, but definitely WriteEnvironmentStrings is broken.
I've sent https://source.winehq.org/patches/data/204974.
leslie@terabithia:~/Downloads$ sha1sum prodemo.exe f2782cdfe3aac2d31e80e57815395d36b5b83d46 prodemo.exe
https://bugs.winehq.org/show_bug.cgi?id=35539
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |814f18ab756cd69158ce893c4f7 | |898e14d3e46dc Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #7 from Zebediah Figura z.figura12@gmail.com --- Fixed by https://source.winehq.org/git/wine.git/commitdiff/814f18ab756cd69158ce893c4f7898e14d3e46dc.
https://bugs.winehq.org/show_bug.cgi?id=35539
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.8.
https://bugs.winehq.org/show_bug.cgi?id=35539
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |6.0.x
https://bugs.winehq.org/show_bug.cgi?id=35539
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|6.0.x |---
--- Comment #9 from Michael Stefaniuc mstefani@winehq.org --- Removing the 6.0.x milestone from bug fixes included in 6.0.2.