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!

VB6 and Windows Server 2012

Status
Not open for further replies.

tedsmith

Programmer
Nov 23, 2000
1,762
AU
Does anybody know it there are any problems running a VB6 app in Windows Server 2012?

I have an app currently running in Win7 in compatibility mode and wondered if I changed the computer to one running Windows 2012, would it still run OK? The controls/activeXs I use are the normal vb6 ones plus Endamo's GDI thingy.
 
What do you mean by "in compatibility mode?" Hopefully not one of the XP appcompat modes, which can cause all sorts of distortions through the many appcompat shims they apply.


What you're supposed to do is:

Apply an application manifest with a <trustInfo/> section, and then test for proper operation on Windows Vista.

Then you add a <compatibility/> section including the Windows 7 <supportedOS/> section and a Windows Vista <supportedOS/> section, and test again on Windows 7.

Next you add another Windows 8 <supportedOS/> section and test on that OS.

After that you add another Windows 8.1 <supportedOS/> section and test on that OS as well.

If any of those fail to work properly, remove the <supportedOS/> sections for those that fail. At that point you have a complete manifest to embed in your EXE.


See Manifesting for Compatibility on Windows 7 and also GetVersionEx function for some background information. Some rules changed on Win8.1 as far as versioning works.

Note that:

Server 2008 ~ Vista
Server 2008 R2 ~ Win7
Server 2012 ~ Win8
Server 2012 R2 ~ Win8.1
 
Thanks.
Are you saying that Server 2012 is equivalent to Windows 8 or to something else?
I am not likely to have a copy of Server 2012 to test my app on so if I test it OK on Windows8 will it be OK on Server 2012?

Most of my apps written originally in XP run in Win7 but a few I have had to tick the properties boy "XP Compatibility Mode" and they work fine. It depends on what controls or references are being used.
 
You should never be checking "XP Compatibility Mode" and if your program's need it, then that tells you that you have one or more bugs. Most commonly your program (in rare cases) needs an elevation manifest but more likely it needs minor rewriting for proper Standard User operation.

Some of this is masked on Win7 by its insecure-out-of-the-box attempts to mask UAC. See:

Sacrificing security for usability: UAC security flaw in Windows 7 beta (with proof of concept code)

The funniest part was Microsoft's attempts to tap-dance out of this. In the end they just hoped the issue would die because they worried that UAC prompts were hindering post-XP sales. Offcially (if you dig very deep, such as in their advice to commercial customers) they caution against ever allowing users to have an admin account. This is their defense for Win7's borked up UAC.


There are two separate OSs: Server 2012 and Server 2012 R2. Which one are you talking about? If you know, then see the "table" I already provided.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top