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.
http://bugs.winehq.org/show_bug.cgi?id=22596
Summary: PhotoScape unable to change/save files under Wine
1.1.43
Product: Wine
Version: 1.1.43
Platform: x86-64
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P1
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: daquirm(a)seznam.cz
CC: daquirm(a)seznam.cz
Created an attachment (id=27721)
--> (http://bugs.winehq.org/attachment.cgi?id=27721)
LOG from the terminal
OS: Ubuntu 10.04 64bit
Wine 1.1.42 and 1.1.43 (tried Windows XP and Windows 7 compatibility mode)
trying to run PhotoScape v3.40
Problem: PhotoScape is unable to save or edit any files/images. It looks like
it's running just with read only permission.
Solution: Downgrade to Wine 1.1.31
--
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=28659
Bug #: 28659
Summary: rpcrt4/server test crashes on 32-bit FreeBSD9
Product: Wine
Version: 1.3.30
Platform: x86
OS/Version: FreeBSD
Status: NEW
Keywords: download, source, testcase
Severity: normal
Priority: P2
Component: rpc
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: austinenglish(a)gmail.com
Classification: Unclassified
Created attachment 36831
--> http://bugs.winehq.org/attachment.cgi?id=36831
backtrace
The rpcrt4/rpc test fails as well, but that may be related to missing ntlm_auth
(which I haven't found how to satisfy on FreeBSD). The server test shows that
same error, but also crashes, so something nastier is going on.
Backtrace attached.
--
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=22904
Summary: Register URL protocol handlers under Linux
Product: Wine
Version: unspecified
Platform: All
OS/Version: Linux
Status: UNCONFIRMED
Severity: enhancement
Priority: P2
Component: programs
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: kempe.marcus(a)gmail.com
winemenubuilder is able to automatically register file type associations and
build menus under Linux, when triggered by an application under wine.
It would be great if the same thing were true for protocol handlers, so that
these would become registered in much the same way as when using gconftool in
gnome:
gconftool -s /desktop/gnome/url-handlers/spotify/command 'wine
c:\\spotify\\spotify.exe %s' --type String
gconftool-2 -s /desktop/gnome/url-handlers/spotify/enabled --type Boolean true
Would this be possible, hard, or maybe not a good idea?
--
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=16214
Summary: Copy command does not work as expected
Product: Wine
Version: 1.0.1
Platform: Other
OS/Version: other
Status: NEW
Severity: enhancement
Priority: P2
Component: dos
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: scott(a)open-vote.org
>From Launchpad: https://bugs.edge.launchpad.net/ubuntu/+source/wine/+bug/272921
In Windows, the COPY command run in a command prompt allows users to
concatenate files by using a plus ("+") operator, for example:
copy file1+file2 outfile
In wine's cmd.exe, it seems to read file1+file2 as a single path and therefore
outputs a "Path Not Found". Also, it does not recognize the "con" keyword used
to represent stdout/stdin. Therefore another method of concatenating files:
copy file1 outfile
copy file2 con >> outfile
does not work either.
My Ubuntu version is 8.04, AMD64 architecture, though I have seen the same
issue on the x86 version as well.
--
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=20474
Summary: Wine can't be built with GCC in C99 mode
Product: Wine
Version: unspecified
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: build-env
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: yann(a)droneaud.fr
For multiple reason, wine can't be built by GCC in C99 mode ( --std=c99 ).
In particular, wine rely on GCC behavor regarding to extern inline.
It produces errors regarding asm construct conflicting with extern
inline symbols.
It produces errors with multiple defination of inline function in object files.
According to this, it seems that wine is not compatible with C99, but rely a
lot on GCC specific behavor.
See also bug #20306
--
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=16552
Summary: CreateIoCompletionPort fails in Chromium unit tests
Product: Wine
Version: 1.1.10
Platform: Other
URL: http://chromium.org
OS/Version: other
Status: NEW
Keywords: download, source
Severity: normal
Priority: P2
Component: wineserver
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: dank(a)kegel.com
http://src.chromium.org/viewvc/chrome/trunk/src/base/message_pump_win.cc
contains the code
port_.Set(CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, NULL, 1));
DCHECK(port_.IsValid());
...
HANDLE port = CreateIoCompletionPort(file_handle, port_, key, 1);
DCHECK(port == port_.Get());
The DCHECK fires when running one of the Chromium unit tests:
wine Debug/ui_tests.exe
...
001b:Call KERNEL32.CreateFileW(00ed7208
L"\\\\.\\pipe\\chrome.ChromeTestingInterface:8.1",c0000000,00000000,00000000,00000003,40110000,00000000)
ret=010e0220
001b:Ret KERNEL32.CreateFileW() retval=000000c0 ret=010e0220
...
0021:Call KERNEL32.CreateIoCompletionPort(ffffffff,00000000,00000000,00000001)
ret=01a304b3
0021:Ret KERNEL32.CreateIoCompletionPort() retval=000000c8 ret=01a304b3
0021:Call KERNEL32.CreateIoCompletionPort(000000c0,000000c8,00ed5aa0,00000001)
ret=01a30760
trace:ntdll:NtSetInformationFile
(0xc0,0x7cdee318,0x7cdee320,0x00000008,0x0000001e)
0021:Ret KERNEL32.CreateIoCompletionPort() retval=00000000 ret=01a30760
0021:Call KERNEL32.OutputDebugStringA(00ed95a8
"[26:33:1249:FATAL:message_pump_win.cc(428)] Check failed: port == port_.Get().
\r\n") ret=019a7af3
I think it's failing in wineserver for some reason during NtSetInformationFile
in set_completion_info.
--
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=19534
Summary: Office 2007 menu button loses focus
Product: Wine
Version: 1.1.11
Platform: PC
OS/Version: Linux
Status: NEW
Severity: trivial
Priority: P3
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: kennybobs(a)o2.co.uk
Created an attachment (id=22740)
--> (http://bugs.winehq.org/attachment.cgi?id=22740)
wine-1.1.26-231-gfe9d360 console output
I can't take a screenshot because it also loses focus, so I hope this makes
sense.
The Office 2007 apps have had their sensible menus replaced with a button in
the top left of the window.
The problem occurs when hovering over one option (say Send) so that it's
sub-menu opens, then moving the cursor over to another menu option (say Print).
The menu closes. This doesn't happen under Windows.
Tested Excel and Word. Can't really test the other apps as they have their own
problems preventing them from starting.
Nothing new is printed in the console when this happens, but log attached.
Went back to Wine 1.1.11 to check for a recent regression but problem occurs
there too. Same in latest git.
--
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=32206
Bug #: 32206
Summary: Primer Premier 6.12 doesn't draw its UI
Product: Wine
Version: 1.5.17
Platform: x86
URL: http://www.premierbiosoft.com/DATAFILES/PP612Installer
Win32.exe
OS/Version: Linux
Status: NEW
Keywords: download
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: fracting(a)gmail.com
Classification: Unclassified
Created attachment 42481
--> http://bugs.winehq.org/attachment.cgi?id=42481
Screenshot: primer premier 6.12 doesn't draw its UI
1. install Primer Premier
$ wine PP612InstallerWin32.exe
2. start
$ cd ~/.wine/drive_c/Program\ Files/Primer\ Premier\ 6.12
$ wine Primer\ Premier\ 6.exe
Expect result:
The UI should be draw completed as Screenshot:
primer-premier-6-with-workaround.png
Actual result:
The UI doesn't draw at first, if you move the mouse onto Primer Premier, then
some parts of the UI draws but still not complete.
See screenshot primer-premier-doesnt-draw.png
Workaround:
Setting a virtual desktop, start Primer Premier, carefully move the mouse onto
the title bar of Primer Premier.
fixme:win:EnumDisplayDevicesW ((null),0,0x30e850,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),1,0x30e850,0x00000000), stub!
fixme:ddraw:DirectDrawEnumerateExA flags 0x00000001 not handled
fixme:win:EnumDisplayDevicesW ((null),0,0x31f444,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x31f6b4,0x00000000), stub!
fixme:font:freetype_SelectFont Untranslated charset 255
fixme:imm:ImmGetOpenStatus (0x4452438): semi-stub
fixme:imm:ImeHandleNotify WM_IME_NOTIFY:IMN_SETCOMPOSITIONWINDOW
fixme:imm:ImeHandleNotify WM_IME_NOTIFY:IMN_SETCOMPOSITIONWINDOW
err:ole:CoReleaseMarshalData IMarshal::ReleaseMarshalData failed with error
0x8001011d
--
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=23008
Summary: winhelp: Popups disappear immediately and are the
wrong size
Product: Wine
Version: 1.2-rc2
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: minor
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: markk(a)clara.co.uk
Created an attachment (id=28516)
--> (http://bugs.winehq.org/attachment.cgi?id=28516)
ONLCFG.HLP compressed with bzip2
Links in help files which open pop-ups are broken in Wine winhlp32. (These
links typically appear in green with a dotted underline.)
What should happen: the popup appears when the link is clicked, and remains
present when the user releases the mouse button.
What actually happens: the popup appears, but vanishes when the user releases
the mouse button. The popup is the wrong size, and has scrollbars on the right
and bottom edges. (It's impossible to use the scrollbars since the popup
disappears when the button is released.) Some popups have text missing.
Example:
Open the attached ONLCFG.HLP file in Wine winhlp32. Click "How do I?". Click
"Letting your Intuit software ...". Click each of the underlined links: dial
type, dialing prefix and disable call waiting. Notice there is no text other
than the heading in the dialing prefix and disable call waiting popups. Click
Tell me more. The popup which appears contains links to other pages in the help
file, but it's impossible to select them due to the popup vanishing on mouse
release.
Compare with using winhlp32.exe from Windows under Wine to view that file.
--
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.