Chris Morgan wrote:
The best documentation I've found thus far for inf files, http://www.leeos.com/infdoc.html#Top, doesn't have anything about running programs from inside of an inf file. If this is possible it would probably make more sense to have the inf file register the dlls.
The way to have an INF run a file is by registering it with (if I recall correctly - it has been over four years now) RunOnceEx/Setup in the registry. For those who don't follow - RunOnceEx/Setup is a list of programs to run, executed synchroniously (i.e. - one does not start until the previous one exits), and displaying a small window showing where we are along the process). This brings up a small window with the list of tasks to carry out immediatly after the INF processing is done. There are two problems with this approach: 1. While RunOnceEx/Setup is being processed after each login, the mechanism that runs it after INF processing has always been a mystery to me. I have found no method, other than running an INF, of triggering a processing of RunOnceEx/Setup. 2. Wine(boot) does not currently handle that at all. We currently rely on some helper application that does that for us, that usually gets installed as part of the IE installation.
The combination of 1+2 means that it'll probably take some time for Wine's INF processing to work like Windows on this one.
I spoke with Brian Vincent last night on #winehackers and he mentioned the inf sections RunPreSetupCommands/RunPostSetupCommands. These appear to be pretty new, I found them on msdn at http://www.microsoft.com/technet/treeview/default.asp?url=/technet/prodtechn... . This other page mentions them as well http://www.crucifer.net/INF_Web/advinf.htm#runpre.
These inf sections don't appear to be handled in wine atm but it appears to be just what we need to perform each one of the 'rundll32 some.dll' commands.
Thanks, Chris
On Sunday 15 February 2004 05:54 am, Shachar Shemesh wrote:
Chris Morgan wrote:
The best documentation I've found thus far for inf files, http://www.leeos.com/infdoc.html#Top, doesn't have anything about running programs from inside of an inf file. If this is possible it would probably make more sense to have the inf file register the dlls.
The way to have an INF run a file is by registering it with (if I recall correctly - it has been over four years now) RunOnceEx/Setup in the registry. For those who don't follow - RunOnceEx/Setup is a list of programs to run, executed synchroniously (i.e. - one does not start until the previous one exits), and displaying a small window showing where we are along the process). This brings up a small window with the list of tasks to carry out immediatly after the INF processing is done. There are two problems with this approach:
- While RunOnceEx/Setup is being processed after each login, the
mechanism that runs it after INF processing has always been a mystery to me. I have found no method, other than running an INF, of triggering a processing of RunOnceEx/Setup. 2. Wine(boot) does not currently handle that at all. We currently rely on some helper application that does that for us, that usually gets installed as part of the IE installation.
The combination of 1+2 means that it'll probably take some time for Wine's INF processing to work like Windows on this one.
--- Chris Morgan cmorgan@alum.wpi.edu wrote:
These inf sections don't appear to be handled in wine atm but it appears to be just what we need to perform each one of the 'rundll32 some.dll' commands.
We have a patch for this in the ReactOS tree its just not quite ready yet. It for InstallHInfSection right? It should be ready in a few weeks. Once its done I will submit a patch to wine-patches.
Thanks Steven
__________________________________ Do you Yahoo!? Yahoo! Finance: Get your refund fast by filing online. http://taxes.yahoo.com/filing.html
I actually already sent in a patch for InstallHinfSection(). You guys should submit your changes to wine when you put them in Reactos, duplicating work is foolish.
The sections I'd like to use are the RunPreSetupCommands/RunPostSetupCommands ones. These execute programs before and after the installation of an inf file is processed, at least as far as I can tell. This would allow for running the rundll32 commands to register dll's.
Chris
On Sunday 15 February 2004 03:36 pm, Steven Edwards wrote:
--- Chris Morgan cmorgan@alum.wpi.edu wrote:
These inf sections don't appear to be handled in wine atm but it appears to be just what we need to perform each one of the 'rundll32 some.dll' commands.
We have a patch for this in the ReactOS tree its just not quite ready yet. It for InstallHInfSection right? It should be ready in a few weeks. Once its done I will submit a patch to wine-patches.
Thanks Steven
Do you Yahoo!? Yahoo! Finance: Get your refund fast by filing online. http://taxes.yahoo.com/filing.html
Alright, here is another revision of the patch this time using the RegisterDlls section to register the dlls. The new inf file can be processed by running:
programs/rundll32/rundll32 setupapi,InstallHinfSection DefaultInstall 132 ./default.inf
Brian Vincent added the NLS and Telephony\Country List sections so the inf file should be pretty close to complete. I'd imagine several registry keys were missed although I'm not sure how to tell except by manual inspection of winedefault.reg vs. the registry after installing the inf.
I left in the implementations for RunPre/PostSetupCommands sections. I can't find anything on msdn about these sections but I've found several references to them by googling. There seems to be some connection to advpack.dll.
Comments, questions, patches welcome ;-)
Thanks, Chris
On Sunday 15 February 2004 05:24 pm, Chris Morgan wrote:
I actually already sent in a patch for InstallHinfSection(). You guys should submit your changes to wine when you put them in Reactos, duplicating work is foolish.
The sections I'd like to use are the RunPreSetupCommands/RunPostSetupCommands ones. These execute programs before and after the installation of an inf file is processed, at least as far as I can tell. This would allow for running the rundll32 commands to register dll's.
Chris
On Sunday 15 February 2004 03:36 pm, Steven Edwards wrote:
--- Chris Morgan cmorgan@alum.wpi.edu wrote:
These inf sections don't appear to be handled in wine atm but it appears to be just what we need to perform each one of the 'rundll32 some.dll' commands.
We have a patch for this in the ReactOS tree its just not quite ready yet. It for InstallHInfSection right? It should be ready in a few weeks. Once its done I will submit a patch to wine-patches.
Thanks Steven
Do you Yahoo!? Yahoo! Finance: Get your refund fast by filing online. http://taxes.yahoo.com/filing.html