On Tue, Oct 31, 2017 at 6:27 PM, Zebediah Figura z.figura12@gmail.com wrote:
Same as we do with winecfg. This should help to eliminate some confusion with users who may want to edit keys with WOW64 redirection (e.g. Software\Wine\Drives).
Signed-off-by: Zebediah Figura z.figura12@gmail.com
programs/regedit/main.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
diff --git a/programs/regedit/main.c b/programs/regedit/main.c index 8f82580..460a951 100644 --- a/programs/regedit/main.c +++ b/programs/regedit/main.c @@ -24,10 +24,13 @@ #include <stdlib.h> #include <stdio.h> #include <fcntl.h> +#include "wine/debug.h"
#define REGEDIT_DECLARE_FUNCTIONS #include "main.h"
+WINE_DEFAULT_DEBUG_CHANNEL(regedit);
WCHAR g_pszDefaultValueName[64];
BOOL ProcessCmdLine(WCHAR *cmdline); @@ -138,11 +141,36 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLi { MSG msg; HACCEL hAccel;
BOOL is_wow64;
if (ProcessCmdLine(GetCommandLineW())) { return 0; }
if (IsWow64Process( GetCurrentProcess(), &is_wow64 ) && is_wow64)
{
STARTUPINFOW si;
PROCESS_INFORMATION pi;
WCHAR filename[MAX_PATH];
void *redir;
DWORD exit_code;
memset( &si, 0, sizeof(si) );
si.cb = sizeof(si);
GetModuleFileNameW( 0, filename, MAX_PATH );
Wow64DisableWow64FsRedirection( &redir );
if (CreateProcessW( filename, GetCommandLineW(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi ))
{
WINE_TRACE( "restarting %s\n", wine_dbgstr_w(filename) );
WaitForSingleObject( pi.hProcess, INFINITE );
GetExitCodeProcess( pi.hProcess, &exit_code );
ExitProcess( exit_code );
}
else WINE_ERR( "failed to restart 64-bit %s, err %d\n", wine_dbgstr_w(filename), GetLastError() );
Wow64RevertWow64FsRedirection( redir );
}
/* Initialize global strings */ LoadStringW(hInstance, IDS_APP_TITLE, szTitle, COUNT_OF(szTitle)); LoadStringW(hInstance, IDS_REGISTRY_DEFAULT_VALUE, g_pszDefaultValueName, COUNT_OF(g_pszDefaultValueName));
-- 2.7.4
How should we expect users to edit the 32-bit entries then? Through Wow6432node or some other way?
On 10/31/2017 07:00 PM, Austin English wrote:
How should we expect users to edit the 32-bit entries then? Through Wow6432node or some other way?
That was the idea. This gives users a way to edit both entries, although certainly there aren't that many that are redirected in the first place (and those that are, we should often share or symlink).
If you think this would make things more difficult, though, I'd be willing to accept that argument.
On Tue, Oct 31, 2017 at 7:05 PM, Zebediah Figura z.figura12@gmail.com wrote:
On 10/31/2017 07:00 PM, Austin English wrote:
How should we expect users to edit the 32-bit entries then? Through Wow6432node or some other way?
That was the idea. This gives users a way to edit both entries, although certainly there aren't that many that are redirected in the first place (and those that are, we should often share or symlink).
If you think this would make things more difficult, though, I'd be willing to accept that argument.
I think this is more intuitive for users, so I'm in favor. I just wanted to confirm so that I can adjust winetricks appropriately if it's merged.