The correct way to install VB6 and subsequent patches under Win8.1 X64

2016-01-15  22:28:53 wzk456  Reading number: 2982

 

The strong vitality of Visual Basic 6.0 makes people reluctant to give up. When Win8 was first released, Microsoft announced that it would no longer support VB6, which caused a lot of dissatisfaction with VB6 fans. But later, I saw someone saying that VB6 can be used on Win8, which is of course a good thing for me. Today, because of debugging a software, VB6 needs to be used to verify some algorithms, so I installed VB6 on the April 8th update environment of Win8.1 64-bit Enterprise Edition.
I chose VB6 Chinese Enterprise Edition as the installation source. It didn't go smoothly at the beginning. When running the Setup program, I used the administrator status and selected the XP SP3 compatible method. After the Setup program is started, all installation contents are selected. The process of copying files during the previous installation is relatively smooth, but when the system is updated later, the machine will freeze and stay there.
I checked the installation process of other people on the Internet and found that at the beginning of the selection, the item of "Data Tools" could not be selected, otherwise there would be this problem. According to this method, re-installation, everything is completed smoothly. After restarting the system, installing the MSDN and SP6CN updates, they are all successfully completed.
At this time, start the VB6 interface, enter the project menu, select components, use the early OCX controls, and select the controls to be used, such as the MScomm serial communication control. At this time, you will find a registry error. After inquiring, it was found that it was caused by the registry permission problem under Win8. These controls need to be re-registered before they can be used normally. For example, for the MSCOMM control, the corresponding OCX file is C:\Windows\sysWOW64\mscomm32.ocx. Therefore, you need to open a command line window as an administrator, and then use the command to process the control as follows:
first unregister the currently registered OCX control from the system and use the following name:
c:\Windows\sysWOW64\regsvr32.exe After the /u mscomm32.ocx   
command is successful, the following prompt appears,

and then register the control again, the command is as follows:
After the c:\Windows\sysWOW64\regsvr32.exe mscomm32.ocx
command is successful, the following dialog box will appear.

At this point, return to the VB6 project. In the parts list, select the control and confirm, you can add the control and use it normally. As shown in the figure below:


In view of security issues, after 2009, there are problems with multiple controls of VB6, which are forbidden by Microsoft to use in the VBA environment. Therefore, the directly installed VB6 SP6 control will become inoperable when used in a VBA environment such as Excel. On April 9, 2012, Microsoft released the cumulative security update package KB2708437 for VB6SP6, which updates multiple controls used in the previous period. The updated control can be used normally in the VBA environment. However, there may be a problem that the newly installed control needs to be registered again after de-registering the original control under Win8.
For ease of operation, copy these affected controls (including OCX and some DLLs), as well as the commonly used TeeChart V5.0 controls, VB6IDEMouseWheelAddin controls to a VB6OCX directory, and replace the updated OCX of KB2708437 with the original VB6SP6 and install directly After the OCX, a batch file of copying, de-registering, and re-registering was created. After packaging these contents, they are used to supplement the normal installation of VB6.

The content of this batch file is as follows:
@echo off
echo This is a patch to VB6 installed in Win8 X64 system. Which
echo using VB6 SP6 Chinese package and with security patch KB2708437
echo fixed the issue used in VBA inside Excel.
echo
echo You must run this batch file as ADMINISTRATOR.
echo
echo
echo copy those DLLs and OCXs to system32 or SysWOW64, and then
echo register them into system, your VB6 can run under Win8.
copy .\*.dll %windir%\system32\
copy .\*.ocx %windir%\system32\
regsvr32 /s /u comcat.dll
regsvr32 /s /u COMCT232.OCX
regsvr32 /s /u comct332.ocx
regsvr32 /s /u comctl32.ocx
regsvr32 /s /u comdlg32.ocx
regsvr32 /s /u dbadapt.dll
regsvr32 /s /u dbgrid32.ocx
regsvr32 /s /u dblist32.ocx
regsvr32 /s /u Flash.ocx
regsvr32 /s /u FM20.DLL
regsvr32 /s /u grid32.ocx
regsvr32 /s /u MCI32.OCX
regsvr32 /s /u MSADODC.OCX
regsvr32 / s / u MSBCODE9.OCX
regsvr32 / s / u MSBind.dll
regsvr32 / s / u MSCHRT20.OCX
regsvr32 / s / u mscomct2.ocx
regsvr32 / s / u MSCOMCTL.OCX
regsvr32 / s / u MSCOMM32.OCX
regsvr32 / s / u MSDATGRD.OCX
regsvr32 / s / u MSDATLST.OCX
regsvr32 / s / u MSDATREP.OCX
regsvr32 / s / u MSDbRpt.dll
regsvr32 / s / u MSDbRptr.dll
regsvr32 / s / u Msflxgrd.ocx
regsvr32 / s / u MSHFLXGD.OCX
regsvr32 / s / u MSINET.OCX
regsvr32 / s / u msmapi32.ocx
regsvr32 / s / u msmask32.ocx
regsvr32 / s / u MSRDC20.OCX
regsvr32 / s / u msrdo20.dll
regsvr32 / s / u msscript .ocx
regsvr32 / s / u msstdfmt.dll
regsvr32 / s / u msstkprp.dll
regsvr32 / s / u mstscax.dll
regsvr32 / s / u msvidctl.dll
regsvr32 / s / u MSWINSCK.OCX
regsvr32 / s / u PICCLP32.OCX
regsvr32 / s / u richtx32.ocx
regsvr32 / s / u shell32.dll
regsvr32 / s / h sysinfo.ocx
regsvr32 / s / u tabctl32.ocx
regsvr32 / s / u TeeChart.ocx
regsvr32 / s / u VB6IDEMouseWheelAddin.dll
regsvr32 / s / u wbclsdsr.Ocx
regsvr32 / s / u wiaaut.dll
regsvr32 / s / you ZoomControl.ocx
regsvr32 / s comcat.dll
regsvr32 / s COMCT232.OCX
regsvr32 / s comct332.ocx
regsvr32 / s Comctl32.ocx
regsvr32 / s comdlg32.ocx
regsvr32 / s dbadapt.dll
regsvr32 / s dbgrid32.ocx
regsvr32 / s dblist32 .ocx
regsvr32 / s Flash.ocx
regsvr32 / s FM20.DLL
regsvr32 / s grid32.ocx
regsvr32 / s MCI32.OCX
regsvr32 / s MSADODC.OCX
regsvr32 / s MSBCODE9.OCX
regsvr32 / s MSBind.dll
regsvr32 / s MSCHRT20.OCX
regsvr32 / s mscomct2.ocx
regsvr32 / s MSCOMCTL.OCX
regsvr32 / s MSCOMM32.OCX
regsvr32 / s MSDATGRD.OCX
regsvr32 / s MSDATLST.OCX
regsvr32 / s MSDATREP.OCX
regsvr32 / s MSDbRpt.dll regsvrp
/ s MSDbRpt.dll regsvrp
/ s .ocx
regsvr32 / s MSHFLXGD.OCX
regsvr32 / s MSINET.OCX
regsvr32 / s msmapi32.ocx
regsvr32 / s msmask32.ocx
regsvr32 / s MSRDC20.OCX
regsvr32 / s msrdo20.dll
regsvr32 / s msscript.ocx
regsvr32 / s msstdfmt.dll
regsvr32 / s msstkprp.dll
regsvr32 / s mstscax.dll
regsvr32 / s msvidctl.dll
regsvr32 / s MSWINSCK.OCX
regsvr32 / s PICCLP32.OCX
regsvr32 / s richtx32.ocx
regsvr32 / s shell32.dll
regsvr32 / s sysinfo.ocx
regsvr32 / s tabctl32.ocx
regsvr32 / s TeeChart.ocx
regsvr32 / s VB6IDEMouseWheelAddin.dll
regsvr32 / s wbclsdsr.Ocx
regsvr32 / s wiaaut.dll
echonvoc.32
.
echo Press any key to continue ...
echo on

附 : 文件 列表 :
2014/03/10 周一 11:11 466,680 BsSDK.dll
2009/07/14 周二 09:15 7,168 comcat.dll
2010/02/16 Tuesday 15:22 170,080 ComCt232.ocx
2010/02/16 Tuesday 15:22 415,552 ComCt332.ocx
2012/05/02 Wednesday 12:17 617,816 comctl32.Ocx
2010/02/16 Tuesday 15:22 155,984 ComDlg32 .OCX
2010/02/16 Tuesday 15:22 57,168 dbadapt.dll
2010/02/16 Tuesday 15:22 567,104 dbgrid32.ocx
2010/02/16 Tuesday 15:22 222,528 dblist32.Ocx
2014/04/01 Tuesday 05:23 12,351,992 Flash.ocx
2014/01/23 Thursday 15:54 1,239,208 FM20.DLL
2009/03/31 Tuesday 10:48 89,600 grid32.ocx
2010/02/16 Tuesday 15:22 215,880 mci32.Ocx
2010/02/16 Tuesday 15:22 134,976 MSAdoDc.ocx
2010/10/20 Wednesday 16:36 128,880 MSBCODE9.OCX
2010/02/16 Tuesday 15:22 84,808 MSBind.dll
2010/02/16 Tuesday 15:22 1,029,968 MSChrt20.ocx
2010/02/16 Tuesday 15:22 659,264 mscomct2.ocx
2012/05/02 Wednesday 12:17 1,070,152 mscomctl .OCX
2010/02/16 Tuesday 15:22 119,616 MSComm32.Ocx
2010/02/16 Tuesday 15:22 69,440 MSCsfDbg.dll
2010/02/16 Tuesday 15:22 278,352 MSDatGrd.ocx
2010/02/16 Tuesday 15:22 252,240 MSDatLst.Ocx
2010/02/16 Tuesday 15:22 206,160 MSDatRep.Ocx
2010/02/16 Tuesday 15:22 340,800 MSDbRpt.dll
2010/02/16 Tuesday 15:22 328,512 MSDbRptr.dll
2010/02/16 Tuesday 15 :22 258,880 MSFlxGrd.ocx
2010/02/16 Tuesday 15:22 443,488 MShflxgd.ocx
2010/02/16 Tuesday 15:22 136,008 MSINET.Ocx
2010/02/16 Tuesday 15:22 151,376 msmapi32.Ocx
2010/02/16 Tuesday 15:22 178,512 msmask32.ocx
2010/02/16 Tuesday 15:22 190,800 msrdc20 .Ocx
2010/02/16 Tuesday 15:22 449,872 msrdo20.dll
2009/07/14 Tuesday 09:14 95,232 msscript.ocx
2010/02/16 Tuesday 15:22 129,872 msstdfmt.dll
2010/02/16 Tuesday 15:22 107,840 msstkprp.dll
2010/12/22 Wednesday 19:29 2,690,560 mstscax.dll
2008/04/14 Monday 03:13 1,417,728 msvidctl.dll
2010/02/16 Tuesday 15:22 126,800 MSWINSCK.ocx
2010/02/16 Tuesday 15 :22 100,160 PicClp32.Ocx
2010/02/16 Tuesday 15:22 218,432 richtx32.Ocx
2012/06/08 Friday 22:25 8,320,512 shell32.dll
2010/02/16 Tuesday 15:22 80,208 sysinfo.Ocx
2010/02/16 Tuesday 15:22 221,504 TabCtl32.Ocx
2014/04/20 Sunday 18:07 383,488 teechart.oca
2011/04/06 Wednesday 18:07 2,602,496 TeeChart.ocx
2014/04/20 Sunday 19:40 10,312,704 VB60SP6-KB2708437-x86-CHS.msi
2011/04/16 Saturday 11:03 36,864 VB6IDEMouseWheelAddin. dll
2014/04/20 Sunday 23:18 3,083 VB6Win8Patch.bat
2011/04/16 Saturday 11:03 227 VBA Mouse Wheel Fix.reg
2010/02/16 Tuesday 15:22 334,672 wbclsdsr.Ocx
2009/07/14 Tuesday 09:16 544,256 wiaaut.dll 2001/09/18
Tuesday 16:28 28,672 ZoomControl.ocx
              53 files 50,844,174 bytes
               2 directories 23,614,660,608 available bytes
According to this approach, a lot of errors can be reduced and the process of finding files can be reduced, which is convenient for VB6 to use under Win8.

There is no verification under 32-bit Win8.1. 

Guess you like

Origin blog.csdn.net/xcntime/article/details/88581889