[Bug 9664] Missing icon during MS Office 2000 installation
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Mar 2 15:31:42 CST 2010
http://bugs.winehq.org/show_bug.cgi?id=9664
--- Comment #24 from Anastasius Focht <focht at gmx.net> 2010-03-02 15:31:41 ---
Hello,
thanks for the german Office2K installation package, it was a matter of minutes
to track it down ;-)
Fortunately Microsoft installer swiss army knife "ORCA" came once again to
help.
Using ORCA's dialog preview feature one can quickly reproduce the problem
(missing image on pushbutton control):
Load DATA1.MSI with ORCA.
Menu: Tools -> Dialog Preview -> choose "ReadyToInstall" Dialog
You see the second "Customize" pushbutton image is indeed missing.
NOTE: If you choose "done" in dialog preview, the dialog gets ghosted (never
closes). This seems to be another wine bug.
---
Dumping the "Control" table for "ReadyToInstall" dialog reveals the following:
--- snip ---
...
Dialog_ Control Type X Y Width Height Attributes
Property Text Control_Next Help
s0 s0 s0 i2 i2 i2 i2 I4 S0 L0 S0 L0
ReadyToInstall BlackBar Bitmap 1 1 449 4 262145
BlackBar
ReadyToInstall CornerGraphic Bitmap 1 4 126 48 262145
CornerGraphic InstallNowText
ReadyToInstall WhiteBar Bitmap 1 1 126 280 262145
WhiteBar CornerGraphic
ReadyToInstall Back PushButton 317 285 62 18 3 <<
&Zurück Cancel
ReadyToInstall Cancel PushButton 204 285 62 18 3
Abbrechen HelpButton
ReadyToInstall BarLabelSetup Text 4 57 121 18 65539
{\Tahoma8BlackBold}SETUP
ReadyToInstall BLCollecting Text 4 75 121 25 65539
{\Tahoma8Black}Kundeninformationen
ReadyToInstall BLEULA Text 4 100 121 25 65539
{\Tahoma8Black}Lizenzierung und Support
ReadyToInstall BLInstalling Text 4 150 121 25 65539
{\Tahoma8Black}[ProductNameBase] wird installiert
ReadyToInstall BLReady Text 4 125 121 25 65539
{\Tahoma8BlackBold}Zur Installation bereit
ReadyToInstall BottomLine Line 1 279 449 2 1 line
ReadyToInstall HelpButton PushButton 138 285 62 18 3
&Hilfe WhiteBar
ReadyToInstall Next PushButton 383 285 62 18 1
&Weiter >> Back
ReadyToInstall Label4 Text 139 12 305 25 65539
{\TahomaBold8}Das Setup-Programm ist bereit, [ProductName] zu installieren.
ReadyToInstall Label25 Text 139 143 305 24 2
{\Tahoma8Black}...oder klicken Sie auf "Benutzerdefiniert" und machen Sie
weitere Angaben zu Ihrer [ProductNameBase]-Installation.
ReadyToInstall Label8 Text 139 38 305 22 2
{\Tahoma8Black}Klicken Sie auf "Jetzt installieren", um mit der Installation
von [ProductNameBase] zu beginnen.
ReadyToInstall InstallNowText Text 192 60 252 12 65539
{\TahomaBold8}[TYPICALINSTALLTEXT] InstallNow
ReadyToInstall CustomInstallText Text 192 179 252 37 65539
{\Tahoma8Black}[CUSTOMINSTALLDESCRIPTION]
ReadyToInstall Customize PushButton 139 167 45 45 7864323
{\Tahoma8Black}CustomIcon Next Benutzerdefiniert|
ReadyToInstall CustomizeText Text 192 167 252 12 65539
{\TahomaBold8}[CUSTOMINSTALLTEXT] Customize
ReadyToInstall IEInstallNoPrevText Text 192 72 252 13
65539 {\Tahoma8Black}[IEInstallNowText]
ReadyToInstall IEInstallText Text 192 83 252 13 65539
{\Tahoma8Black}[IEInstallNowText]
ReadyToInstall InstallNow PushButton 139 60 45 45 7864323
TypicalIcon CustomizeText Typisch|
ReadyToInstall Label25Prop Text 139 143 305 24 2
{\Tahoma8Black}[CUSTOMINSTALLHEADER]
ReadyToInstall Label8c Text 139 38 305 22 2
{\Tahoma8Black}Klicken Sie auf "Jetzt aktualisieren", um mit der Installation
von [ProductNameBase] zu beginnen.
ReadyToInstall Label8cProp Text 139 38 305 22 2
{\Tahoma8Black}[TYPICALUPGRADEHEADER]
ReadyToInstall Label8Prop Text 139 38 305 22 2
{\Tahoma8Black}[TYPICALINSTALLHEADER]
ReadyToInstall TypicalInstallText Text 192 72 252 37 65539
{\Tahoma8Black}[ProductNameNonQualifiedShort] nach
[DefaultInstallLocation] installieren
ReadyToInstall TypicalInstallText2 Text 192 83 252 37
65539 [ProductNameNonQualifiedShort] nach [DefaultInstallLocation]
installieren
ReadyToInstall TypicalInstallText3 Text 192 94 252 37
65539 [ProductNameNonQualifiedShort] nach [DefaultInstallLocation]
installieren
ReadyToInstall TypicalInstallTextProp Text 192 72 252 37
65539 {\Tahoma8Black}[TYPICALINSTALLDESCRIPTION]
ReadyToInstall TypicalRemovePreviousText Text 192 72 252 12
65539 {\Tahoma8Black}Ältere Versionen von [ProductNameBase] entfernen
ReadyToInstall UpgradeNowText Text 192 60 252 12 65539
{\TahomaBold8}[TYPICALUPGRADETEXT]
...
--- snip ---
Tracing the "good" case for "InstallNow" pushbutton control:
--- snip ---
...
0045:trace:msi:msi_dialog_button_control 0x610d30 0x615f40
0045:trace:msi:msi_dialog_add_control L"BUTTON", L"InstallNow", 00780003,
L"TypicalIcon", 00010040
...
0045:Call user32.CreateWindowExW(00000000,686c31ee L"BUTTON",00619f98
L"TypicalIcon",50010040,000000b9,00000050,0000003c,0000003c,000903e6,00000000,00000000,00000000)
ret=686622d8
...
0045:trace:msi:msi_dialog_create_window Dialog L"ReadyToInstall" control
L"TypicalIcon" hwnd 0x3032c
...
0045:trace:msi:msi_load_image 0x19b098 L"TypicalIcon" 48 48 00000010
...
0045:trace:msi:MSI_DatabaseOpenViewW L"select * from Binary where `Name` =
'TypicalIcon'" 0x32e298
...
0045:Call KERNEL32.lstrlenW(0061a3d8 L"Binary.TypicalIcon") ret=686a4d79
...
0045:trace:msi:db_get_raw_stream
L"\430b\4131\4735\3f7e\44fc\41ac\43e4\4192\4472"
...
0045:Call shlwapi.SHCreateStreamOnFileW(0061a108
L"C:\\users\\focht\\Temp\\msi7230.tmp",00000012,0032e274) ret=686906ea
...
0045:Call user32.LoadImageW(00000000,0061a108
L"C:\\users\\focht\\Temp\\msi7230.tmp",00000001,00000030,00000030,00000010)
ret=68662622
...
0045:Ret user32.LoadImageW() retval=00060328 ret=68662622
...
0045:Call KERNEL32.DeleteFileW(0061a108 L"C:\\users\\focht\\Temp\\msi7230.tmp")
ret=6866263e
...
0045:Call window proc 0x685c0e41
(hwnd=0x3032c,msg=BM_SETIMAGE,wp=00000001,lp=00060328)
--- snip ---
Tracing the "bad" case for "Customize" pushbutton control:
--- snip ---
...
0045:trace:msi:msi_dialog_button_control 0x610d30 0x615f40
0045:trace:msi:msi_dialog_add_control L"BUTTON", L"Customize", 00780003,
L"{\\Tahoma8Black}CustomIcon", 00010040
...
0045:Call user32.CreateWindowExW(00000000,686c31ee L"BUTTON",0061927e
L"CustomIcon",50010040,000000b9,000000df,0000003c,0000003c,000903e6,00000000,00000000,00000000)
ret=686622d8
...
0045:trace:msi:msi_dialog_create_window Dialog L"ReadyToInstall" control
L"{\\Tahoma8Black}CustomIcon" hwnd 0x10034c
...
0045:trace:msi:msi_load_image 0x19b098 L"{\\Tahoma8Black}CustomIcon" 48 48
00000010
...
0045:trace:msi:MSI_DatabaseOpenViewW L"select * from Binary where `Name` =
'{\\Tahoma8Black}CustomIcon'" 0x32e298
...
0045:Call window proc 0x685c0e41
(hwnd=0x10034c,msg=BM_SETIMAGE,wp=00000001,lp=00000000)
--- snip ---
Wine must strip any RTF-ismns from string/text fields that are potentially used
as lookup keys in tables (example: stream names in binary table).
E.g. text field "{\Tahoma8Black}CustomIcon" should become "CustomIcon" before
lookup/query expression.
Also it would be helpful if an ERR is printed in case the icon resource can't
be loaded - similar what's being done in
dlls/dialog.c:msi_dialog_bitmap_control().
dlls/dialog.c:msi_dialog_button_control -> msi_load_icon -> msi_load_image
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list