비누 상자
다른 버전으로 구축 DLL 및 예전 친구의 혼합을 포함하는 것이 우리의 제품의 패치 설치 ...
그리고 거기 당신은 이미 문제가있다 : 우리의 정책 항상 패치 모두입니다. 배포되는 (우리의) C++ 바이너리 세트는 완전히 독립적입니다. C++ 바이너리 세트의 부분 업데이트를하지 않습니다. VC 런타임 문제와 별도로 무언가가 깨질 가능성이 너무 큽니다.
(당신이 C의 DLL의 API 뒤에 "방화벽"하는 모듈이있는 경우 물론, 그것은 뭔가 다른입니다.) 질문
나는 마이크로 소프트 C를 이해하는 방법에 관해서는
(++) 2010 년 이후의 런타임 라이브러리는 모두 "System32"에 설치되고 주요 버전별로 버전이 변경되므로 은 일반적으로입니다. 하나의 Windows 시스템에는 하나의 VS2013 Redist 세트 만 설치되며 기본 설정을 사용하는 모든 응용 프로그램에 사용할 수 있습니다 (즉, 매니페스트 및 WinSxS 포함).
즉, 모든 VS2013 재배포 가능 라이브러리는 완전 전달 및 역방향 ABI 호환이어야하므로 일반적으로 빌드 서버에 고객 시스템과 다른 "재발행"버전이 없는지 여부는 중요하지 않습니다. 모든 모듈이 DLL VCruntime 버전을 사용하는 한 언제든지 모든 프로세스에로드 할 수있는 모듈 만 있으므로 모든 모듈은 호환되어야하는 모듈을 볼 수 있습니다.
그래도 나는 고객 시스템에서만 나타낼 수있는 이전 버전으로 인한 잠재적 인 버그를 배제하기 위해 (최신) VCRedist를 패치에 포함시키는 것이 유리할 것이라고 생각합니다.
VCRedist가 공유되는 방식으로, 사용자 (또는 다른 사람)는 부 버전에 대해 많은 것을 보장하지 않으므로 클라이언트 컴퓨터가 최소한 사용중인 버전을 실행하도록 할 수 있습니다.
IIRC VS2013 C++ 런타임에는 하나의 세트 (x86, x64 및 ARM) 만 있습니다. 런타임 구성 요소에 대한 업데이트가 있다는 것을 알지 못합니다. VS2013 및 VS2013.3 C++ 런타임 각각에 대한 링크가 있습니까? – Niall
@ Niall - 정확할 수도 있습니다. 단 하나의 버전 일 수도 있습니다! 나는 Visual Studio 2012를 위해 다른 업데이트를위한 다른 런타임 버전이 있다는 것을 알고있었습니다. 어쨌든 업데이트 4는 적어도 그렇게 생각했기 때문에 아마도 2013에 대해서도 마찬가지라고 생각했습니다. –