2017-02-14 12 views
0

설치 프로그램을 통해 Visual C++ 재배포 가능 패키지 2013을 필수 구성 요소 (설치되지 않은 경우)로 설치합니다. 하지만 때로는 이미 설치된 VC++가 손상되어 CustomAction에서 DLL 함수가 호출되어 설치 프로그램이 작동하지 않습니다.설치된 제품이 손상된 상태인지 확인하는 방법은 무엇입니까?

그래서 내 질문 : 설치된 VC++ 재배포 가능 패키지가 손상되었는지 여부를 확인할 수있는 방법이 있습니까?

답변

1

일반적으로 상태 검사는 매우 어려운 주제입니다. Windows에 내장 된 파일의 경우 SFC와 같은 도구가 있지만 설치된 다른 패키지로 확장되지는 않습니다. MSI 패키지의 경우 복구를 선택할 수 있으며 경우에 따라 Windows에서 자동으로이 작업을 수행합니다. 이 주제는 일반적으로 Resiliency입니다. 그러나 자동 또는 수동 수리가 야생에서 발생하는 문제를 해결하지 않는 한 그다지 관련성이 없습니다.

그래서 어떤 종류의 문제가 실제로 발생하는지, 어떤 빈도로 무엇이 수정되었는지, 어떤 문제가 수정되었는지에 따라 어떤 문제가 발생할 수 있는지에 대한 의문이 생깁니다. VC++ redist의 수동 복구를 호출하는 것으로 충분하다면 구현하기가 상당히 쉽습니다. 전체 제거 및 재설치가 필요한 경우 훨씬 더 침해가됩니다. 설치의 일부분을 만드는 아이디어는 저에게 잘못된 길을 문지릅니다. 매우 특정한 상황에서만이 작업을 수행해야하는 경우, 이러한 상황을 얼마나 잘 파악할 수 있는지에 따라 달라질 수 있습니다.

설치가 성공적으로 수행되도록하는 것이 중요하다면 사용자 지정 동작 DLL을 정적으로 연결하여 VC++ 패키지의 상태에 더 이상 의존하지 않게 할 수 있습니다. 그러나 응용 프로그램이 VC++ 패키지에 종속되어 있으면이 방법은 응용 프로그램을 크게 도움이되지 않습니다. 아마도 VC++ DLL의 민영화 된 복사본은 보안 업데이트의 경우 VC++ DLL 사본을 서비스하는 데 더 어려움을 겪을 때 (2013 버전에서 지원하는 경우) 잊을 수 있습니다.

다시 말하지만,이 문제는 어떤 종류의 문제가 발생했는지, 문제를 해결할만큼 빈번한 것인지, 치료법이 질병보다 더 나쁜지 여부에 달려 있습니다.