WTL on Windows 10 - windows

Has anyone used WTL on Windows 10 already? All applications that I create with WTL segfault on Windows 10. They work on Windows 8 and Windows 7.
I even tried the most basic Hello-World application in WTL on Windows 10 and it segfaults when I run it. There are no clear indications of what is wrong. The program just segfaults with generic Windows segfault error.
Looks like WTL isn't Windows 10 compatible yet? Has anyone had this problem yet.
Just asking here as others will probably have the same problem. I tried two different Windows 10 (pre-release beta, and official release). I'm using latest WTL version WTL 9.0.4140 Final (2014-05-30).

All of our commercial applications are WTL built in VS2008. They work fine on Windows 10. If you can get a dmp file you should be able to review the crash dmp in windbg and see what is causing the fault.

Windows 10 with Visual Studio 2015 Community compiles and runs WTL sample MemDlg, I used WTL91_5270_Beta

our commercial video application is WTL-based(vs2015 express).
work fine, but it act different to MFC-based applications.
when win10 menu popup, video frame-rate drop in MFC(26fps->10fps), WTL(26fps->5fps).
https://github.com/sailfish009/wtl (WTL Version 9.1 (build 5321 final) 2015-11-17)

Related

Can Visual Studio 6.0 C++ run in Windows 11?

I just install Windows 11 and found out the VS6.0 app I still have to support will not build. VS C++ 6.0 won't even launch. It was working fine in Windows 10.
Has anyone figured out how to run VS6 in Windows 11?
Found the solution on codeguru
https://www.codeproject.com/Articles/1191047/Install-Visual-Studio-on-Windows?msg=5840158#xx5840158xx
I had VS6 running on Windows 10 so I only did 1 & 2 from "Works on Windows 11" comment.
*First, msdev.exe only showed the splash screen and then disappeared. It worked after
Renaming it to msdev1.exe (!)
Setting compatibility mode for Windows XP SP2.
Updating the file associations to point to the renamed exe file.*

MFC SDI Error on save on windows 8

I have developed an MFC SDI app, which uses the default CDocument Save, Save As and Load Menu Options. When I run this app on Windows XP, Vista, or 7 the app works fine - it can save and load documents without issue. When I run the same app on Windows 8 or 8.1 and click the Save option, the app crashes with a generic error message. Is there something extra that I need to install for it to work on Windows 8? Or is there something special I need to do to get an MFC SDI app to work on Windows 8?
I have tried to install Visual Studio on the Windows 8 machine to compile it there but I only have the Express version, which doesn't come with the MFC libraries, so it will not compile. The PC I wrote the app on, was a Windows 7 pc.
I am not too sure what other information might be useful.
EDIT:
The error message
I have managed to compile MFC applications in older versions of Visual Studio Express, see:
http://www.codeproject.com/Articles/30439/How-to-compile-MFC-code-in-Visual-C-Express
To get this to work in a recent VS Express will probably require some tinkering.

When will VB6 application support end?

Microsoft no longer supports VB6 development and support from Microsoft has already stopped. But VB6 applications still run on Windows 8.1. See also this article titled "Support Statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008, Windows 7, Windows 8 and Windows 8.1".
When would a VB6 application stop running on Windows? Is there any official statement from Microsoft or any clue about the same?
EDIT:
In this link, the Visual Studio team has mentioned that, "It will be supported at least through 2024". But it's not clear whether they said it's supported in Windows 8 till 2024 or in future release of windows OS too.
The "2024" means as part of Windows 8. The link says the VB6 runtime is part of Windows and therefore will be supported in the same way as the rest of Windows. For example Windows 8 will be supported until 2024 because that's the support lifecycle for Windows 8.
EDIT: Microsoft have now said the VB6 runtime is officially part of Windows 10 too.
EDIT: the VB6 IDE (not runtime) is no longer officially supported on any version of Windows, but there are ways to get it to work on Windows 7 and 8.
Uservoice: The VB6 runtime it is still a component of the Windows operating
system and is a component shipped in Windows 8.1. It will be supported
at least through 2024
It seems clear they mean VB6 will be supported through 2024, not just VB6 on Windows 8 (whose mainstream support ends 6 years earlier anyway).
The VB6 programming language installs and runs on Windows 7, 8.x and 10.
There is a utility to install it here: VB6 IDE install utility
It is in Microsoft's interests for VB6 applications to run in Windows 10 and so they probably will. The same is probably true of most old application frameworks: Microsoft works hard to maintain compatibility. The IDE runs on Windows 7 (not sure about 8 or 10).
However, just because Microsoft says VB6 will run it doesn't mean your particular application will work, particularly if you use third party components. You should at least be thinking about migrating to another development environment.
From what I heard, VB6 applications still work on Windows 10 technical preview. I've seen no official statement yet, but it would seem that VB6 will stay supported for at least a few years.
Microsoft have just stated for VB6 programming on Windows 10:-
"Windows is committed to compatibility. The Windows compatibility team
has been looking at user telemetry and reacting to feedback from
Windows Insiders to ensure that existing apps work well with Windows
10. Windows 10 is designed to run Windows 8.1 and Windows Phone 8.1 software programs. And yes, everyone’s favorite VB6 Runtime will
continue to work, too. In the near future, the compat team will go
more in-depth on this topic on Blogging Windows."
Everyone's favorite VB6 programming on Windows 10
So VB6 programming will work on Windows 10, as does VBA programming.
They also state that 'Project Centennial' Universal Windows Platform Bridge will work with VB6 code.
Instructions for installing the VB6 IDE are available here...
In my personal experience if you build a dll in VB6 and add it as a component to COM Plus in Server 2016 it just won't add. You will get an error such as the following, even for a 'Hello World' component.
A registry value was changed while installing the following component
into a COM+ Application. If you are experiencing activation problems
with this component then please check the registry value for the
following key.
Component: C:\temp\Project1.dll
Registry Key:
CLSID\{D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}\InProcServer32
Process Name: RunDll32.exe Comsvcs.dll file version: not loaded
There is a project to provide a new language "RADBasic" which is intended to be compatible with the VB6 programming language.
New language compatible with VB6 programming
Looks like Microsoft just extended VB6 runtime support out to Windows 11 and Server 2022. No such luck for the IDE though.
Read more from Microsoft here:
https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-basic-6/visual-basic-6-support-policy

MFC resources Vista vs Win7 compatibility

Original app was developed with VS6 MFC for WinXP - then ported to VS 2005 Vista, and runs fine in Vista. However, when installed in Win7 the app runs without crashing but the UI is scrambled. Windows controls all seem to line up on left edge of main window.
Can this app created with VS2005 in Vista run properly in Win7? Or does it need to be compiled and linked in Win7 to run properly in Win7?
The most likely explanation is that your program has bugs in it, or rather it makes assumptions about Windows that aren't valid: a correctly written program built on an old system with an old version of Visual Studio will work fine on Windows 7. As ever, just because something worked on old versions of Windows doesn't prove it's "right".
There aren't any easy shortcuts for this: you're going to have to debug your application to figure out what is wrong with it.

Has anyone had success with Visual Studio 6 on Windows 7?

VS6 popped off a series of errors before bombing out completely during install on Windows 7. I specifically need to get VB6 functioning on Windows 7. Anyone having any luck?
Folks on the VB6 newsgroup report they have managed to get it working on Windows 7.
There's this step-by-step guide on how to install the IDE on Windows 7 (including 64 bit).
If that doesn't work (scrapes barrel) try this old tip about persuading the install not to install the Java VM? Link is now broken so here is the tip:
Before trying to install VB6. Create a new file, name it msjava.dll and place it in your windows directory. The file can be zero length. You can then happily install without the prompt to install an old version of Microsoft's flavour of Java. Once you have installed VB6, delete the msjava.dll otherwise windows update will prompt you to update it.
Or (scrapes hole in barrel) these tips from an article about getting the IDE working on Vista?
Footnote: if developing with ADO, be aware of this.
The only way I've found that works is Windows XP mode (i.e. a virtual machine). Works fine there, but otherwise, not at all.
I found ALL the answers in a thread at vbmonster.com. As mentioned above, you CAN install Visual Studio 6 with Service Pack 6 under Windows 7 by following Derek's detailed instructions at fortypoundhead.com.
I had a problem because I needed to install Service Pack 5. I use a third party program that does not work with Service Pack 6. A really smart programmer (GuideX) came up with a great hack to get around the MDAC 2.5 error.
Win 7 64 bit service pack 5 & 6. Turn compatability off and it seems to work.
Recently I had to debug an ancient application written in Visual C++ 6.0 on Windows 8.1. Tried different solutions all of them failed, only this one worked.
This guys made a special installer that allows installing VC++6, VB6, and SP6 on Windows Vista/7/8/8.1/10 without any errors whatsoever.
Hope it would be helpful to someone.
I installed VB6 on Windows 7 Pro without having to use compatibility settings or run as administrator.
Doesn't really help you, but does show that it can work.
Several people in my office have installed Visual Studio 6 (without VC++) on Windows 7, both 32-bit and 64-bit with no problems. The one thing we have in common: we've all turned UAC down to it's lowest setting. Nothing else special required.
I am using vb6 on windows 7 32 bit system for a long time.
you will need to install your vb6 with compatibility of xp2.
Create a 0-byte file in the C:\Windows directory called msjava.dll.
Don't just install via the Autorun executable; instead browse the Visual Studio 6 CD (or folder), right-click Setup.exe and select Run As Administrator.
On any Program Compatibility Assistant warnings, click Run Program.
Step through the setup screens until you're able to choose Custom Setup, then click next.
On the setup options, install the following items and nothing else:
Microsoft Visual Basic 6.0
ActiveX
Data Access
Graphics
Click continue and the process will start, and (hopefully) eventually complete.
Skip the installations of the MSDN CD, BackOffice, VSS and SNA Server, and clear the checkbox for "Register Now". Setup should be complete.
Download the VB6 Service Pack 6 from http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=A8494EDB-2E89-4676-A16A-5C5477CB9713&displaylang=en and install.
Change the compatibility settings for Visual Basic (to get it to run a little more smoothly under Windows 7) by browsing to C:\Program Files\Microsoft Visual Studio\VB98, right-clicking the VB6.exe file, and selecting properties.
On the Compatibility tab, check the following:
Run this program in compatibility mode for Windows XP (Service Pack 3)
Disable Visual Themes
Disable Desktop Composition
Disable display scaling on high DPI settings
When you start up the IDE, you may get a notification saying that the color scheme has been changed to Windows 7 Basic, but it will be changed back to Aero once you exit. Everything should be working fine at this point!
Note: when you first run your new install vb6 run it with admin rights and with xp2 compatibility so that your exe can run on any system.
The word "supported" is used loosely in this thread, potentially leading the unwary reader to the conclusion that Microsoft supports the VB6 IDE (that is, the integrated development environment) on operating systems beyond Windows XP. This fact clearly is stated in the table that appears on the page at this link:
https://blogs.msdn.microsoft.com/nikosan/2012/04/20/support-statement-for-visual-basic-6-0-on-windows-8-updated/
Note that executables developed using VB6 are in fact compatible with Windows OS's from Windows XP through Windows 10--32/64-bit versions:
https://blogs.windows.com/buildingapps/2015/06/22/getting-ready-for-windows-10-sdks-compatibility-bridges/
Anyone using non-standard methods to coax the IDE into working on OS's that Microsoft does not support is exposing themselves/their organizations/their employers to risk and is not suitable for risk-averse organizations.
Having said that, I think the purest solution is to install Windows XP onto a virtual machine and run that VM in a modern host OS, such as Windows 10. That works just fine, and you can install directly from the VB6 Setup disc without making any pre-install/post-install customizations.
I had a Vista x64 box with a working copy of the VB6 IDE (which was supported). I upgraded the OS to Windows 7 x64 and the VB6 IDE still works fine. You could try that. I know, a huge PITA and kludgy but still, it worked for me.
I run Windows 7 Ultimate 32-bit, installed Windows Virtual PC - XP Mode, and that solved my problem isince I can run MSDEV 6.0 in the XP Window.
Not esay to install XP Mode though, the MS site is buggy.
The VB6 programming language is supported on the Windows 10 Technical Preview.
Visual Vasic 6 applications run and the VB6 IDE installs and works too.
I have the VB6 IDE running OK on Win-XP-16, Win-7-32, Win-7-64, Win-8.1-32, Win-8.1-64, win-10-32 and win-10-64 by using the instructions above which basically say, turn off UAC, run the installer AS ADMIN, and then set the VB6.exe file to run in XP-SP3 Compatibility mode.
I have had some issues with it and have had to do a bit more googling to solve these but I don't remember any more what those issues or solutions were.
I've even got the VB3 IDE running on the 32-bit versions of XP, Win-7, Win 8.1 and Win-10 - without even installing them - just copied the C:\VB folder from another computer and copied the *.LIC license files and *.VBX etc files as well.
I have successfully installed vb6 on win 7 32 bit by installing xp first then installing new win 7, (not upgrade), and do not format. then it will install vb6 without a problem
It's depending on your build version of Windows 7.
If your Win7's version is lower or is not updated, it has MANY PROBLEMS with compatibility.
But mine is newer Win7 version and has NO COMPATIBILITY TROUBLE.
I am currently using VB6 , VS6 and they still work fine!
If Properties->Compatibility->Windows XP doesn't help, fix it with UPDATING your Win7.

Resources