TIP #362: Simple 32 and 64 bit Registry Support


TIP:362
Title:Simple 32 and 64 bit Registry Support
Version:$Revision: 1.9 $
Authors: Damon Courtney <damon at tclhome dot com>
Kevin Kenny <kevin dot b dot kenny at gmail dot com>
State:Final
Type:Project
Tcl-Version:8.6
Vote:Done
Created:Monday, 01 March 2010
Keywords:Windows, Tcl

Abstract

Add new options to the registry command on Windows to allow it to specify that the action should be taken specifically on the 32 or 64 bit registry.

Rationale

When Microsoft created a 64 bit version of Windows they had this idea of separating certain areas of the registry into a new node for 32 bit programs to access. The idea was that 64 bit programs would use the standard keys while 32 bit programs living in the 64 bit world would have their registry access shuffled off to a separate node behind their backs. By default, a 32 bit program will get the 32 bit registry node and a 64 bit program will get the 64 bit nodes, and in Tcl, this is what we're currently left to. It is possible to specify which registry you want to use through flags to the various registry commands, Tcl's registry command just doesn't know anything about them currently.

Specification

The registry command will receive two new (mutually exclusive) options to specify that the given registry command should be executed against the 32 bit or 64 bit registry. The proposed implementation is the addition of a -32bit and a -64bit option, one of which may be placed before the subcommand like so:

package require registry 1.3

registry ?-32bit|-64bit? subcommand ?options?

By default, no option will mean that the registry command does what it has always done, which is to operate on the registry that matches the current compiled version of the running Tcl. Specifying -32bit means to operate on the 32 bit registry regardless of the current binary, and -64bit means to operate on the 64 bit registry. The options will be supported by all subcommands of registry.

Concurrently with this change, the version number of the registry package will be advanced to 1.3.

Reference Implementation

See Patch #2960976 at SourceForge [1].

Copyright

This document has been placed in the public domain.


Powered by Tcl[Index] [History] [HTML Format] [Source Format] [LaTeX Format] [Text Format] [XML Format] [*roff Format (experimental)] [RTF Format (experimental)]

TIP AutoGenerator - written by Donal K. Fellows