At 20.24 10/01/2003 +0200, Shachar Shemesh wrote:
Alberto Massari wrote:
[...]
BTW, do you need any help on this task?
"Need" is a strong term. I can complete the task on my own, but your help will be most welcome (in other words, if there is another aread of Wine that needs your attention and noone seems to be working on, that would be a better use of everyone's time). If you want to help with wineboot, I think the best place to start is with the "win.ini" processing, and then to port Andy's function to run whole "run" keys to the new prog.
If you do decide to help with wineboot, please email me in private when starting to work on each activity, to prevent "competition" on writing stuff in.
Unfortunately I'm currently fully booked on trying to fix the bugs that prevent ole32 and shell32 from working with IE6; but installing IE6 needs a working wineboot, so, whenever I succeed in the first task, I will start working on wineboot.
Alberto
Alberto Massari wrote:
Unfortunately I'm currently fully booked on trying to fix the bugs that prevent ole32 and shell32 from working with IE6; but installing IE6 needs a working wineboot, so, whenever I succeed in the first task, I will start working on wineboot.
Alberto
Ok, so let's do something else.
Can you tell me which wineboot functions are most important for IE6 to load, and I'll upgrade their priority?
Shachar
At 11.49 13/01/2003 +0200, Shachar Shemesh wrote:
Alberto Massari wrote:
Unfortunately I'm currently fully booked on trying to fix the bugs that prevent ole32 and shell32 from working with IE6; but installing IE6 needs a working wineboot, so, whenever I succeed in the first task, I will start working on wineboot.
Alberto
Ok, so let's do something else.
Can you tell me which wineboot functions are most important for IE6 to load, and I'll upgrade their priority?
The installation of IE6 makes an heavy use of the RunOnce and RunOnceEx registry keys (when in "nt40" mode; I don't know how it behaves in win9x mode). The RunOnce entries are just command lines that need to be sent to CreateProcess, e.g.
[Software\Microsoft\Windows\CurrentVersion\RunOnce] 1042410063 "BrandClearStubs"="RUNDLL32 IEDKCS32.DLL,BrandCleanInstallStubs >{60B49E34-C7CC-11D0-8953-00A0C90347FF}M ICROS" "DelIE4SetupDir"="rundll32.exe advpack.dll,DelNodeRunDLL32 C:\WINDOWS\SYSTEM\ie4setup,1" "GrpConv"="grpconv.exe -o" "InnoSetupRegFile.0000000001"="C:\WINDOWS\is-K6KCV.exe /REG" "InstMsi1"="rundll32.exe C:\WINDOWS\SYSTEM\advpack.dll,DelNodeRunDLL32 "C:\WINDOWS\Installer\InstMsi0"" "InstMsi2"="rundll32.exe C:\WINDOWS\SYSTEM\advpack.dll,DelNodeRunDLL32 "C:\WINDOWS\Installer\InstMsi1"" "MPlayer2_FixUp"="C:\WINDOWS\inf\unregmp2.exe /FixUps" "OE_QDVDReg"="regsvr32 /s C:\WINDOWS\SYSTEM\qdvd.dll" "Regsister WScript"="wscript -regserver" "RegTLib"="C:\WINDOWS\RegTLib.exe C:\WINDOWS\SYSTEM\StdOle2.Tlb" "RunOnceEx"="rundll32.exe C:\WINDOWS\SYSTEM\iernonce.dll,RunOnceExProcess"
The RunOnceEx entries are trickier, as it seems they can both be command lines and entries in the format "DLLName|Method|Argument", e.g.
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx] 1042410240 "Flags"=dword:00000a30
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx\090] 1038264583 "050"="rundll32.exe advpack.dll,DelNodeRunDLL32 C:\WINDOWS\SYSTEM\dacui.dll" "054"="rundll32.exe advpack.dll,DelNodeRunDLL32 C:\WINDOWS\Catroot\icatalog.mdb"
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx\100] 1038264583 "000"="C:\WINDOWS\SYSTEM\wininet.dll|DeleteIE3Cache|" "001"="C:\WINDOWS\SYSTEM\setupwbv.dll|SetDefBrowserInfo|" "005"="C:\WINDOWS\SYSTEM\atl.dll|DllRegisterServer" ... [Software\Microsoft\Windows\CurrentVersion\RunOnceEx\500] 1038264583 "002"="C:\WINDOWS\SYSTEM\digest.dll|DllInstall|i,HKLM" "003"="C:\WINDOWS\SYSTEM\wininet.dll|DllInstall|i,HKLM" "010"="C:\WINDOWS\SYSTEM\urlmon.dll|DllInstall|i,HKLM"
Alberto
Alberto Massari wrote:
The installation of IE6 makes an heavy use of the RunOnce and RunOnceEx registry keys (when in "nt40" mode; I don't know how it behaves in win9x mode). The RunOnce entries are just command lines that need to be sent to CreateProcess, e.g.
...
The RunOnceEx entries are trickier, as it seems they can both be command lines and entries in the format "DLLName|Method|Argument", e.g.
Fortunetly, Andy did a very good work of documenting the knowledge bases that explain these values. We may have to write the "runonce" utility, but that's no too big a deal either (assuming we get the command lines in order).
I am a little worried about the concept of a session. I'm still pondering how to tackle that one. I'll let the list know when I have more info. I can give a rough estimate of two more weeks for full support of the various run keys, including RunOneEx.
We will have to take care of the whole "reboot" concept as well. Something like what crossover are doing is nice, but I'm not it's the best way to go. Again, that is a little secondary, as even getting people to manually run "wineboot" is not such big a problem, assuming everything works afterwards.
Shachar
I dont think all the jeys you have in RunOnce are from IE6 only. Does IE6 really uses MSI ? I never have seen it. Not that the "InstMsi1" and "InstMsi2" show that you made TWO tries to install the MSI service.
Dont forget to clean your RunOnce Entries between installations.
And the
"OE_QDVDReg"="regsvr32 /s C:\WINDOWS\SYSTEM\qdvd.dll" "InnoSetupRegFile.0000000001"="C:\WINDOWS\is-K6KCV.exe /REG"
dont come with IE6
The installation of IE6 makes an heavy use of the RunOnce and RunOnceEx registry keys (when in "nt40" mode; I don't know how it behaves in win9x mode). The RunOnce entries are just command lines that need to be sent to CreateProcess, e.g.
[Software\Microsoft\Windows\CurrentVersion\RunOnce] 1042410063 "BrandClearStubs"="RUNDLL32 IEDKCS32.DLL,BrandCleanInstallStubs
{60B49E34-C7CC-11D0-8953-00A0C90347FF}M
ICROS" "DelIE4SetupDir"="rundll32.exe advpack.dll,DelNodeRunDLL32 C:\WINDOWS\SYSTEM\ie4setup,1" "GrpConv"="grpconv.exe -o" "InstMsi1"="rundll32.exe C:\WINDOWS\SYSTEM\advpack.dll,DelNodeRunDLL32 "C:\WINDOWS\Installer\InstMsi0"" "InstMsi2"="rundll32.exe C:\WINDOWS\SYSTEM\advpack.dll,DelNodeRunDLL32 "C:\WINDOWS\Installer\InstMsi1"" "MPlayer2_FixUp"="C:\WINDOWS\inf\unregmp2.exe /FixUps" "Regsister WScript"="wscript -regserver" "RegTLib"="C:\WINDOWS\RegTLib.exe C:\WINDOWS\SYSTEM\StdOle2.Tlb" "RunOnceEx"="rundll32.exe C:\WINDOWS\SYSTEM\iernonce.dll,RunOnceExProcess"
We only need to check if the first filename given is a readable EXE/DLL. Then do the appropriate. And you can see that the only executable that seems to be called is rundll32.exe. The only thing that we know nothing about is the "Flags" key.
The RunOnceEx entries are trickier, as it seems they can both be command lines and entries in the format "DLLName|Method|Argument", e.g.
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx] 1042410240 "Flags"=dword:00000a30
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx\090] 1038264583 "050"="rundll32.exe advpack.dll,DelNodeRunDLL32 C:\WINDOWS\SYSTEM\dacui.dll" "054"="rundll32.exe advpack.dll,DelNodeRunDLL32 C:\WINDOWS\Catroot\icatalog.mdb"
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx\100] 1038264583 "000"="C:\WINDOWS\SYSTEM\wininet.dll|DeleteIE3Cache|"
===== Sylvain Petreolle spetreolle@users.sourceforge.net Fight against Spam ! http://www.euro.cauce.org/en/index.html ICQ #170597259
"Don't think you are. Know you are." Morpheus, in "Matrix".
___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com
At 13.56 13/01/2003 +0100, Sylvain Petreolle wrote:
I dont think all the jeys you have in RunOnce are from IE6 only. Does IE6 really uses MSI ? I never have seen it. Not that the "InstMsi1" and "InstMsi2" show that you made TWO tries to install the MSI service.
Dont forget to clean your RunOnce Entries between installations.
Yes, there are keys coming from other installation tools, as I don't usually clear the RunOnce entries (because I need to manually run one by one). In any case, they can only help in having more examples of how a real registry looks like.
And the
"OE_QDVDReg"="regsvr32 /s C:\WINDOWS\SYSTEM\qdvd.dll" "InnoSetupRegFile.0000000001"="C:\WINDOWS\is-K6KCV.exe /REG"
dont come with IE6
The installation of IE6 makes an heavy use of the RunOnce and RunOnceEx registry keys (when in "nt40" mode; I don't know how it behaves in win9x mode). The RunOnce entries are just command lines that need to be sent to CreateProcess, e.g.
[Software\Microsoft\Windows\CurrentVersion\RunOnce] 1042410063 "BrandClearStubs"="RUNDLL32 IEDKCS32.DLL,BrandCleanInstallStubs
{60B49E34-C7CC-11D0-8953-00A0C90347FF}M
ICROS" "DelIE4SetupDir"="rundll32.exe advpack.dll,DelNodeRunDLL32 C:\WINDOWS\SYSTEM\ie4setup,1" "GrpConv"="grpconv.exe -o" "InstMsi1"="rundll32.exe C:\WINDOWS\SYSTEM\advpack.dll,DelNodeRunDLL32 "C:\WINDOWS\Installer\InstMsi0"" "InstMsi2"="rundll32.exe C:\WINDOWS\SYSTEM\advpack.dll,DelNodeRunDLL32 "C:\WINDOWS\Installer\InstMsi1"" "MPlayer2_FixUp"="C:\WINDOWS\inf\unregmp2.exe /FixUps" "Regsister WScript"="wscript -regserver" "RegTLib"="C:\WINDOWS\RegTLib.exe C:\WINDOWS\SYSTEM\StdOle2.Tlb" "RunOnceEx"="rundll32.exe C:\WINDOWS\SYSTEM\iernonce.dll,RunOnceExProcess"
We only need to check if the first filename given is a readable EXE/DLL. Then do the appropriate. And you can see that the only executable that seems to be called is rundll32.exe.
No, there are also C:\WINDOWS\RegTLib.exe and grpconv.exe...
The only thing that we know nothing about is the "Flags" key.
Right.
Alberto
We only need to check if the first filename given is a readable EXE/DLL. Then do the appropriate. And you can see that the only executable
that
seems to be called is rundll32.exe.
No, there are also C:\WINDOWS\RegTLib.exe and grpconv.exe...
You misunderstood me. I described this test only for RunOnceEx. RegTLib and grpconv both are in the RunOnce entries.
===== Sylvain Petreolle spetreolle@users.sourceforge.net Fight against Spam ! http://www.euro.cauce.org/en/index.html ICQ #170597259
"Don't think you are. Know you are." Morpheus, in "Matrix".
___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com
At 14.39 13/01/2003 +0100, Sylvain Petreolle wrote:
We only need to check if the first filename given is a readable EXE/DLL. Then do the appropriate. And you can see that the only executable
that
seems to be called is rundll32.exe.
No, there are also C:\WINDOWS\RegTLib.exe and grpconv.exe...
You misunderstood me. I described this test only for RunOnceEx. RegTLib and grpconv both are in the RunOnce entries.
Unfortunately that's not true: even in RunOnceEx, I can find these entries:
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx\101] 1039630031 @="Browsing Services" ... "034"="C:\WINDOWS\SYSTEM\mshta.exe /register" ...
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx\990] 1038264623 "000"="C:\WINDOWS\SYSTEM\mstinit.exe /setup" "001"="rundll32 msnsspc.dll,SspcCreateSspiReg" "002"="rundll32 msapsspc.dll,SspcCreateSspiReg" "050"="C:\WINDOWS\SYSTEM\odbcconf.exe -E @E:\odbcconf.tmp"
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx\991] 1038264598 "000"="C:\WINDOWS\SYSTEM\regsvr32.exe /s C:\WINDOWS\SYSTEM\rsaenh.dll"
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx\992] 1039630036 "000"="C:\WINDOWS\SYSTEM\mstinit.exe /setup"
In my opinion, the test should be done on the presence of the "|" character; if the character is present, the file name should be considered to be a DLL (regardless of the extension: e.g.
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx\812] 1038264695 "000"="C:\WINDOWS\SYSTEM\l3codecx.ax|DllRegisterServer" "001"="C:\WINDOWS\SYSTEM\mpg4ds32.ax|DllRegisterServer" "002"="C:\WINDOWS\SYSTEM\msadds32.ax|DllRegisterServer" "003"="C:\WINDOWS\SYSTEM\acelpdec.ax|DllRegisterServer" "004"="C:\WINDOWS\SYSTEM\voxmsdec.ax|DllRegisterServer"
), otherwise is a normal command line.
Alberto
Do you know exactly _when_ it must be called ? Before or after RunOnce ?
Unfortunately that's not true: even in RunOnceEx, I can find these entries:
<snip>
In my opinion, the test should be done on the presence of the "|" character; if the character is present, the file name should be considered to be a DLL (regardless of the extension: e.g.
Shouldn't we check the type of the binary ?
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx\812] 1038264695 "000"="C:\WINDOWS\SYSTEM\l3codecx.ax|DllRegisterServer" "001"="C:\WINDOWS\SYSTEM\mpg4ds32.ax|DllRegisterServer" "002"="C:\WINDOWS\SYSTEM\msadds32.ax|DllRegisterServer" "003"="C:\WINDOWS\SYSTEM\acelpdec.ax|DllRegisterServer" "004"="C:\WINDOWS\SYSTEM\voxmsdec.ax|DllRegisterServer"
), otherwise is a normal command line.
Alberto
===== Sylvain Petreolle spetreolle@users.sourceforge.net Fight against Spam ! http://www.euro.cauce.org/en/index.html ICQ #170597259
"Don't think you are. Know you are." Morpheus, in "Matrix".
___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com
Sylvain Petreolle wrote:
Do you know exactly _when_ it must be called ? Before or after RunOnce ?
Even if noone here knows, it shouldn't be too difficult to find out.
In my opinion, the test should be done on the presence of the "|" character; if the character is present, the file name should be considered to be a DLL (regardless of the extension: e.g.
Shouldn't we check the type of the binary ?
Again, good points. When the time comes I'll check what the windows version does. If someone thinks they'll have the time for it before that, and they don't know how to test that, contact me.
Shachar
At 20.06 13/01/2003 +0200, Shachar Shemesh wrote:
Sylvain Petreolle wrote:
Do you know exactly _when_ it must be called ? Before or after RunOnce ?
Even if noone here knows, it shouldn't be too difficult to find out.
This web pages (http://www.greatis.com/regrun3startuporder.htm ) lists RunOnceEx after Run
Alberto
In my opinion, the test should be done on the presence of the "|" character; if the character is present, the file name should be considered to be a DLL (regardless of the extension: e.g.
Shouldn't we check the type of the binary ?
Again, good points. When the time comes I'll check what the windows version does. If someone thinks they'll have the time for it before that, and they don't know how to test that, contact me.
Shachar
At 18.55 13/01/2003 +0100, Sylvain Petreolle wrote:
Do you know exactly _when_ it must be called ? Before or after RunOnce ?
No idea.... BTW, I've found this article that explains something about RunOnceEx: http://www.jsifaq.com/SUBG/TIP3300/rh3320.htm
Alberto
Unfortunately that's not true: even in RunOnceEx, I can find these entries:
<snip> > In my opinion, the test should be done on the presence of the "|" > character; if the character is present, the file name should be > considered > to be a DLL (regardless of the extension: e.g. Shouldn't we check the type of the binary ?
[Software\Microsoft\Windows\CurrentVersion\RunOnceEx\812] 1038264695 "000"="C:\WINDOWS\SYSTEM\l3codecx.ax|DllRegisterServer" "001"="C:\WINDOWS\SYSTEM\mpg4ds32.ax|DllRegisterServer" "002"="C:\WINDOWS\SYSTEM\msadds32.ax|DllRegisterServer" "003"="C:\WINDOWS\SYSTEM\acelpdec.ax|DllRegisterServer" "004"="C:\WINDOWS\SYSTEM\voxmsdec.ax|DllRegisterServer"
), otherwise is a normal command line.
Alberto
===== Sylvain Petreolle spetreolle@users.sourceforge.net Fight against Spam ! http://www.euro.cauce.org/en/index.html ICQ #170597259
"Don't think you are. Know you are." Morpheus, in "Matrix".
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com