Where to download missing Mscomct2.ocx, Msdatlst.ocx for your legacy VB6 application

If you have an old home-grown vb6 application, you may not have an installer for it. If that is the case, you will have some trouble getting it to run on a new Windows 7 computer. Chances are you are missing Mscomct2.ocx, Msdatlst.ocx and other required old microsoft 32 bit dlls and ocx files.

Don’t take a chance getting these files from those dll download sites. Download them directly from Microsoft! But you will have to do a little work to get at them once you have downloaded.

Here’s the link: http://support.microsoft.com/kb/957924/ Download the cumulative update rollup for the Visual Basic 6.0 Service Pack 6 Runtime Extended Files and then open a command window in the folder where you saved it.

Run this command: msiexec /a VB60SP6-KB957924-v2-x86-ENU.msi /qb TARGETDIR=.\vb6run\

In the vb6run folder you will find a large number of .ocx and .dll files. You can register these with regsvr32 and that should get you closer to running your vb6 app on windows 7.

A complete listing of the files contained with in that .msi file:

03/24/2009 12:58 PM 86,310 ComCt232.cab
03/24/2009 12:58 PM 142,147 ComCt332.cab
03/24/2009 12:58 PM 237,887 comctl32.cab
03/24/2009 12:58 PM 70,382 ComDlg32.cab
03/24/2009 12:58 PM 26,707 dbadapt.cab
03/24/2009 12:58 PM 257,489 dbgrid32.cab
03/24/2009 12:58 PM 104,477 dblist32.cab
03/24/2009 12:58 PM 92,360 mci32.cab
03/24/2009 12:58 PM 49,425 MSAddnDr.cab
03/24/2009 12:58 PM 64,038 MSAdoDc.cab
03/24/2009 12:58 PM 41,564 MSBind.cab
03/24/2009 12:57 PM 28,465 mscdrun.cab
03/24/2009 12:58 PM 452,634 MSChrt20.cab
03/24/2009 12:58 PM 335,325 mscomct2.cab
03/24/2009 12:58 PM 479,056 mscomctl.cab
03/24/2009 12:58 PM 59,264 MSComm32.cab
03/24/2009 12:58 PM 133,168 MSDatGrd.cab
03/24/2009 12:58 PM 117,465 MSDatLst.cab
03/24/2009 12:58 PM 100,023 MSDatRep.cab
03/24/2009 12:58 PM 146,944 MSDbRpt.cab
03/24/2009 12:58 PM 148,222 MSDbRptr.cab
03/24/2009 12:58 PM 112,053 MSFlxGrd.cab
03/24/2009 12:58 PM 207,713 MShflxgd.cab
03/24/2009 12:58 PM 105,828 MSHtmPgd.cab
03/24/2009 12:57 PM 44,119 MSHtmPgr.cab
03/24/2009 12:58 PM 66,922 MSINET.cab
03/24/2009 12:58 PM 70,315 msmapi32.cab
03/24/2009 12:58 PM 89,928 msmask32.cab
03/24/2009 12:58 PM 89,581 msrdc20.cab
03/24/2009 12:58 PM 190,950 msrdo20.cab
03/24/2009 12:58 PM 66,366 msstdfmt.cab
03/24/2009 12:57 PM 50,024 msstkprp.cab
03/24/2009 12:58 PM 112,782 mswcrun.cab
03/24/2009 12:57 PM 64,013 MSWINSCK.cab
03/24/2009 12:58 PM 50,631 PicClp32.cab
03/24/2009 12:58 PM 100,421 richtx32.cab
03/24/2009 12:57 PM 41,911 sysinfo.cab
03/24/2009 12:58 PM 109,944 TabCtl32.cab
03/24/2009 12:58 PM 159,126 wbclsdsr.cab
03/24/2009 09:33 AM 2,495 ComCt232.dep
03/24/2009 12:52 PM 170,080 ComCt232.ocx
03/24/2009 12:54 PM 3,024 ComCt332.dep
03/24/2009 12:52 PM 415,552 ComCt332.ocx
03/24/2009 09:32 AM 2,495 comctl32.dep
03/24/2009 12:52 PM 614,992 comctl32.Ocx
03/24/2009 09:33 AM 2,494 ComDlg32.Dep
03/24/2009 12:52 PM 155,984 ComDlg32.OCX
03/24/2009 09:46 AM 2,501 dbadapt.dep
03/24/2009 12:52 PM 57,168 dbadapt.dll
01/21/2009 01:35 PM 2,387 dbgrid32.dep
03/24/2009 12:52 PM 567,104 dbgrid32.ocx
03/24/2009 09:49 AM 2,494 dblist32.dep
03/24/2009 12:52 PM 222,528 dblist32.Ocx
03/24/2009 09:37 AM 2,394 mci32.dep
03/24/2009 12:52 PM 215,880 mci32.Ocx
03/24/2009 09:43 AM 2,502 MSAdoDc.dep
03/24/2009 12:52 PM 134,976 MSAdoDc.ocx
03/24/2009 09:43 AM 492 MSBind.dep
03/24/2009 12:52 PM 84,808 MSBind.dll
03/24/2009 09:45 AM 2,494 MSChrt20.dep
03/24/2009 12:52 PM 1,029,968 MSChrt20.ocx
03/24/2009 09:37 AM 2,494 mscomct2.dep
03/24/2009 12:52 PM 659,264 mscomct2.ocx
03/24/2009 09:36 AM 2,494 mscomctl.dep
03/24/2009 12:52 PM 1,069,376 mscomctl.OCX
03/24/2009 09:42 AM 2,494 MSComm32.dep
03/24/2009 12:52 PM 119,616 MSComm32.Ocx
03/24/2009 12:52 PM 69,440 MSCsfDbg.dll
03/24/2009 09:45 AM 2,514 MSDatGrd.dep
03/24/2009 12:52 PM 278,352 MSDatGrd.ocx
03/24/2009 09:50 AM 2,494 MSDatLst.dep
03/24/2009 12:52 PM 252,240 MSDatLst.Ocx
03/24/2009 09:46 AM 2,507 MSDatRep.dep
03/24/2009 12:52 PM 206,160 MSDatRep.Ocx
03/24/2009 12:52 PM 340,800 MSDbRpt.dll
03/24/2009 09:47 AM 2,545 MSDbRptr.dep
03/24/2009 12:52 PM 328,512 MSDbRptr.dll
03/03/2009 10:18 AM 2,494 MSFlxGrd.dep
03/24/2009 12:52 PM 258,880 MSFlxGrd.ocx
03/24/2009 09:53 AM 2,524 MShflxgd.dep
03/24/2009 12:52 PM 443,488 MShflxgd.ocx
03/24/2009 09:42 AM 2,405 MSINET.dep
03/24/2009 12:52 PM 136,008 MSINET.Ocx
03/24/2009 09:38 AM 2,494 msmapi32.dep
03/24/2009 12:52 PM 151,376 msmapi32.Ocx
03/24/2009 09:38 AM 2,494 msmask32.dep
03/24/2009 12:52 PM 178,512 msmask32.ocx
03/24/2009 09:39 AM 2,493 msrdc20.dep
03/24/2009 12:52 PM 190,800 msrdc20.Ocx
03/24/2009 09:34 AM 2,670 msrdo20.dep
03/24/2009 12:52 PM 449,872 msrdo20.dll
03/24/2009 12:52 PM 129,872 msstdfmt.dll
03/24/2009 12:52 PM 107,840 msstkprp.dll
03/24/2009 09:41 AM 2,463 MSWINSCK.dep
03/24/2009 12:52 PM 127,808 MSWINSCK.ocx
03/24/2009 09:39 AM 2,494 PicClp32.dep
03/24/2009 12:52 PM 100,160 PicClp32.Ocx
03/24/2009 09:40 AM 3,008 richtx32.dep
03/24/2009 12:52 PM 218,432 richtx32.Ocx
03/24/2009 09:40 AM 2,481 sysinfo.dep
03/24/2009 12:52 PM 80,208 sysinfo.Ocx
03/24/2009 09:40 AM 2,494 TabCtl32.dep
03/24/2009 12:52 PM 221,504 TabCtl32.Ocx
03/24/2009 09:52 AM 2,486 MSAddnDr.dep
03/24/2009 12:52 PM 99,136 MSAddnDr.dll
03/24/2009 09:35 AM 2,543 mscdrun.dep
03/24/2009 12:52 PM 57,152 mscdrun.dll
03/24/2009 12:52 PM 245,584 MSHtmPgd.dll
03/24/2009 09:32 AM 2,486 MSHtmPgr.dep
03/24/2009 12:52 PM 117,584 MSHtmPgr.dll
03/24/2009 09:50 AM 2,474 mswcrun.dep
03/24/2009 12:52 PM 310,592 mswcrun.dll
03/24/2009 12:52 PM 334,672 wbclsdsr.Ocx

diamond buyer

Posted in windows | Comments Off on Where to download missing Mscomct2.ocx, Msdatlst.ocx for your legacy VB6 application

How to set REMOTE_ADDR variable in Apache2 behind an nginx proxy

A lot of people are starting to put nginx in front of apache for performance and efficiency reasons.  Unfortunately, this causes problems for some web applications.  Especially anti-spam plugins or any other application that needs to know the client’s ip address. Plugins like bad behaviour and such. The reason for the problem is that the proxy is connecting to apache as localhost or an internal ip address.

I tried things like using setenv or requestHeader apache parameters but this did not work.

Finally I found an apache module, libapache2-mod-rpaf, that solves this problem quite nicely.

sudo apt-get install libapache2-mod-rpaf

You need to edit the /etc/apache2/mods-available/rpaf.conf file, and edit the RPAF_proxy_ips line, adding the address of your nginx proxy.

<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 192.168.0.1
</IfModule>

The example above is for a site that is behind an nginx server at 192.168.0.1.
EDIT: in order to get this to work on ubuntu 12.04 i had to remove the ifmodule mod_rpaf.c!!!

Be sure to set the X-Forwarded-For header in your nginx site config file’s server block

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

If it is not working, you might find that you need to make a test.php file that contains

print_r($_SERVER)

That will help you see what is going on.

Posted in nginx | Comments Off on How to set REMOTE_ADDR variable in Apache2 behind an nginx proxy

Where to download 32bit adprep

When adding a Server 2008 R2 domain controller a 32 bit 2003 server the command “adprep /forestPrep” needs to be run on your 32 bit server. The adprep program comes on your 2008 R2 DVD but when you run this on your old 32 bit server you get an error:

The image file C:\adprep\adprep.exe is valid, but is for a machine type other than the current machine.

This error was obviously from trying to run 64 bit code on a 32 bit machine. What to do? I googled hoping to find a 32 bit adprep I could download and found a number of posts saying to download a 32 bit version of server 2008 and run the adprep program from there.  That seemed crazy so I kept searching.

I finally found that I already had a 32 bit version of adprep. The location is cdrom:\support\adprep\adprep32.exe on your Server 2008 DVD!

adprep32 /forestPrep worked like a charm.

Posted in windows | Tagged | Comments Off on Where to download 32bit adprep

VMWare ESXi vmfs volume size limit

If you are using VMWare ESX or ESXi and have a single disk array that is 2 terabytes or larger, you are SOL.  You can’t use all the space.

See this link: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=3371739

However, if you can reconfigure your raid array to have multiple volumes of less than 2 terabytes each, then you can use extents to take advantage of the space!

If you don’t know about extents, see this link: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2000643

Posted in vmware | Tagged | Comments Off on VMWare ESXi vmfs volume size limit

How to create multiple network interfaces in an LXC container.

You can specify more than one interface in your lxc configuration file.  Just add the interfaces one after the other and use lxc-create to create your container, like this:

lxc.network.mtu = 1500
lxc.network.type = veth
lxc.network.name = eth0
lxc.network.link = br0
lxc.network.ipv4 = 107.20.135.109
lxc.network.flags = up

lxc.network.type = veth
lxc.network.link = br1
lxc.network.ipv4 = 192.168.0.63/24
lxc.network.name = eth1
lxc.network.flags = up

Inside your container, if you do an ifconfig, you should see two network interfaces.

This was not documented very well and I found this after a bit of frustrated googling.

 

Posted in lxc | Tagged , | Comments Off on How to create multiple network interfaces in an LXC container.