cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
rcatwork
Level 4

Error 6209: Regasm.exe cannot be located on your system

We just switched to use IS 2011 through MSBuild and we are seeing this error building a 64bit merge module.

The build machine is running 32bit Windows Server 2003. We build both 32bit and 64bit merge modules. The 32bit built fine. But the 64bit gave the above error.

I found this in the IS 2011 Release notes that
"
If you are building through MSBuild or Team Foundation Server (TFS) and
you use the existing DotNetFrameworkVersion parameter on the
InstallShield task to specify the path of the 32-bit version of the .NET
Framework, the build now uses the 64-bit location of Regasm.exe and
InstallUtilLib.dll when appropriate.
This feature resolves issue IOA-000056407.
"

So it looks like the build is trying to find the 64bit version of Regasm.exe, but couldn't.

I copied the 32bit Regasm.exe, Regasm.exe.config, and InstallUtilLib.dll to C:\Program Files\InstallShield\2011 Standalone Build\System and got the build to go through.

I don't really like this "hack". Is there a better/proper way to resolve this issue? Or is it a requirement to build 64bit Installshield projects with .NET components on 64bit OSes now?

Thanks.
Labels (1)
0 Kudos
(1) Reply
MichaelU
Level 12 Flexeran
Level 12 Flexeran

It's only a requirement if you're trying to dynamically extract information from executables in ways that might require them to run code. Use of regasm.exe can be purely metadata-driven, or it can run code, so we need to use the appropriate bitness.
0 Kudos