http://bugs.winehq.org/show_bug.cgi?id=25740
Summary: setupapi: registry values missing %token% replacement
(dynamic strings, updspapi) (Windows PowerShell 2.0)
Product: Wine
Version: 1.3.11
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: setupapi
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Hello,
trying to start the Windows PowerShell Integrated Scripting Environment (ISE)
after installing Windows PowerShell 2.0 fails.
--- snip ---
$ wine powershell_ise.exe
...
Unhandled Exception: System.Reflection.TargetInvocationException: Exception has
been thrown by the target of an invocation. ---> System.ArgumentNullException:
Value cannot be null.
Parameter name: window
at System.Windows.MessageBox.Show(Window owner, String messageBoxText,
String caption, MessageBoxButton button, MessageBoxImage icon, MessageBoxResult
defaultResult)
at Microsoft.Windows.PowerShell.Gui.Internal.Program.Initialize()
--- End of inner exception stack trace ---
at Microsoft.Windows.PowerShell.GuiExe.Internal.GPowerShell.Main(String[]
args)
wine: Unhandled exception 0xe0434f4d at address 0x7b838ce2 (thread 0009),
starting debugger...
--- snip ---
The real cause is the inability to locate/load the assembly
"CompiledComposition.Microsoft.PowerShell.GPowerShell.dll" leading to later
crash.
The path to assembly is resolved using registry:
--- snip ---
0026:Call advapi32.RegOpenKeyExW(80000002,009bf828
L"Software\\Microsoft\\PowerShell\\1\\PowerShellEngine",00000000,00020019,0032ece8)
ret=0036a6a7
0026:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=0036a6a7
...
0026:Call advapi32.RegQueryValueExW(00000180,009bf770
L"ApplicationBase",00000000,0032ed18,00000000,0032ed1c) ret=0036a7aa
0026:Ret advapi32.RegQueryValueExW() retval=00000000 ret=0036a7aa
...
0026:Call KERNEL32.GetFullPathNameW(0032ea1c
L"%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\CompiledComposition.Microsoft.PowerShell.GPowerShell.dll",00000105,0032e810,00000000)
ret=0036a1c3
0026:Ret KERNEL32.GetFullPathNameW() retval=00000073 ret=0036a1c3
--- snip ---
Registry export:
--- snip ---
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\PowerShell\1\PowerShellEngine]
"ApplicationBase"="%SystemRoot%\\system32\\WindowsPowerShell\\v1.0"
"ConsoleHostAssemblyName"="Microsoft.PowerShell.ConsoleHost,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,ProcessorArchitecture=msil"
"ConsoleHostModuleName"="\"%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\Microsoft.PowerShell.ConsoleHost.dll\""
"PowerShellVersion"="2.0"
"PSCompatibleVersion"="1.0,2.0"
"RuntimeVersion"="v2.0.50727"
--- snip ---
The path contains "%SystemRoot%" token which should have been deformated at
_install_ time (.NET app code directly takes the path string).
>From the setupapi/updspapi based installer's update.inf:
--- snip ---
...
[ProductInstall.GlobalRegistryChanges.Install]
AddReg=PowerShell.Add.Reg
DelReg=PowerShell.Del.Reg
...
[PowerShell.Add.Reg]
HKLM,SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine,"ApplicationBase",0x00000000,%SystemRoot%\system32\WindowsPowerShell\v1.0
HKLM,SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine,"ConsoleHostAssemblyName",0x00000000,"Microsoft.PowerShell.ConsoleHost,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,ProcessorArchitecture=msil"
HKLM,SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine,"ConsoleHostModuleName",0x00000000,"""%SystemRoot%\system32\WindowsPowerShell\v1.0\Microsoft.PowerShell.ConsoleHost.dll"""
HKLM,SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine,"PowerShellVersion",0x00000000,"2.0"
HKLM,SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine,"PSCompatibleVersion",0x00000000,"1.0,2.0"
HKLM,SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine,"RuntimeVersion",0x00000000,"v2.0.50727"
HKLM,SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell,"Path",0x00000000,%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe
--- snip ---
There are also %token% strings which are _not_ to be replaced, hence the double
% quoting:
--- snip ---
HKLM, SYSTEM\CurrentControlSet\Services\WinRM\Parameters, ServiceDll,
0x00020000, "%%SystemRoot%%\system32\WsmSvc.dll"
--- snip ---
MSDN says about the "INF AddReg Directive":
http://msdn.microsoft.com/en-us/library/ff546320.aspx
--- snip ---
[add-registry-section]
reg-root, [subkey],[value-entry-name],[flags],[value]
...
value
...
The expression of such a value depends on the registry type specified for
the flag, as follows:
* A registry string-type value can be expressed either as a "quoted
string" or as a %strkey% token defined in a Strings section of the INF file.
Such an INF-specified value does not have to include a NULL terminator at the
end of each string.
...
--- snip ---
There is a "dynamic strings" directive present in .inf file:
--- snip ---
[DynamicStrings]
SystemRoot=InstallPathEnvVar,SystemRoot
--- snip ---
This part is processed by installer, updspapi.UpdSpSetDynamicStringA gets
called:
--- snip ---
0023:Call setupapi.SetupFindFirstLineA(00144c68,01025d10
"DynamicStrings",00000000,0033bb94) ret=010758be
0023:Call ntdll.RtlCreateUnicodeStringFromAsciiz(0033baa8,01025d10
"DynamicStrings") ret=688f6bbf
0023:Ret ntdll.RtlCreateUnicodeStringFromAsciiz() retval=00000001 ret=688f6bbf
0023:trace:setupapi:SetupFindFirstLineW (0x144c68,L"DynamicStrings",(null)):
returning 63/0
..
0023:Call msvcrt._vsnprintf(0033b34b,000007f7,01025830 "ProcessDynamicStrings:
InstallPathEnvVar for %s returned %s",0033bb80) ret=010706ea
...
0023:Call updspapi.UpdSpSetDynamicStringA(00144c68,010f4940
"SystemRoot",001b7108 "C:\\windows") ret=01075d51
0023:fixme:updspapi:UpdSpSetDynamicStringA 0x144c68 "SystemRoot" "C:\\windows"
0023:Ret updspapi.UpdSpSetDynamicStringA() retval=00000001 ret=01075d51
...
0023:Call msvcrt._vsnprintf(0033b34b,000007f7,01025754 "ProcessDynamicStrings:
all %%%s%% replaced with %s.",0033bb80) ret=010706ea
--- snip ---
Setupapi installer log:
--- snip ---
2.734: ProcessDynamicStrings: InstallPathEnvVar for SystemRoot returned
C:\windows
2.734: ProcessDynamicStrings: all %SystemRoot% replaced with C:\windows.
--- snip ---
At later stage, when the registry section is processed:
--- snip ---
0023:trace:setupapi:SetupFindNextMatchLineW
(0x144c68,L"ProductInstall.GlobalRegistryChanges.Install",L"AddReg"): returning
2
0023:trace:setupapi:SetupGetStringFieldW context 0x144c68/0x144c68/10/2 index 1
returning L"PowerShell.Add.Reg"
0023:trace:setupapi:SetupFindFirstLineW
(0x144c68,L"PowerShell.Add.Reg",(null)): returning 48/0
0023:trace:setupapi:SetupGetStringFieldW context 0x144c68/0x144c68/48/0 index 1
returning L"HKLM"
0023:trace:setupapi:SetupGetStringFieldW context 0x144c68/0x144c68/48/0 index 2
returning L"SOFTWARE\\Microsoft\\PowerShell\\1\\PowerShellEngine"
...
0023:trace:setupapi:SetupGetStringFieldA context 0x144c68/0x144c68/48/0 index 4
returning "0x00000000"
0023:Call advapi32.RegCreateKeyExW(80000002,0033935c
L"SOFTWARE\\Microsoft\\PowerShell\\1\\PowerShellEngine",00000000,00000000,00000000,02000000,00000000,0033b37c,00000000)
ret=688ec641
0023:Ret advapi32.RegCreateKeyExW() retval=00000000 ret=688ec641
0023:trace:setupapi:registry_callback key 0x80000002
L"SOFTWARE\\Microsoft\\PowerShell\\1\\PowerShellEngine"
0023:trace:setupapi:SetupGetStringFieldW context 0x144c68/0x144c68/48/0 index 3
returning L"ApplicationBase"
...
0023:trace:setupapi:SetupGetStringFieldW context 0x144c68/0x144c68/48/0 index 5
returning L"%SystemRoot%\\system32\\WindowsPowerShell\\v1.0"
0023:trace:setupapi:do_reg_operation setting value L"ApplicationBase" to
L"%SystemRoot%\\system32\\WindowsPowerShell\\v1.0"
0023:Call advapi32.RegSetValueExW(0000006c,0033935c
L"ApplicationBase",00000000,00000001,0075d100,0000005a) ret=688ec5be
0023:Ret advapi32.RegSetValueExW() retval=00000000 ret=688ec5be
...
0023:Call advapi32.RegCloseKey(0000006c) ret=688ec6ce
0023:Ret advapi32.RegCloseKey() retval=00000000 ret=688ec6ce
--- snip ---
The string field containing %SystemRoot% token never got the replacement value.
Updspapi.dll UpdSpSetDynamicStringA() is a stub and does not have any
connection to setupapi, maybe this is the problem.
Updspapi seems like an internal/private version of Microsofts setupapi library,
distributed with installers/SP installers - not to be installed into OS.
Unfortunately setting updspapi to "native", skipping Wine's builtin stub
crashes the installer.
BTW ... the PowerShell console/command line stuff really integrates nicely now
that Wine has proper console support (wineconsole no longer needed).
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.
https://bugs.winehq.org/show_bug.cgi?id=42862
Bug ID: 42862
Summary: Gta 5 doesn't launch in dx10 mode
Product: Wine
Version: 2.6
Hardware: x86-64
OS: Mac OS X
Status: UNCONFIRMED
Severity: blocker
Priority: P2
Component: ntdll
Assignee: wine-bugs(a)winehq.org
Reporter: jhntipo(a)gmail.com
Created attachment 57960
--> https://bugs.winehq.org/attachment.cgi?id=57960
The GTA5.exe backtrace
When I launch GTA 5, the game doesn't appear instead, the Program error
dialogue box shows up. I am using the 3dm crack but the file that crashes is
GTA5.exe. I used commandline.txt to set the graphics runtime to dx10.
--
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=34720
Bug #: 34720
Summary: Resident Evil 3: in the game launcher fonts not
rendered correctly
Product: Wine
Version: 1.7.4
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: trivial
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: winebugs140(a)gmail.com
Classification: Unclassified
Created attachment 46293
--> http://bugs.winehq.org/attachment.cgi?id=46293
RE3 Trace +font
You run the launcher using ResidentEvil3_menu.exe. I don't get anything in the
log. I've created a trace +font.
The problem can be reproduced in the demo (check out the link).
Tested with:
Windows Vista (without Wine), GeForce 9600M GS--the program works fine here
Ubuntu 13.04, GeForce 9600M GS (NVIDIA driver 313)
Mac OS X 10.7.5, ATI HD 2600 Pro, Mac Driver/X11
--
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=45472
Bug ID: 45472
Summary: oleaut32/oleaut.c: 1 MSVC "warning C4090: '=' :
different 'const' qualifiers"
Product: Wine
Version: 3.3
Hardware: x86-64
OS: Windows
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: oleaut32
Assignee: wine-bugs(a)winehq.org
Reporter: winehq-bugs_serge_180716(a)gautherie.fr
{{
...\oleaut32\oleaut.c(865) : warning C4090: '=' : different 'const' qualifiers
}}
pPSDispatchFacBuf is loosing its const.
Code added by
https://source.winehq.org/git/wine.git/commit/ebb839733ad84627a1be954ed861a…
.
Fwiw, see https://jira.reactos.org/browse/CORE-7538 .
There are other cases of this warning. With this first example, I would like to
know how you want them fixed...
--
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=54698
Bug ID: 54698
Summary: Printing from GRTools app under Wine-git (latest), the
app will crash
Product: Wine
Version: 8.4
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: mahmoudshmaitelly(a)yahoo.com
Distribution: ---
Created attachment 74208
--> https://bugs.winehq.org/attachment.cgi?id=74208
Printing bug app crashes
If I print from the app GRTools (freely available from GRTools.de) running
under latest wine-git version 8.4, the GRTools would crash and generates a
debug file as attached.
Thanks,
Mahmoud A Shmaitelly
--
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=55165
Bug ID: 55165
Summary: Age of Empires II Definitive Edition quits on startup,
due to WinVerifyTrust() failing on game binaries.
Product: Wine
Version: unspecified
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wintrust
Assignee: wine-bugs(a)winehq.org
Reporter: david(a)davidgow.net
Distribution: ---
The latest update of Age of Empires II: Definitive Edition no longer runs under
wine and wine derivatives like Proton, Crossover, etc. This is because the
updated version has an anti-tampering check which calls WinVerifyTrust() on all
of the bundled .exe and .dll files (even those the game doesn't use).
Under Wine, WinVerifyTrust() fails with TRUST_E_CERT_SIGNATURE on these PE
files, even though it works on other signed executables.
Patching wine to always return 0 from WinVerifyTrust() allows the game to
start, and to run successfully. See:
https://github.com/ValveSoftware/Proton/issues/3189#issuecomment-1610974028
I've written a simple program which calls WinVerifyTrust() on a file and prints
the error:
(source): https://davidgow.net/stuff/trustchk.c
(x86_64 binary): https://davidgow.net/stuff/trustchk64.exe
The trustchk64.exe binary is signed, so "trustchk64.exe trustchk64.exe" prints:
trustchk64.exe: 0 (Success. )
Running against an unsigned binary gives:
trustchk.exe: 800B0100 (No Signature found in file. )
Running against AoE2:DE's AoE2DE_s.exe file (or any other .exe or .dll from the
game) fails with:
AoE2DE_s.exe: 80096004 (TRUST_E_CERT_SIGNATURE: The signature of the
certificate cannot be verified.)
I've extracted the offending executable's signature with osslsigncode
extract-signature:
https://davidgow.net/stuff/AoE2DE_s.sig
Equally, I've verified the executable signature with osslsigncode:
https://davidgow.net/stuff/AoE2DE_s.sig-verify.txt
The Steam game info for the affected version is:
App ID: 813780
Build ID: 11543327
--
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=55058
Bug ID: 55058
Summary: dbghelp:dbghelp - SymRefreshModuleList() sometimes
returns 0 in 64-bit Wine
Product: Wine
Version: unspecified
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: dbghelp
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
dbghelp:dbghelp - SymRefreshModuleList() sometimes returns 0 in 64-bit Wine:
dbghelp.c:746: Test failed: SymRefreshModuleList failed: 0
See https://test.winehq.org/data/patterns.html#dbghelp:dbghelp
This started happening systematically in the nightly tests on 2023-06-12, but
only in 3 of the 5 64-bit Wine test configurations:
* fails gitlab-debian-64 (Debian 11 container)
* fails debian11b-wow64 (Debian 11 QEmu VM)
* success debiant-wow64 (Debian Testing QEmu VM)
* fails fgtb-debian11-wow64 (Debian 11 QEmu VM)
* success fg-deb64-wow64 (Debian 11.7 QEmu VM)
Despite happening systematically in the nightlies I have not been able to
reproduce the failure reliably.
--
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=54962
Bug ID: 54962
Summary: GDI+ text rendering does not handle carriage returns
Product: Wine
Version: 8.8
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: trivial
Priority: P2
Component: gdiplus
Assignee: wine-bugs(a)winehq.org
Reporter: klightspeed(a)netspace.net.au
Distribution: ---
Created attachment 74489
--> https://bugs.winehq.org/attachment.cgi?id=74489
C++ program reproducing issue
gdip_format_string does not currently handle CR-LF sequences in text to
be drawn. This results in boxes being rendered on the end of each line
rendered by e.g. Graphics::DrawString when the string contains
CR-LF (\r\n) newlines.
Comparing to the behaviour on Windows, it appears that Windows renders
carriage returns as zero-width characters.
Comparing the values filled into the lpnDx parameter to
GetTextExtentExPointW, Windows gives the characters '\r', '\n', and '\t'
a width of 0, while wine gives them the same width as any other unknown
character.
Windows:
Character offsets: "H" (12) "e" (21) "l" (24) "l" (27) "o" (36) "\u000d" (36)
"\u000a" (36) "W" (51) "o" (60) "r" (65) "l" (68) "d" (77)
wine:
Character offsets: "H" (12) "e" (21) "l" (25) "l" (29) "o" (38) "\u000d" (43)
"\u000a" (48) "W" (63) "o" (72) "r" (77) "l" (81) "d" (90)
--
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=53287
Bug ID: 53287
Summary: MxManagementCenter crashes on unimplemented function
msvcp140.dll.??0?$codecvt@_SDU_Mbstatet@@@std@@QEAA@_K
@Z when adding a camera
Product: Wine
Version: 7.11
Hardware: x86-64
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: msvcp
Assignee: wine-bugs(a)winehq.org
Reporter: alexhenrie24(a)gmail.com
Distribution: ---
Created attachment 72654
--> https://bugs.winehq.org/attachment.cgi?id=72654
Console output
To reproduce, open the program, click "Add Devices", click the plus sign, type
127.0.0.1 in the URL box, and click the X at the top-right corner of the pop-up
dialog.
$ sha256sum MxManagementCenter-2.6_Setup-win64.exe
c728c75a259fc17d7a30bb9f19fb0179a49ae7f1ee69e28d21d1558ef0134654
--
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.