Wise Installation Builder 7 - 64-bit Registry Script Actions
Created: 24 Jun 2009 | Updated: 14 Aug 2009 | 8 comments
Attached is a zip file that contains several user defined script actions to perform various registry functions in either the 32-bit (WOW6432Node) or 64-bit registries on 64-bit Windows.
The three user defined actions below are plug-in replacements for the built-in script actions, but add the ability to access the 64-bit registry. They do this by using VBScript and WMI calls. Note that the dialog lacks the nice tree style regkey selector of the built-in actions, and can only address a single key/value.
- UDA Get Registry key.wse retrieves a registry key from the 32-bit (WOW) or 64-bit registry.
- UDA Edit Registry key.wse modifies a registry key in the 32-bit (WOW) 64-bit registry.
- UDA Enumerate Registry Key.wse enumerates the subkeys of the given key in the 32-bit (WOW) or 64-bit registry.
The following scripts build upon the scripts above to perform some AutoCAD specific registry functions.
- UDA Enumerate Acads.wse enumerates all flavors of the selected version of AutoCAD. For example if you want to enumerate all flavors of AutoCAD version 2008 installed on a machine, it will find, AutoCAD, AutoCAD Map, and AutoCAD Civil 3D, if they are installed.
- UDA Enumerate Acads1.wse is the same as above except that it allows you to select multiple versions of AutoCAD to enumerate.
- UDA Enumerate AutoCAD Profiles.wse finds all the user profiles for a given AutoCAD.
I hope these prove useful to others.
Sincerely,
Gene Evans
Woolpert, Inc.
Download Filed Under:
Comments 8 Comments • Jump to latest comment
Hi,
I changed the UDA Registry* scripts so that they use %WISE% so they will work if you put them in the normal Actions folder.
I also had to fix the UDA Enumerate Registry Keys.wse by adding underscores before REGROOT for the dialog (compare it to the Get Registry Key script) and I think I fixed some other things that I forgot about.
This stuff work for me under Vista Ultimate 64-bit and XP SP3 32-bit; however, these are not warranted in any way.
Albert
Hi,
I had problems using the Multi String option. It said "Type mismatch occurred". I found out that the SetMultiStringValue Method, which is being used inside the UDA VBScript, expects an array of string. So I casted the strValue to Array(strValue) and the problem was solved.
I posted the modified UDA package, so you can use it, if you have the same problem.
Regards
Rix
This is way over my head. I have been using Wise Install Builder for years, but I never quite got making it work on 32 bit & 64 bit.
Can anybody help?
And if so, how? Are there directions for how to use this that are missing from the zip file?
If I compile the Wise script to an exe, all it does for me is open a Wise dialog: Get Registry Key Value.
I'm struggling to try to figure out how I can use Wise Package Studio to get registry values on a 64-bit PC and had hoped this would help. Thanks.
Post Removed. Needs Some Additional Testing on Windows XP x64.
To use the UDAs above just unpack the files from the zip file to your "WiseScript Package Editor\Actions" folder. Restart your WiseScript Package Editor and you should be able to call the new functions starting with the token "UDA".
Make sure you are using WiseScript Package Editor (part of Wise Installation Studio 7) or above. These UDAs won't work with Wise Installation System 9 because it has no support for VBScript.
Can't get this to work and am wondering if I'm doing something wrong. I'm using WiseScript Package Editor (part of Wise Package Studio 8) on a 64-bit Windows XP box.
The package I'm creating needs to differentiate between 64-bit and 32-bit PCs, and if 64-bit is found, edit the registry accordingly in the "Active Setup" area. In my initial testing, the reg edits were being created under the Wow6432Node key (HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components).
I really want the reg edits to go to HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components.
I added the code for the UDA, but the reg edits still get written to the Wow6432Node key. Any advice?
I've copied the UDA Wise script and VBScript to the appropriate folder on my PC. Here's the Wise Script code I'm using:
item: Get System Information
Variable=X64
Flags=00011000
end
item: If/While Statement
Variable=X64
Value=1
end
item: Custom Script Item
Filename=UDA Edit Registry Key Value.wse
Variable Name1=REGVALTYPE
Variable Value1=B
Variable Name2=_REGVALTYPE
Variable Value2=REG_SZ
Variable Name3=REGVALNAME
Variable Value3=StubPath
Variable Name4=BIT
Variable Value4=64-bit
Variable Name5=_REGROOT
Variable Value5=HKEY_LOCAL_MACHINE
Variable Name6=REGROOT
Variable Value6=C
Variable Name7=OPERATION
Variable Value7=A
Variable Name8=REGKEY
Variable Value8=SOFTWARE\Microsoft\Active Setup\Installed Components\TFS_SearchPlugin
Variable Name9=VALUE
Variable Value9=%DOCS%\TFS_SearchPlugin\PerUserFileCopy.exe
Variable Name10=REGSEARCHTYPE
Variable Value10=A
end
item: Custom Script Item
Filename=UDA Edit Registry Key Value.wse
Variable Name1=REGVALTYPE
Variable Value1=B
Variable Name2=_REGVALTYPE
Variable Value2=REG_SZ
Variable Name3=REGVALNAME
Variable Value3=Version
Variable Name4=BIT
Variable Value4=64-bit
Variable Name5=_REGROOT
Variable Value5=HKEY_LOCAL_MACHINE
Variable Name6=REGROOT
Variable Value6=C
Variable Name7=OPERATION
Variable Value7=A
Variable Name8=REGKEY
Variable Value8=SOFTWARE\Microsoft\Active Setup\Installed Components\TFS_SearchPlugin
Variable Name9=VALUE
Variable Value9=1
Variable Name10=REGSEARCHTYPE
Variable Value10=A
end
item: Remark
end
item: Custom Script Item
Filename=UDA Edit Registry Key Value.wse
Variable Name1=REGVALTYPE
Variable Value1=B
Variable Name2=REGVALNAME
Variable Value2=StubPath
Variable Name3=_REGVALTYPE
Variable Value3=REG_SZ
Variable Name4=BIT
Variable Value4=64-bit
Variable Name5=REGROOT
Variable Value5=C
Variable Name6=_REGROOT
Variable Value6=HKEY_LOCAL_MACHINE
Variable Name7=REGKEY
Variable Value7=SOFTWARE\Microsoft\Active Setup\Installed Components\TFS_SearchPlugin_RegEdit
Variable Name8=OPERATION
Variable Value8=A
Variable Name9=REGSEARCHTYPE
Variable Value9=A
Variable Name10=VALUE
Variable Value10=%DOCS%\TFS_SearchPlugin\TFS_regedit.exe
end
item: Custom Script Item
Filename=UDA Edit Registry Key Value.wse
Variable Name1=REGVALTYPE
Variable Value1=B
Variable Name2=REGVALNAME
Variable Value2=Version
Variable Name3=_REGVALTYPE
Variable Value3=REG_SZ
Variable Name4=BIT
Variable Value4=64-bit
Variable Name5=REGROOT
Variable Value5=C
Variable Name6=_REGROOT
Variable Value6=HKEY_LOCAL_MACHINE
Variable Name7=REGKEY
Variable Value7=SOFTWARE\Microsoft\Active Setup\Installed Components\TFS_SearchPlugin_RegEdit
Variable Name8=OPERATION
Variable Value8=A
Variable Name9=REGSEARCHTYPE
Variable Value9=A
Variable Name10=VALUE
Variable Value10=1
end
item: Else Statement
end
item: Remark
end
item: Remark
Text=otherwwise use x86 Active Setup solution
end
I needed this functionality in Win7-64 and it worked great.
Thanks evansg98!
Would you like to reply?
Login or Register to post your comment.