Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Windows7 Home premium possible problem.

Status
Not open for further replies.

tedsmith

Programmer
Nov 23, 2000
1,762
AU
I am having trouble using the Sysinfo.ocx with W7 Home Premium.
It works with Windows 7 Professional both in the IDE and in the EXE.
The error I get when I try to place it on a form in Home Premium is something like "this may not be compatible in your environment" (tried this in 2 different computers)

The app compiled in the Win7Pro IDE works fine in a Pro machine but gives "Unregistered Sysinfo message" in a Home Premium machine.

Attempts to Regsvr32 sysinfo.ocx in both machines fail even though it still works in 2 Pro machines
I am running all aps in Compatibility mode and as an administrator.

Anyone seen this or know of a fix?

I am using Sysinfo to detect when a USB stick or CD is inserted

There are a number of "free download to fix" sites that advertise this problems but they seem to be all scams.
 
I should mention that the 2 Home and 2 Pro Machines in question are all 64 bit versions of Win7
 
There shouldn't be anything about Win7 Home Premium, 64-bit or otherwise, that would impact this.

If you find yourself playing with fire like this often (running regsvr32 on things blindly in an attempt to make something work) you are already in trouble. It is almost a certainty that VB6 was simply never installed properly.

Thems just the facts.
 
I was not "blindly doing things"
I simply found out by experience that what I said was true. It happened before my eyes.
I currently have 4 machines at my disposal and identically reinstalled vb6 on each machine setting compatibility to Xp Sp3.
2 machines have the Pro version and 2 machines have Home.
The same cox is in all machines.
I would think this is pretty conclusive.

Trouble might be that not many people have the opportunity of this setup to test it out?
 
It may be that there are some sysinfo.ocx dependencies that are not configured on W7 Home (I have no idea for certain; I've never used W7 Home).

Do you have the Dependency Walker that Microsoft used to ship with Visual Studio? If not, you can download the latest (i.e.9 yr old) version here:
Install it on your W7 box, run it, and load sysinfo.ocx. See if it reports dependency problems.
 
Actually, upon rereading, I suspect that the issue is (as dilettante alludes) related to regsvr32.

There are two versions of it on 64bit platforms, and using the wrong one will result in a "The module 'sysinfo.ocx' may not be compatible with the version of Windows that you're running." Mind you, that error message is normally longer, and continues fairly explicitly: "Check if the module is compatible with an x86 (32-bit) or x64 (64-bit) version of regsvr32.exe"

The following article has a little more detail:
 
SysInfo.ocx is a pretty thin wrapper on some APIs and a subclassing hook for a few system broadcast messages. Any dependencies it might have are the usual suspects, for the most part system DLLs and possibly some VB6 runtime libraries.

When people install VB6 improperly you often see weird symptoms that can sometimes be "cured" by slapping around wildly with regsvr32. That is almost always because the installation simply was not done properly. Often what happened was that part two of the setup process wasn't run elevated and a lot of components got registered in the per-user virtualstore portion of the registry. This makes them appear to be unregistered later when the IDE is run elevated or another user context is used to run a program.

In the end you have a mess that may never be right again, requiring a full reinstall of Windows to clean up the disaster made of the registry.
 
Thank you for your invaluable help but remember we all grow slow and old if we don't die first.

Further I installed a copy of Win7 32 bit Home on one machine and Sysinfo works perfectly
The message it says on the Home 64 bit edition is "I haven't the license to use it in this environment"
It loads and runs without errors on the 2 PRO 64 bit machines but does not give any results when I insert a USB stick.
Maybe there is some conflict with the Auto run thingy that I shall investigate.

I shall investigate strongm's suggestion later as I am fully occupied with another project - they wont let me rest!
 
The run time license for controls using Microsoft's old ActiveX licensing scheme is embedded within the compiled program. Normally this can only fail if you are trying to create an instance of a control in code at runtime, but that's where the Licenses collection comes in. But any control placed on a Form at design time takes care of embedding license information.

Something is wrong, but it sounds like a development error rather than any runtime environment problem.
 
I would point out that this occurs with ONLY this control loaded on an otherwise blank project. So it is not anything I have done in my project.
The original project runs without problems in anything other than Windows7 64 bit Home version.

I installed all copies of VB6 from a copy of the original VB6 disk that I first copy to the hard disk of each machine as a backup as I have done many times before. (I'd hate to think of my original disk becoming faulty)
 
Once again everything seems to point to a faulty installation of VB6.

There is no need to install VB6 on every target machine, just learn how to packaga and deploy applications.
 
I've been doing all that countless times since the last century without any similar problem before.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top