Wow64 Actions Plugin

The purpose of this plugin is to access folders controlled by the File System Redirector and to read and write registry keys that are subject to Registry Redirection, as found on 64-bit operating systems. The registry functions can also be used on 32-bit operating systems, as a direct replacement for the built-in actions.

The following actions are included:

  • DisableFsRedirection: Disables file system redirection for the calling thread;
  • RevertFsRedirection: Restores file system redirection for the calling thread;
  • RegistryCreateKey: Creates a "key" in the user's Registry;
  • RegistryDeleteKey: Deletes a single "key" from the user's Registry;
  • RegistryDeleteTree: Deletes a "key" and all its sub keys from the user's Registry;
  • RegistryDeleteValue: Deletes a "value" from the user's Registry;
  • RegistryDisableReflectionKey: Disables Registry reflection for a single key;
  • RegistryDoesKeyExist: Determines whether or not a particular Registry key exists;
  • RegistryEnableReflectionKey: Restores Registry reflection on a single key;
  • RegistryGetKeyNames: Returns a table containing the names of all of the sub keys for a particular key;
  • RegistryGetValue: Returns a specific Registry value's data;
  • RegistryGetValueNames: Returns a table containing all the values within a specific sub key;
  • RegistryGetValueType: Returns a specific Registry value's type;
  • RegistryQueryReflectionKey: Checks if Registry reflection is set for a key;
  • RegistrySetValue: Sets the data of a specific Registry value.

Redirected keys are mapped to physical locations under Wow6432Node. For example, HKLM\Software is redirected to HKLM\Software\Wow6432Node. However, the physical location of redirected keys should be considered reserved by the system. As the technical documentation alerts, applications should never access a key's physical location directly, because this location may change. Instead, you should always use the RegistryView parameter, which allows to set Wow64.KEY64 for operating on the 64-bit registry view, and Wow64.KEY32 for operating on the 32-bit registry view.

This plugin is very small and fast, and should be of considerable importance to developers that need to access 64-bit registry keys from a 32-bit application like Setup Factory, TrueUpdate or Visual Patch, or need to deploy a file bypassing the File System Redirector.

Quotes

“This plugin is awesome and solves all problems (or almost all) of AMS8 on 64-bit systems.”

“This plugin should be included by default in AutoPlay Media Studio 8.”

Requirements

Since version 1.0.1.0, this plugin can be loaded on Windows XP, Vista, Windows Server 2003 with SP1 or anything more recent than these operating systems. 

This plugin does not use any external scripts or executables. All actions performed by the plugin are mapped to the functions available in the operating system.

Download

Compatible with:
License: Emailware
Documentation: Deployed with installer, or zipped here
Forum post: Indigo Rose User Forums
Download link: Setup for Lua 5.0 AutoPlay Media Studio 7Setup FactoryTrueUpdateVisual Patch
Setup for Lua 5.1 AutoPlay Media Studio 8

Source code

The source code for this plugin can be purchased by developers or companies, if they want to modify it or inspect if there are no hidden backdoors. If you are interested, please use the contact form.

History

1.0.3.2

  • Changed binary compression settings for better compatibility.

1.0.3.0

  • New: Wow64.RegistryQueryReflectionKey() and Wow64.RegistryDeleteTree() added.

1.0.2.0

  • New: Wow64.RegistryDisableReflectionKey() and Wow64.RegistryEnableReflectionKey() added. These functions allow to control the registry reflection for a single key.

1.0.1.2

  • Fix: Wow64.RegistryDeleteKey() was not working correctly on the 64-bit view. RegDeleteKey is now used on the 32-bit view, and RegDeleteKeyEx on the 64-bit view of the registry.

1.0.1.1

  • Change: Wow64.RegistryGetValue() now returns an empty string upon failure, instead of nil.

1.0.1.0

1.0.0.1

  • Constants Wow64.KEY64 and Wow64.KEY32 defined.

1.0.0.0

  • Initial release, July 2010.