Discussion Locked

binary compatibilty on windows2000

0 helpful
3 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.

We develop our own VB6 applications using NT4. The application is complied as a 'self registering' active X component.

The application changes quite frequently, so as part of the end-users PC start-up process a batch file runs and copies newer versions of the software from a central share onto the PC, overwriting the previously installed version.

This has worked well for the last 5 years on W95, W98 and WNT. However, on W2000 professional unless the applcation is complied as 'binary compatible' with the original installed version the user gets an error - 'An unexpected error has occured' when they run the software after a new version is copied onto the pc. This error does NOT occur if the user has admin priviledges.

Obviously ourdevelopment team is compiling new versions as binary compatible for the time being. But they may have to change this in the future.

Anybody had a similar problem or indeed a solution?

3 replies

by mr. ezekial transistor

Win 9.x and NT are 32-bit where Win2000 and XP are 64-bit OSes and that is why it must be binary compatible to use with those different generations. (Windows and Unix aren't binary compatible either) Whoever sets account permissions may have a guessat why you don't have this problem on Admin accounts. (Perhaps Admin can run them in a seperate memory space and Users can't?) Also applications in 2000 must perform proper version checking, recognize overwrite rules, and install and uninstall according to Windows 2000 standards. http://msdn.microsoft.com/certification/appspec.asp. Your code may not fit all these and Win2000 is complaining.

by mark.thomson

See MSDN article Q161137 for an explanation of what Binary Compatibility means in the context of Activex components developed in VB6 - it doesn't mean what you might think, and after reading the article you might decide that it is a non-issue. That aside you have probably been tripped up by the new measures that MS have taken in W2k to fix "dll hell". You could try uninstalling the previous version before installing a newer version.

by mark.thomson

See MSDN article Q161137 for an explanation of what Binary Compatibility means in the context of Activex components developed in VB6 - it doesn't mean what you might think, and after reading the article you might decide that it is a non-issue. That aside you have probably been tripped up by the new measures that MS have taken in W2k to fix "dll hell". You could try uninstalling the previous version before installing a newer version.

This discussion is closed to new replies.