Consultor Eletrônico



Kbase P185157: Cannot Update Assembly References on 64-bit Windows platforms
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   18/04/2011
Status: Unverified

SYMPTOM(s):


Cannot Update Assembly References on 64-bit Windows platforms

Selecting "OpenEdge -> Migration -> Update Assembly References" results in an exception "System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)"

Running updasmref.exe from command line also fails as soon as an assemblies.xml is loaded

Full Exception details:

************** Exception Text **************
System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at Progress.UpgradeAssemblyTool.UpdAsmRefUtilities.getVersion(StringBuilder verstr, Int32 len)
at Progress.UpgradeAssemblyTool.UpdAsmRefUtilities.GetOpenEdgeVersion()
at Progress.UpgradeAssemblyTool.UpdAsmRefUtilities.GetDefaultUltraControlVersion()
at Progress.UpgradeAssemblyTool.UpdateAssemblyDialog.fillOEControlVersion()
at Progress.UpgradeAssemblyTool.UpdateAssemblyDialog.UpdateAssemblyDialog_Activated(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnActivated(EventArgs e)
at System.Windows.Forms.Form.WmActivate(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
UpdAsmRef
Assembly Version: 0.0.0.0
Win32 Version: 0.0.0.0
CodeBase: file:///C:/Progress/OE10.2B/bin/updasmref.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
proasmref
Assembly Version: 0.0.0.0
Win.32 Version: 0.0.0.0
CodeBase: file:///C:/Progress/OE10.2B/bin/proasmref.EXE
----------------------------------------
.

FACT(s) (Environment):

Windows
OpenEdge 10.2B
x86_64 (AMD64/EMT64)

CAUSE:

Bug# OE00206290

FIX:

Workaround:

For OpenEdge Architect: Instead of using the Update Assembly References tool, manually update the assembly references via the Project Properties -> OpenEdge -> Assemblies dialog. There, add the newer versions of the assemblies and remove the older ones.

When using command line tools: Use Proasmref.exe instead of Updasmref.exe to manually update an assemblies.xml. There, add the newer versions of the assemblies and remove the older ones.