How to compile Winsock Control 6.0 on VB6 in Windows 10? - windows-10

When trying to compile in the "Winsock Control" component on Windows 10, I get this error:
mswinsck.ocx could not be loaded
Notably, I have installed VB6 SP6, and with SP6 it works great on Windows 8.1 and Windows 7, but it won't compile on Windows 10.
Also notably, the compiled .exe, when compiled from Win7/8, has no problem loading ws2_32.dll. It's just the compiling step that doesn't work on Win10.
Running Dependency Walker, depends.exe suggests mswinsck.ocx can't be loaded because it's depending on API-MS-WIN-CORE-SYNCH-L1-2-0.DLL and API-MS-WIN-CORE-PROFILE-L1-1-0.DLL and API-MS-WIN-CORE-PROCESSTHREADS-L1-1-0.DLL and a bunch of other DLLs with similar names (I think these DLLs have something to do with SysWOW64), which can't be found:
Does anyone know how to compile in "Winsock Control" in VB6 on Win10?
(Also notably, it seems the MSFlexGrid component is un-compilable on Win10 in a similar fashion, but this question is about the WinSock control, not MSFlexGrid).
EDIT: additional info: I have installed "VB6 Service Pack 6", VB version is "Version 9782 VBA retail 6.0.9782", and the version on the mswinsck.ocx file itself is 6.1.97.82 (and thanks to the comments, I know a newer one exists: 6.1.98.16)

I have run into this problem often on Windows 10 machines and resolved it by unregistering and re-registering each OCX using an elevated Command Prompt:
Open a Command Prompt window from the Start Menu by right-clicking it and choosing "Run as administrator". It is important that your Command Prompt window is titled "Administrator: Command Prompt".
Go to SysWOW64 folder by typing cd \Windows\SysWOW64
Unregister OCX by typing regsvr32 -u mswinsck.ocx
Re-register OCX by typing regsvr32 mswinsck.ocx
That usually fixes the problem.
If you use Visual Studio Installer 1.1 to deploy applications, you will probably have the same issue on Windows 10 systems you deploy to. The installer doesn't seem to properly register files. If you use Visual Studio 2019 and the Setup extension, that will build an installer that properly registers the OCX, in my experience.

Related

Where to find dotTrace after installation on Windows 8.1 Pro

I have installed JetBrains dotTrace ( https://www.jetbrains.com/profiler/ ) on Windows 8.1 Pro. Installation has been completed successfully.
Now how to open dotTrace interface? I did search in Start Menu but couldn't find. I searched by "dottrace" and "jetbrains" keyword but no success.
There should be "JetBrains dotTrace 20xx.x" entry in Start Menu. If it doesn't exist, I'd recommend you to reinstall dotTrace or contact dotTrace support team.
But if you still want to open dotTrace manually, you need to run dotTrace64.exe file from %localappdata%\JetBrains\Installations\dotTrace11 folder (for 2017.3 version of dotTrace).

error cannot open file 'kernel32.lib'

I have installed VS2013 and VS2015 on Windows 7.
I have an existing C++ Dll project that was building fine but now all of a sudden it wont build using VS2015 and gives me the error:
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
From this post: fatal error LNK1104: cannot open file 'kernel32.lib' I went looking for the kernel32.lib file and it is located here:
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86
When I go to my Projects Properties-->Linker-->Input and select Macros I see that this path is indeed there:
My Platform Toolset is set to Visual Studio 2013 - Windows XP (v120_xp) which is what it always has been set to.
Why has my Project all of a sudden stopped building? What could have gone wrong?
I had this similar problem today with Visual Studio 2013 when I changed my VC++ Directories:
Project->Properties->VC++ Directories:
Include Directories
If the cause is some plug-in/extension that changes your props files, it may in consequence change the "Visual C++ Directories" settings of your project.
So, the solution that worked for me is described on my own answer Can't compile 64 bits Visual Studio 2010 projects, which I fully transcribe to here:
After I asked a colleague for help, we noticed, that even getting
clean builds of the projects from TFS, with overwrite option, the
Project's Configuration Properties > VC++ Directories on my computer
were always different from other computers.
Searching more we found the solution on the last post of Reset
include/lib path, which I will fully transcribe:
use "del %HOMEPATH%\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props"
is not always the right way.
Better use "del %USERPROFILE%\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props"
where the application data folder is normally placed in.
Then I've looked inside the contents of Microsoft.Cpp.x64.user.props
and I've seen that there were things added by Visual Leaks Detector.
Which is reasonable, as one month before, I did a memory leak analysis
using VLD.
So, I deleted the file and now everything compiles fine at 64bits!
I had to install the Visual C++ for Desktop Development.
Open Visual Studio Installer and go to Installed tab. Click on the Change Button on your installed Visual Studio Community Edition. -> On the Workloads Tab there should be a option Desktop Development with C++. Activate that option and modify the changes.
Afterwards it was working for me.
I had the same problem today. As it turned out somehow the SDK 10.0.15063.0 got installed on my system but without the Desktop C++ files. Selecting the SDK in the list of installed programs, doing a change install and there selecting the Desktop C++ options added the necessary files and now I can link again.
I got this error fatal error lnk1104: cannot open file 'kernel32.lib'.
this error is getting because there is no path in VC++ directories.
To solve this probelem
open visual studio 2008
go to Tools-options-Projects and Solutions-VC++ directories-*
then at right corner select Library files
here you need to add path of kernel132.lib
In my case It is C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
Thank you.
I had this following upgrade of some projects from VS2013 to VS2017.
Original project had a manual modification to the "Library Directories" item under VC++ Directories in the project settings.
This meant it did not pick up changes from the upgrade.
Using the option will reset this to something that works (assuming the SDK is installed OK) provided anything other than the default is not needed of course. In my case it was trying to point at the v7.1 SDK but that was not installed for vs2017.
in vs 2019, just run the installer, click modify, and then in the individual components tab, remove windows 10 SDK. then again run the installer and add windows 10 sdk!
I had this similar problem today with Visual Studio 2017. My cause turned out to be a bad environment setting in NETFXSDKDir, specifically:
NETFXSDKDir=C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1
It needed to have a value of:
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x86
I have a more detailed response here:
fatal error LNK1104: cannot open file 'kernel32.lib'
In VS 2022 I was trying to compile an old solution that originally ran in VS 2010 then in VS 2019. It continually gave me the "cannot find Kernel32.lib" error. I spent 8 hours trying everything, including everything on this page. What worked for me: Configuration Properties -> VC++ Directories -> Library Directories and "inherit from parent" (guessing this sets to defaults) fixed this for me. Also note: I'm using winsock and directinput.

Visual studio 2012 msi setup does not update .exe file in newer version

I am building a setup in VS2012 - installshield.
I have to upgrade the version of my application and create a new installer.
I changed the product version and update the version of my application and setup too. (they where 2.0.2.0 now are 2.0.3.0).
The installation works correctly and the updates seem to work (2.0.2.0 does not exist anymore and 2.0.3.0 is installed) but it happens that myapplication.exe after the msi is launched is erased!
Only if I run the msi another time in repair mode the .exe is added.
I would like that the installation will keep the exe without this boring second step.
I answer my own question.
I naively just forgot to set the compile mode from debug to release; so the compilation worked but I had this side effect.

Can't get qwt_designer_plugin to load in Qt Creator

My setup is:
Visual Studio 2012
Qt 5.2.0 from
http://download.qt-project.org/official_releases/qt/5.2/5.2.0/qt-windows-opensource-5.2.0-msvc2012-x86_64-offline.exe
Unzip Qwt from http://sourceforge.net/projects/qwt/files/qwt/6.1.0/qwt-6.1.0.zip/download to C:\qwt-6.1.0
Opened Qt 5.2.0 64-bit for Desktop (MSVC 2012) and ran "qmake qwt.pro"
Opened VS2012 x64 Native Tools Command Prompt and ran "nmake" and "nmake install"
Set QWT_ROOT = C:\qwt-6.1.0
Added C:\qwt-6.1.0\lib to PATH
Copied C:\qwt-6.1.0\plugins\designer\qwt_designer_plugin.dll to C:\Qt\Qt5.2.0\Tools\QtCreator\bin\plugins\designer
When I open Qt Creator and edit the UI then go to Tools->Form Editor->About Qt Designer Plugins I see "Cannot load library qwt_designer_plugin.dll:" but no error or reason.
I used Dependency Walker to check the Dll, and QtCreator.exe and all its dependencies are 32-bit whereas my build of qwt_designer_plugin.dll is 64-bit. I wondered if this was causing the problem so I:
Downloaded Qt5.2.0 from http://download.qt-project.org/official_releases/qt/5.2/5.2.0/qt-windows-opensource-5.2.0-msvc2012-x86-offline.exe and install into C:\Qt\Qt5.2.0-32
Unzipped Qwt into C:\qwt-6.1.0-32bit to create a fresh copy.
Opened Qt 5.2.0 32-bit for Desktop (MSVC 2012), cd into C:\qwt-6.1.0-32bit and "qmake qwt.pro"
Opened VS2012 x86 Native Tools Command Prompt and ran "nmake" and "nmake install"
Copied C:\qwt-6.1.0-32bit\designer\plugins\designer\qwt_designer_plugin.dll to C:\Qt\Qt5.2.0\Tools\QtCreator\bin\plugins\designer
This works fine and I can now see the plugin loaded correctly and add Qwt widgets in the UI designer.
This worked for me:
Step 1
I check what MSVC version the QtCreator in my Qt framework version was built with. E.g. QtCreator that comes with Qt_5.6.2 MSVC2015 (qt-opensource-windows-x86-msvc2015-5.6.2.exe) was built with MSVC 2013 (qt-opensource-windows-x86-msvc2013-5.6.2.exe).
Step 2
I install qt-opensource-windows-x86-msvc2013-5.6.2.exe and build Qwt(plugin) with that Qt version.
For comparison here is what happens when Qwt is built with Qt_5.6.2 MSVC2013 and Qt_5.6.2 MSVC2015:
Also here:
https://stackoverflow.com/a/20156419/3096593

VS 2012 Update 3 broke my VS

I am using Windows 8 64 bit machine with VS 2012 ultimate. After installing Update 3 and restarting the machine, I get following error whenever I try to open VS.
---------------------------
devenv.exe - System Error
---------------------------
The program can't start because MSVCR110.dll is missing from your computer. Try reinstalling the program to fix this problem.
---------------------------
OK
---------------------------
The said file is already present in C:\Windows\System32 folder. Please let me know what can be done here..don't want to reinstall that monster again.
You need to check where your projects are being loaded. I have VS installs under both x86 and 64. You'll need downloads for both on a 64 bit operating system.
http://www.microsoft.com/en-us/download/details.aspx?id=14632
http://www.microsoft.com/en-us/download/details.aspx?id=30679
Please see:
http://social.msdn.microsoft.com/Forums/vstudio/en-US/d081943f-fbe8-4a28-b8c0-d83ded9b1a67/msvcr100dll-missing
Some basic tips:
Ensure you have run the install with Administrator rights.
VS won't always ask for a computer restart. However, reboot your computer.
A note about this update.
Note Visual Studio and Team Foundation Server (TFS) installation
mechanics are different. The Visual Studio update installs on top of
whatever is already installed on the computer. The TFS update is a
full layout that replaces whatever is installed on the computer.
Before you try to apply the TFS update, make sure that you have a full
backup of your current databases. If the TFS update installation
fails, you will be unable to restart the update or roll back to the
earlier version of TFS without performing a restore procedure.
http://support.microsoft.com/kb/2835600
If you get this error it means you don't have Microsoft Visual C++ Redistributable 2012 Update 3.Try to download it from http://www.microsoft.com/en-us/download/details.aspx?id=30679 .Hope this helps.
Since it is a 64bit system, copying the missing file to the C:\Windows\SysWOW64 folder should solve your problem. If it keeps failing for other dll just keep copying.
With same error (MSVCR110.dll not found) really reinstalled Microsoft Visual C++ Redistributable 2012 not solved all problems. Some VS tools report - not found msvcr110_clr0400.dll. After repair installation of .net 4.0 (or 4.5/4.5.1) all work fine.

Resources