MFC는 빌드 환경에 따라서 재배포 패키지가 필요하다

Microsoft Visual C++ Redistributable


VS에서 지정한 버전의 컴파일러로 빌드하면

그에 상응하는 재배포 패키지가 있어야 실행이 된다.


그러므로 사용하는 프로젝트의 빌드가 사용하는 재배포 패키지를 포함시켜서

실행의 안정성을 확보하는 것이 좋다.


예를 들어 VS2013에서 빌드한 프로젝트가 Windows 7 혹은 XP에서는 실행 안될 확율이 높다.

그럴 때는 2013 재배포 패키지를 설치하게 한다.

Microsoft Visual C++ Redistributable 2013



프로젝트 초기화 부분에서 다음 코드를 넣는다.


DWORD dwType = REG_SZ;

DWORD dwSize = 128;

HKEY hKey;

TCHAR szBuffer[128] = { '\0', };

LONG lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{F8CFEB22-A2E7-3971-9EDA-4B11EDEFC185}", 0, KEY_READ, &hKey);

if (ERROR_SUCCESS != lResult)

{

AfxMessageBox("재배포 패키지를 설치하겠습니다.");

WinExec("vcredist_x86.exe /qb!", SW_SHOW);

AfxMessageBox("설치 완료");

// xp에선 설치완료후 정확하게 뜨지만 Windows7에선 완료되지 않았는데 뜬다.

}

else

{

//AfxMessageBox("이미 설치됨");

}


본인이 재배포할 패키지의 product code는 다음 링크를 참고 하면 된다.

재배포패키지 product code list

by 무위자연 2016. 6. 30. 12:04
| 1 |