"Misha Koshelev" mk144210@bcm.edu wrote:
--- a/tools/wine.inf +++ b/tools/wine.inf @@ -134,8 +134,14 @@ HKCR,txtfile\shell\open\command,,2,"%11%\notepad.exe %1" HKCR,txtfile\shell\print\command,,2,"%11%\notepad.exe /p %1" HKCR,wrifile\shell\open\command,,2,"%11%\wordpad.exe %1" HKCR,wrifile\shell\print\command,,2,"%11%\wordpad.exe /p %1" -HKCR,http\shell\open\command,,2,"winebrowser" -HKCR,https\shell\open\command,,2,"winebrowser" +HKCR,http\shell\open\command,,2,"winebrowser /dde" +HKCR,http\shell\open\ddeexec,,2,"""%1""" +HKCR,http\shell\open\ddeexec\Application,,2,"WineBrowser" +HKCR,http\shell\open\ddeexec\Topic,,2,"WWW_OpenURL" +HKCR,https\shell\open\command,,2,"winebrowser /dde" +HKCR,https\shell\open\ddeexec,,2,"""%1""" +HKCR,https\shell\open\ddeexec\Application,,2,"WineBrowser" +HKCR,https\shell\open\ddeexec\Topic,,2,"WWW_OpenURL"
Why are you making DDE the default way for the ShellExecute command? That's not the case in the default Windows install. Also please make sure that the items of the Help menu in Picasa still work after your changes, as it was broken several times after attempts to change default registry setup or ShellExecute behaviour.
On Mon, 2007-06-04 at 14:29 +0900, Dmitry Timoshkov wrote:
"Misha Koshelev" mk144210@bcm.edu wrote:
--- a/tools/wine.inf +++ b/tools/wine.inf @@ -134,8 +134,14 @@ HKCR,txtfile\shell\open\command,,2,"%11%\notepad.exe %1" HKCR,txtfile\shell\print\command,,2,"%11%\notepad.exe /p %1" HKCR,wrifile\shell\open\command,,2,"%11%\wordpad.exe %1" HKCR,wrifile\shell\print\command,,2,"%11%\wordpad.exe /p %1" -HKCR,http\shell\open\command,,2,"winebrowser" -HKCR,https\shell\open\command,,2,"winebrowser" +HKCR,http\shell\open\command,,2,"winebrowser /dde" +HKCR,http\shell\open\ddeexec,,2,"""%1""" +HKCR,http\shell\open\ddeexec\Application,,2,"WineBrowser" +HKCR,http\shell\open\ddeexec\Topic,,2,"WWW_OpenURL" +HKCR,https\shell\open\command,,2,"winebrowser /dde" +HKCR,https\shell\open\ddeexec,,2,"""%1""" +HKCR,https\shell\open\ddeexec\Application,,2,"WineBrowser" +HKCR,https\shell\open\ddeexec\Topic,,2,"WWW_OpenURL"
Why are you making DDE the default way for the ShellExecute command? That's not the case in the default Windows install. Also please make sure that the items of the Help menu in Picasa still work after your changes, as it was broken several times after attempts to change default registry setup or ShellExecute behaviour.
Yes help menu in Picasa works fine for me, tested this. If we can't use "winebrowser %1" then DDE _has_ to be the default, as native does not add %1 (see my conformance test in dlls/shell32/tests/shlexec.c, lines 1057 and 1058).
Also on my XP install, DDE _is_ default:
HKCR\http\shell\open\command is '"C:\Program Files\Internet Explorer\iexplore.exe" -nohome' HKCR\http\shell\open\ddeexec is '"%1",,-1,0,,,,' HKCR\http\shell\open\ddeexec\Application is 'IExplore' (I decided not to use IExplore, as if the user actually has IE installed and running URLs would open by default there, instead of with Winebrowser, and I wasn't sure this was the behavior we wanted) HKCR\http\shell\open\ddeexec\Topic is 'WWW_OpenURL'
What is your default? Perhaps it differs between different versions of windows or maybe even service packs/IE versions? Am I missing something?
Misha
On Mon, 2007-06-04 at 14:29 +0900, Dmitry Timoshkov wrote:
"Misha Koshelev" mk144210@bcm.edu wrote:
--- a/tools/wine.inf +++ b/tools/wine.inf @@ -134,8 +134,14 @@ HKCR,txtfile\shell\open\command,,2,"%11%\notepad.exe %1" HKCR,txtfile\shell\print\command,,2,"%11%\notepad.exe /p %1" HKCR,wrifile\shell\open\command,,2,"%11%\wordpad.exe %1" HKCR,wrifile\shell\print\command,,2,"%11%\wordpad.exe /p %1" -HKCR,http\shell\open\command,,2,"winebrowser" -HKCR,https\shell\open\command,,2,"winebrowser" +HKCR,http\shell\open\command,,2,"winebrowser /dde" +HKCR,http\shell\open\ddeexec,,2,"""%1""" +HKCR,http\shell\open\ddeexec\Application,,2,"WineBrowser" +HKCR,http\shell\open\ddeexec\Topic,,2,"WWW_OpenURL" +HKCR,https\shell\open\command,,2,"winebrowser /dde" +HKCR,https\shell\open\ddeexec,,2,"""%1""" +HKCR,https\shell\open\ddeexec\Application,,2,"WineBrowser" +HKCR,https\shell\open\ddeexec\Topic,,2,"WWW_OpenURL"
Why are you making DDE the default way for the ShellExecute command? That's not the case in the default Windows install. Also please make sure that the items of the Help menu in Picasa still work after your changes, as it was broken several times after attempts to change default registry setup or ShellExecute behaviour.
Btw the reason for the /dde parameter is simply so that if the user runs winebrowser from the command line he/she does not have to wait for the 5 second timeout before they get a usage message.
On windows there is no such parameter passed to iexplore (although -nohome is passed so it doesn't open a homepage) as iexplore will actually open a window that will then sit and wait for the DDE server request. Since winebrowser does no such thing, and will exit once it starts the appropriate unix browser, we have to have a timeout, but if we pass a special command line parameter we will know only to wait for a dde request if it is passed, so a commandline user can see his usage message right away.
Misha
"Misha Koshelev" mk144210@bcm.edu wrote:
Btw the reason for the /dde parameter is simply so that if the user runs winebrowser from the command line he/she does not have to wait for the 5 second timeout before they get a usage message.
On windows there is no such parameter passed to iexplore (although -nohome is passed so it doesn't open a homepage) as iexplore will actually open a window that will then sit and wait for the DDE server request. Since winebrowser does no such thing, and will exit once it starts the appropriate unix browser, we have to have a timeout, but if we pass a special command line parameter we will know only to wait for a dde request if it is passed, so a commandline user can see his usage message right away.
If you need a special command line parameter it should be named differently then. The behaviour should conform to what Windows does in that case. Just think of it as the winebrowser has been executed under Windows with its default registry setup, but winebrowser being a replacement for iexplore.
On Mon, 2007-06-04 at 15:02 +0900, Dmitry Timoshkov wrote:
"Misha Koshelev" mk144210@bcm.edu wrote:
Btw the reason for the /dde parameter is simply so that if the user runs winebrowser from the command line he/she does not have to wait for the 5 second timeout before they get a usage message.
On windows there is no such parameter passed to iexplore (although -nohome is passed so it doesn't open a homepage) as iexplore will actually open a window that will then sit and wait for the DDE server request. Since winebrowser does no such thing, and will exit once it starts the appropriate unix browser, we have to have a timeout, but if we pass a special command line parameter we will know only to wait for a dde request if it is passed, so a commandline user can see his usage message right away.
If you need a special command line parameter it should be named differently then. The behaviour should conform to what Windows does in that case. Just think of it as the winebrowser has been executed under Windows with its default registry setup, but winebrowser being a replacement for iexplore.
Thanks for the advice, submitted new patches. Btw, with the new patches this seems to start now too and not crash:
http://bugs.winehq.org/show_bug.cgi?id=7953
Misha