Regedit output to STDOUT / force registry files sync

Vit Hrachovy vit.hrachovy at sandbox.cz
Mon Mar 19 11:44:08 CDT 2007


On Mon, Mar 19, 2007 at 09:27:09AM -0700, Lei Zhang wrote:
> On 3/19/07, Vit Hrachovy <vit.hrachovy at sandbox.cz> wrote:
> >Hi,
> >I'm trying to find some elegant method to access registry keys added
> >during one WINE session, i.e. without restarting WINE.
> >
> >Test case description:
> >        1. Open WINE session
> >                wineconsole --backend=user cmd
> >        2. During session, insert some new registry key
> >                regedit new-entry.reg
> >        3. Try to access the new registry entry from bash
> >                cat ~/.wine/system.reg |grep AutoHotkey
> >                (fails)
> 
> Accessing the Wine registry directly is probably not the right way to
> do it, you should go through the Windows registry API calls, i.e.
> RegQueryValue.

I'm aware of that it's not the best way. 
According to the documentation at
http://winehq.org/site/docs/wineusr-guide/using-regedit
there are two ways to access the registry - using file access and using
regedit.

AFAIK what You mention these are C API calls. I'm trying to access 
the registry from PERL. If registry access should be done only via 
API calls, then there is Regedit tool which uses the API calls. 
That leads to the second point, enhancing regedit.

> 
> >        4. Close WINE session
> >
> >I've found there was at times an option to save registry periodically,
> >but this can't help me here.
> >
> >This problem can be solved in two ways, both of them can be helpful:
> >
> >a) Create small program to force sync of registry in memory with
> >registry files - 'wineflushregistry'.
> >
> >b) Enhance regedit to be able to output to STDOUT. By default registry
> >search output is done to a specified file. It can be redirected to
> >STDERR, though. (tested on 0.9.29, 0.9.33)
> >
> 
> If you can get it to go to stderr, why not just use shell redirection
> to redirect stderr to stdout?

Believe it or not, there are UNIXes without /dev/stderr and /dev/stdout.
Having regedit option to flush its output to STDOUT (and to get its
input from STDIN) would be very helpful - and in case of STDOUT output
very easy to implement.

Regards
Vit Hrachovy



More information about the wine-devel mailing list