http://bugs.winehq.org/show_bug.cgi?id=14875
Summary: VS 2008 Express Editions (SP1) installer fails with
directory resolution error (bug in msi appsearch action)
Product: Wine
Version: CVS/GIT
Platform: PC
URL: http://www.microsoft.com/express/download/
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: msi
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Hello,
downloaded full DVD image of Visual Studio 2008 Express Edition with SP1.
Minimal set of prerequisites needed to reproduce this bug:
1. sh winetricks volnum (bug 5351)
2. MsiSetExternalUIRecord patch (bug 10547)
The installer stops with error "directory resolution failed".
--- snip ---
002c:Call msi.MsiGetPropertyW(00000001,00cee4c8
L"VS7.3643236F_FC70_11D3_A536_0090278A1BB8",39e262f8,0032ab10) ret=39e55231
002c:trace:msi:MSI_GetProperty 1 L"VS7.3643236F_FC70_11D3_A536_0090278A1BB8"
0x39e262f8 0x32ab10
..
002c:trace:msi:MSI_DatabaseOpenViewW L"SELECT `Value` FROM `_Property` WHERE
`_Property`='VS7.3643236F_FC70_11D3_A536_0090278A1BB8'" 0x32a9c4
..
002c:Ret msi.MsiGetPropertyW() retval=000000ea ret=39e55231
..
002c:Call
KERNEL32.FormatMessageW(00000b00,3aa70000,0000108e,00000400,0032a7bc,00000000,00000000)
ret=39ea74fb
002c:Ret KERNEL32.FormatMessageW() retval=00000024 ret=39ea74fb
..
002c:Call oleaut32.SysAllocString(00cdcd08 L"Microsoft Visual C++ 2008 Express
Edition with SP1 - DEU") ret=39e4bc58
..
002c:Call oleaut32.SysAllocString(00cee978
L"VS7.3643236F_FC70_11D3_A536_0090278A1BB8: Fehler bei
Verzeichnisaufl\00f6sung.") ret=39e4bc58
..
002c:Call oleaut32.SysFreeString(010ab66c L"ERROR processed; exception was
thrown for retail build\n\tDeveloper Comment: \n\tBuild Time: Thu Dec 11
15:04:18 2003\n\tDWORD: 234") ret=39e40e56
..
002c:Call oleaut32.SysFreeString(010ab5ec L"Microsoft Visual C++ 2008 Express
Edition with SP1 - DEU") ret=39e40e5f
..
002c:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0032a9d8)
ret=39e80d28
002c:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b8433b0
--- snip ---
Property "VS7.3643236F_FC70_11D3_A536_0090278A1BB8" (= Visual Studio install
directory) does not exist (anymore) at this install stage.
Besides from a bug in dlls/msi/install.c:msi_strcpy_to_awstring(), which
results in wrong ERROR_MORE_DATA for empty unicode strings (see previous
snippet, str=L"" + len=0), the following sequences lead to this bug...
The installation directory property is created/set first here:
--- snip ---
..
002c:trace:msi:MsiDoActionW
L"CA_SetVcvars32batProp_x86_deu.3643236F_FC70_11D3_A536_0090278A1BB8"
002c:trace:msi:ACTION_PerformUIAction Performing action
(L"CA_SetVcvars32batProp_x86_deu.3643236F_FC70_11D3_A536_0090278A1BB8")
..
002c:trace:msi:ACTION_CustomAction Handling custom action
L"CA_SetVcvars32batProp_x86_deu.3643236F_FC70_11D3_A536_0090278A1BB8" (33
L"CA_SetVcvars32bat_x86_deu.3643236F_FC70_11D3_A536_0090278A1BB8"
L"[#FL_vsvars_bat_10582_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8];[#FL_vcvars32_bat_5369_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8];@SET
VSINSTALLDIR=[VS7.3643236F_FC70_11D3_A536_0090278A1BB8]|@SET
VCINSTALLDIR=[VC7.3643236F_FC70_11D3_A536_0090278A1BB8]|@SET
FrameworkDir=[Framework_x86.3643236F_FC"...)
..
002c:trace:msi:MSI_GetPropertyW returning L"C:\\Program Files\\Microsoft Visual
Studio 9.0\\" for property L"VS7.3643236F_FC70_11D3_A536_0090278A1BB8"
..
--- snip ---
("@SET VSINSTALLDIR=[VS7.3643236F_FC70_11D3_A536_0090278A1BB8]")
But is removed/reset at later install stage, when this custom action is run:
--- snip ---
002c:trace:msi:ACTION_CustomAction Handling custom action
L"CA_VIntegration_Exec_VS7_x86_deu.3643236F_FC70_11D3_A536_0090278A1BB8" (33
L"VS7.3643236F_FC70_11D3_A536_0090278A1BB8"
L"[VS7.3643236F_FC70_11D3_A536_0090278A1BB8_RO.3643236F_FC70_11D3_A536_0090278A1BB8]")
002c:trace:msidb:MSI_CreateRecord 1
..
002c:trace:msi:MSI_GetPropertyW property
L"VS7.3643236F_FC70_11D3_A536_0090278A1BB8_RO.3643236F_FC70_11D3_A536_0090278A1BB8"
not found
..
002c:trace:msi:MSI_SetPropertyW 0xbcbec8
L"VS7.3643236F_FC70_11D3_A536_0090278A1BB8" L""
..
002c:trace:msi:MSI_GetPropertyW property
L"VS7.3643236F_FC70_11D3_A536_0090278A1BB8" not found
002c:trace:msi:MSI_DatabaseOpenViewW L"DELETE FROM `_Property` WHERE
`_Property` = 'VS7.3643236F_FC70_11D3_A536_0090278A1BB8'" 0x32b298
..
--- snip ---
The removal/reset was due to property
L"VS7.3643236F_FC70_11D3_A536_0090278A1BB8_RO.3643236F_FC70_11D3_A536_0090278A1BB8"
not existing.
Using ORCA tool on msi setup database, one can find this property referenced in
"AppSearch" table:
--- snip ---
Property ; Signature
VS7.3643236F_FC70_11D3_A536_0090278A1BB8_RO.3643236F_FC70_11D3_A536_0090278A1BB8
VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8
--- snip ---
Signature is "VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8"
"CompLocator" table:
--- snip ---
Signature ; ComponentId ; Type
VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8
{2883180F-8F0F-4B82-B0BA-D48CE920DFAF} 0
--- snip ---
"Component" table:
--- snip ---
Component ; ComponentId ; Directory ; Attribute ; Condition ; KeyPath
VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8
{2883180F-8F0F-4B82-B0BA-D48CE920DFAF}
VS7.3643236F_FC70_11D3_A536_0090278A1BB8 0
--- snip ---
Armed with this information, one can find the following in trace log:
--- snip ---
002c:trace:msi:iterate_appsearch
L"VS7.3643236F_FC70_11D3_A536_0090278A1BB8_RO.3643236F_FC70_11D3_A536_0090278A1BB8"
L"VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8"
002c:trace:msi:ACTION_AppSearchGetSignature package 0xbcbec8, sig 0x32b304
..
002c:trace:msi:ACTION_AppSearchGetSignature failed to query signature for
L"VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8"
002c:trace:msi:ACTION_AppSearchComponents
L"VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8"
..
..
002c:trace:msi:MsiLocateComponentW L"{2883180F-8F0F-4B82-B0BA-D48CE920DFAF}"
0x32b040 0x32b248
002c:trace:msi:MsiGetProductCodeW L"{2883180F-8F0F-4B82-B0BA-D48CE920DFAF}"
0x32afae
..
002c:trace:msi:MSIREG_OpenUserDataComponentKey
L"{2883180F-8F0F-4B82-B0BA-D48CE920DFAF}"
..
002c:trace:msi:MSIREG_OpenUserDataComponentKey squished
(L"F0813882F0F828B40BAB4DC89E02FDFA")
..
002c:trace:msi:ACTION_AppSearchReg
L"VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8"
..
002c:trace:msi:ACTION_AppSearchReg failed to query RegLocator for
L"VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8"
002c:trace:msi:ACTION_AppSearchIni
L"VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8"
..
002c:trace:msi:ACTION_AppSearchIni failed to query IniLocator for
L"VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8"
002c:trace:msi:ACTION_AppSearchDr
L"VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8"
..
002c:trace:msi:ACTION_AppSearchDr failed to query DrLocator for
L"VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8"
..
--- snip ---
This results in property
"VS7.3643236F_FC70_11D3_A536_0090278A1BB8_RO.3643236F_FC70_11D3_A536_0090278A1BB8"
and depending property "VS7.3643236F_FC70_11D3_A536_0090278A1BB8" reset.
MSDN info for AppSearch table here:
http://msdn.microsoft.com/en-us/library/aa367579.aspx
and AppSearch action: http://msdn.microsoft.com/en-us/library/aa367578.aspx
Specifically:
--- quote ---
The AppSearch action requires that the Signature table be present in the
installation package. [..] A signature that is not in the Signature table
denotes a directory and the action sets the property to the directory path for
that signature.
--- quote ---
This "VInt_VS7_X86_____X86.3643236F_FC70_11D3_A536_0090278A1BB8" key is not
present in "Signature" table, it's actually a directory.
If we look in the previously posted "Component" table we see the directory is
actually "VS7.3643236F_FC70_11D3_A536_0090278A1BB8"
By looking into "Directory" table we find the following:
--- snip ---
Directory ; Directory Parent ; DefaultDir
VS7.3643236F_FC70_11D3_A536_0090278A1BB8
ProgramFilesFolder_x86.3643236F_FC70_11D3_A536_0090278A1BB8
VS90.NET|Microsoft Visual Studio 9.0
--- snip ---
So
"VS7.3643236F_FC70_11D3_A536_0090278A1BB8_RO.3643236F_FC70_11D3_A536_0090278A1BB8"
should resolve to "VS7.3643236F_FC70_11D3_A536_0090278A1BB8" -> L"C:\\Program
Files\\Microsoft Visual Studio 9.0\\" (install dir)
This looks like bug in wine msi appsearch action impl.
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.
http://bugs.winehq.org/show_bug.cgi?id=29921
Bug #: 29921
Summary: Microsoft Visual Studio 2008 Express installer shows
highlighted items incorrectly
Product: Wine
Version: 1.4-rc4
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: trivial
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: ehoover(a)mines.edu
Classification: Unclassified
Created attachment 38933
--> http://bugs.winehq.org/attachment.cgi?id=38933
Screenshot depicting the problem
Any checkbox or button selected in the installer window will "disappear". The
installer still functions, but the issue is very visually disturbing.
--
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.
http://bugs.winehq.org/show_bug.cgi?id=20623
Summary: Swiftkit crashed
Product: Wine
Version: unspecified
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: frt975(a)gmail.com
SwiftKit Crashed. I gave vb6run gecko and Java installed.
--
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.
https://bugs.winehq.org/show_bug.cgi?id=38714
Bug ID: 38714
Summary: 64-bit ARM Windows applications from Windows SDK crash
in entry (loader needs to set/randomize cookie for PE
modules)
Product: Wine
Version: 1.7.44
Hardware: aarch64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: ntdll
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Distribution: ---
Hello folks,
this is more an educated guess since I only have remote access to some 64-bit
ARM Linux VM without proper debugging tools.
Winedbg/gdb proxy is unusable as of now and my shiny JTAG Debugger for
Cortex-A5x (ICD) can't work "remotely".
Anyway, I think I gathered enough information without the need for debugging.
Don't complain about 'root' - it's not my machine :)
--- snip ---
# wine64 winedbg arm64/mt.exe
Wine-dbg>info process
pid threads executable (all id:s are in hex)
>00000024 1 'mt.exe'
00000026 2 \_ 'wineconsole.exe'
00000014 4 'explorer.exe'
0000000e 5 'services.exe'
0000001b 3 \_ 'plugplay.exe'
00000012 3 \_ 'winedevice.exe'
Wine-dbg>info thread
process tid prio (all id:s are in hex)
0000000e services.exe
0000001e 0
0000001d 0
00000016 0
00000010 0
0000000f 0
00000012 winedevice.exe
0000001a 0
00000019 0
00000013 0
00000014 explorer.exe
00000023 0
00000022 0
00000021 0
00000015 0
0000001b plugplay.exe
00000020 0
0000001f 0
0000001c 0
00000024 (D) Z:\root\wine\64\arm64\mt.exe
00000025 0 <==
00000026 wineconsole.exe
00000028 0
00000027 0
--- snip ---
--- snip ---
Wine-dbg>si
be_arm64_single_step: not done
Unhandled exception: illegal instruction in 64-bit code (0x000000014010ce78).
Register dump:
ARM64 EL0t Mode
Pc:000000014010ce78 Sp:0000007f8aa6fe20 Lr:000000014010ca7c
Pstate:0000000060000000(-ZC-)
x0: 0000007f8bd0c000 x1: 0000000000000005 x2: 0000007f8bd0e000 x3:
0000000000000001 x4: 0000000000000001
x5: f5183970d346f95f x6: 0000000000000001 x7: 0000000000000002 x8:
00002b992ddfa232 x9: 00002b992ddfa232
x10:00000000031bb537 x11:0000007f8bd0f078 x12:0000007ffb057a54
x13:0000007ffb057a58 x14:0000007ffb057b20
x15:0000007f8bb35908 ip0:0000007f8b966120 ip1:0000007f8b9c9e10
x18:0000007f8bb359d0 x19:0000007f8bd0c000
x20:000000014010ca70 x21:0000000000000000 x22:0000007f8b949000
x23:0000007f8acd3584 x24:0000007f8acfd000
x25:0000007f8aee07f0 x26:0000007ffb057e90 x27:0000007ffb057e08
x28:0000007f8ad15000 Fp:0000007f8aa6fe20
Stack dump:
0x0000007f8aa6fe20: 0000007f8aa6fe30 0000007f8acd35e0
0x0000007f8aa6fe30: 0000007f8aa6fe60 0000007f8b9310ac
0x0000007f8aa6fe40: 0000007f8acd3584 0000007f8bd0c000
0x0000007f8aa6fe50: 0000000000000000 0000000000000000
0x0000007f8aa6fe60: 0000007f8aa6ffe0 0000007f8b90ca20
0x0000007f8aa6fe70: 0000007f8bd0c000 0000007f8acd3584
0x0000007f8aa6fe80: ffffffffffffffff 0000007f8b941ab4
0x0000007f8aa6fe90: 0000007f8acb67cc 0000007f8acd3584
0x0000007f8aa6fea0: 0000007f8bd0c000 0000000000000000
0x0000007f8aa6feb0: 0000007f8b949000 0000007f8acd3584
0x0000007f8aa6fec0: 0000007f8acfd000 0000007f8aee07f0
0x0000007f8aa6fed0: 0000007ffb057e90 0000007ffb057e08
Backtrace:
=>0 0x000000014010ce78 in mt (+0x10ce78) (0x0000007f8aa6fe20)
1 0x000000014010ca7c in mt (+0x10ca7b) (0x0000007f8aa6fe20)
...
--- snip ---
The entry point code of the app:
--- snip ---
entry:
0000000140020300 STP X29, X30, [SP,#-0x10]!
0000000140020304 MOV X29, SP
0000000140020308 BL 140020E40
000000014002030C BL 140020318
0000000140020310 LDP X29, X30, [SP],#0x10
0000000140020314 RET
...
0000000140020E40 ADRP X8, #0x140030000 ; .data
0000000140020E44 LDR X8, [X8,#0x800] ; offset to cookie
000000014010CE68 CBZ X8, 14010CE78
000000014010CE6C LDR X9, =0x2B992DDFA232 ; default cookie
arm64?
000000014010CE70 CMP X8, X9
000000014010CE74 B.NE 14010CE7C
000000014010CE78 BRK #0xF003 ; whoops, bail here
000000014010CE7C MVN X8, X8
0000000140020E60 ADRP X9, #0x140030000
0000000140020E64 STR X8, [X9,#0x808]
000000014010CE88 RET
.data:
...
0000000140030800 DCQ 0x2B992DDFA232 ; module security cookie (default val)
--- snip ---
Looks like the entry code checks for the default value of the security cookie
and bails if it's still unmodified.
MSDN:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms680328%28v=vs.85…
IMAGE_LOAD_CONFIG_DIRECTORY64 -> SecurityCookie (64-bit VA)
The loader needs to randomize the cookie for each module if present (= non-zero
VA) before calling the entry.
---
Another tidbit:
For decoding the immediate field in the emitted 'brk' instruction I only found
information for the Linux counterpart which says range 0x2000-0xffff is
app/user-defined.
https://gcc.gnu.org/ml/gcc-patches/2013-11/msg02228.html
--- quote ---
POSIX siginfo
BRK #imm16 si_signo si_code Purpose
---------- -------- ------- -------
0000-0fff S/w breakpoint, reserved for debuggers
0000-3ff SIGTRAP TRAP_BRKPT- EL0 breakpoint (e.g. gdb)
0400-7ff SIGILL ILL_ILLTRP* EL1 breakpoint (e.g. kgdb)
0800-bff SIGILL ILL_ILLTRP* EL2 breakpoint
0c00-fff SIGILL ILL_ILLTRP* EL3 breakpoint
1000-1fff C/C++ runtime errors
1000 SIGABRT n/a libc abort()
1001 SIGFPE FPE_INTDIV integer divide by zero
1002 SIGFPE FPE_INTOVF integer overflow
1003 SIGFPE FPE_FLTDIV floating-point divide by zero
1004 SIGFPE FPE_FLTOVF floating-point overflow
1005 SIGFPE FPE_FLTUND floating-point underflow
1006 SIGFPE FPE_FLTRES floating-point inexact result
1007 SIGFPE FPE_FLTINV floating-point invalid op
1008 SIGFPE FPE_FLTSUB subscript out of range
1009-1fff SIGILL ILL_ILLTRP unused but reserved
2000-ffff SIGILL ILL_ILLOPC+ Guaranteed unused, resvd for apps
- This is the signal generated now for all values of BRK
immediate. GDB currently uses "BRK #0"
* The EL1/EL2/EL3 breakpoints would deliver a SIGILL if they are
executed by EL0 code, and caught by the EL1 kernel. A s/w debugger
operating at a higher EL which placed such breakpoints would
presumably catch them and handle them, without the EL1 kernel ever
seeing them.
+ Immediate values 0x2000-ffff generate the same signal as any other
UNDEFINED instruction encoding, but with guaranteed behaviour for
JITs etc. The original imm16 value could be made available in the
si_trapno field of the signal context.
--- quote ---
Regards
--
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.
https://bugs.winehq.org/show_bug.cgi?id=49025
Bug ID: 49025
Summary: League of Legends crashes at game start (wine 5.7
regression)
Product: Wine
Version: 5.7
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: aguertin+wine(a)aguertin.net
Distribution: ---
League of Legends crashes at game start using wine-staging 5.7. It works fine
using wine-staging 5.6 (plus some league-specific patches).
I will bisect.
Gentoo, x86_64.
--
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.
http://bugs.winehq.org/show_bug.cgi?id=25558
Summary: Can't install Flight Simulator X
Product: Wine
Version: 1.3.9
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: el.il(a)doom.co.il
Created an attachment (id=32543)
--> (http://bugs.winehq.org/attachment.cgi?id=32543)
Terminal Output
Microsoft Flight Simulator X Installation doesn't work.
I'm tested with a clean wineprefix.
I'm using wine-1.3.9-1.fc14, on 64bit
I can see the installer loading dialog, but when the progress line gets to the
end, an error shows up, saying "1628: Failed to complete installation".
Attached is the terminal output.
Notice the line "wine: Invalid address"
I think this might need extra debugging.
Please note that the bug also occurs in the installer of the demo version.
Download: https://www.microsoft.com/games/flightsimulatorx/downloads.html
--
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.