What Is This About?
This describes a problem with Visual Studio Service Pack 6 and the ListView control that comes with Visual Basic 6.
The ListView Control Problem (XP)
When Visual Studio SP 6 was introduced, Microsoft created a problem. The ListView control that worked with Visual BASIC in the past all of a sudden stopped working. In fact it caused an application compiled with it to crash. However, there exists a couple ways to work around it.
- You can use a manifest file as detailed below.
- You can download an update from Microsoft KB 896559.
Download Directly From Microsoft
VisualBasic6-KB896559-v1-ENU.exe
Date: 04/21/2005 08:19 PM
MD5:b0ad0323ed6843cd4b92db483b182645
Downloads Direct From MicroCosmoTalk
KB896559VB6Fix.zip (891,821 bytes)
Date: 2005.04.21 20:19
MD5:528e7f61c6b5bb0f53698328ea845798
kb896559.7z (713,425 bytes)
MD5:b6b8f3953ac3073a81c51635676a43f0
More information about the problem: ListView Column Reordering Problem
MD5 Checksums
The following MD5 checksums apply to the files extracted from the KB896559 update.
84f97568ea488bdfa0199a14ecd0bc7b *ADVPACK.DLL
2640ad05ab39321e6c9d3c71236ca0df *comctl32.ocx
c2fa3ed360c475a9feac84e33f7ea327 *KB896559.TXT
214274e313cc092c47473fe9318553d3 *mscmupd.inf
d268668751ee22997d7ef1417034cb04 *mscomctl.ocx
7210d5407a2d2f52e851604666403024 *W95INF16.DLL
292d721932c5116162cb27c3fc895ae5 *W95INF32.DLL
The following MD5 apply to the downloads here.
b6b8f3953ac3073a81c51635676a43f0 *kb896559.7z
6957b9b2ca4c2de5940c4c8bcbeb901e *kb896559.cab
528e7f61c6b5bb0f53698328ea845798 *KB896559VB6Fix.zip
The Manifest File
The manifest file gets the same name as the application you create. For instance, if the name of the compiled application is "LView.exe" the name of the manifest file ends up as, "LView.exe.manifest".
Another way to insert a manifest file into a project involves adding a custom resource. Use VB's Resource Editor to create the resource file.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="LVTest" type="win32" /> <description>Manifest for LVTest.exe</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> </assembly>