Article ID: 281913 - View products that this article applies to.
This article was previously published under Q281913
This article has been archived. It is offered "as is" and will no longer be updated.
After compiling a Visual Basic project that references more than one type library on one platform (such as a Microsoft Windows 2000-based computer), the resulting binary fails to run on other platforms (such as Microsoft Windows NT 4-, Microsoft Windows 95-, Microsoft Windows 98-, and Microsoft Windows ME-based computers) and gets an Access Violation (AV).
The Visual Basic compiler is case sensitive when it is reading entries for dllname in type libraries. As a result, if a project references two or more type libraries and the dllname entry for the same DLL is spelled in different cases in different libraries, such as dllname("kernel32.dll") in library A, and dllname("KERNEL32.DLL") in library B, the compiler generates two import sections for the same DLL and renders the binary platform dependent.
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
Steps to Reproduce Behavior
Article ID: 281913 - Last Review: February 28, 2014 - Revision: 3.0