Install of VS2017 broke VC#2008 coloader80.dll configuration

Open command prompt with Admin priviledge and do followings.

regsvr32 "%CommonProgramFiles%\Microsoft Shared\VS7Debug\coloader80.dll"

if it fails, do this.

regsvr32 "%CommonProgramFiles(x86)%\Microsoft Shared\VS7Debug\coloader80.dll"

CMake could not find boost

Create a new CMakeFiles.txt below in a new folder.

cmake_minimum_required(VERSION 3.7)

set(Boost_DEBUG 1)

set(Boost_INCLUDE_DIR Y:/L/boost_1_53_0)
set(Boost_LIBRARY_DIR Y:/L/boost_1_53_0/lib)

set(Boost_USE_STATIC_LIBS        ON)

find_package(Boost 1.53 REQUIRED COMPONENTS
              date_time filesystem iostreams)


Adjust Boost_INCLUDE_DIR and Boost_LIBRARY_DIR to your environment and try to switch ON and OFF for Boost_USE_STATIC_LIBS and Boost_USE_MULTITHREADED.

How to check Windows or process is 64bit

bool Is64BitWindows()
#if defined(_WIN64)
	return true;  // 64-bit programs run only on Win64
#elif defined(_WIN32)
	// 32-bit programs run on both 32-bit and 64-bit Windows
	// so must sniff
	BOOL f64 = FALSE;
	LPFN_ISWOW64PROCESS fnIsWow64Process;
	fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandle(TEXT("kernel32")), "IsWow64Process");
	if (NULL != fnIsWow64Process)
		return !!(fnIsWow64Process(GetCurrentProcess(), &f64) && f64);
	return false;
	return false; // Win64 does not support Win16

Other functions, for finding CPU and whether the process is 64bit.

typedef void(WINAPI *LPFN_GetNativeSystemInfo)(LPSYSTEM_INFO);
LPCWSTR GetPlatformW()
	static WCHAR sT[64];
	static bool done = false;
	if (done)
		return sT;
	LPFN_GetNativeSystemInfo fnGetNativeSystemInfo = (LPFN_GetNativeSystemInfo)GetProcAddress(
		GetModuleHandle(TEXT("kernel32")), "GetNativeSystemInfo");
	if (NULL == fnGetNativeSystemInfo)
		lstrcpy(sT, L"Unknown");
		SYSTEM_INFO si = { 0 };
		switch (si.wProcessorArchitecture)
		case PROCESSOR_ARCHITECTURE_AMD64:	lstrcpy(sT, L"AMD64");	break;
		case PROCESSOR_ARCHITECTURE_ARM:	lstrcpy(sT, L"ARM");	break;
		case PROCESSOR_ARCHITECTURE_IA64:	lstrcpy(sT, L"IA64");	break;
		case PROCESSOR_ARCHITECTURE_INTEL:	lstrcpy(sT, L"INTEL");	break;
		default:lstrcpy(sT, L"Unknown"); break;
	return sT;
bool Is64BitProcess()
#if defined(_WIN64)
	return true;
	return false;

I tried to run this code only on AMD64. I don’t know what happens in ARM or IA64 platforms.

Refresh the taskbar of Windows 10

Sometimes windows 10 taskbar failed to draw the application icon. ie4uinit.exe can fix it. Create the following batch file and run it.

REM @echo off
set "UTIL=%SystemRoot%\System32\ie4uinit.exe"
set "UTIL=%SystemRoot%\Sysnative\ie4uinit.exe"
%UTIL% -ClearIconCache
%UTIL% -show

Differences of Command prompt of Visual Studio

There are many kind of shortcuts of command prompt of Visual Studio. Basically the differences are the setting of Host and Target. Host refers to the compiler or linker of which 64bit or 32bit is chosen. Target refers to the resultant exe or dll which is targeted 64bit or 32bit.

Developer Command Prompt for VS 2017 (default)


x64 Native Tools Command Prompt for VS 2017


x64_x86 Cross Tools Command Prompt for VS 2017


x86 Native Tools Command Prompt for VS 2017

Same as the default.

x86_x64 Cross Tools Command Prompt for VS 2017


Build ffmpeg-debug with Windows10 64bit

Install msys2

Install the 64bit msys2. I downloaded msys2-x86_64-20161025.exe and installed it on C:\local\msys64.

Install necessary tools

Run msys2-64 and install tools as follows.

$ pacman -S make pkg-config diffutils
$ pacman -S mingw-w64-x86_64-yasm mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL

Install git and obtain source files

$ pacman -S git
$ git clone ffmpeg

Build with debug option

$ cd ffmpeg
$ ./configure --enable-shared --disable-static --disable-optimizations --disable-mmx --disable-stripping
$ make
$ make install

debug with gdb

$ pacman -S gdb
$ gdb --tui ffmpeg_g.exe

VMWare : Netwoking of Guest OS is not available after restoring

Stopping network related service will fix it.

C:\WINDOWS\system32>net stop bits
The Background Intelligent Transfer Service service is stopping..
The Background Intelligent Transfer Service service was stopped successfully.
C:\WINDOWS\system32>net stop wuauserv
The Background Intelligent Transfer Service service is stopping..
The Background Intelligent Transfer Service service was stopped successfully.

wuauserv is Windows Update Service, I do not know what will happen if wuauserve stops during this service is actually updating OS.