2

InstallShield 2011 기본 MSI를 사용하여 표준 패치를 성공적으로 만들었습니다. 설치 한 응용 프로그램의 이전 버전을 감지하는 데 문제가 있습니다. 예를 들어, 버전 3.7.0.201로 패치하려는 3.7.0.188의 기본 버전이있는 XYZ라는 응용 프로그램이 있습니다. 이 패치를 3.7.0.188베이스에 성공적으로 적용 할 수 있습니다. 이제 이전 버전의 응용 프로그램 XYZ (3.7.0.173)를 설치하고 내 패치를 적용하려고하면 실패합니다. 이걸 감지하고이 일을 할 수 없다는 대화 상자를 보여주고 싶습니다. 아니면 내 생각이 잘못 됐나요? 이 작업을 수행하는 올바른 방법은 무엇입니까? 나는 InstallShield가 본질적으로 이것을 할 수 있어야한다고 생각한다.표준 패치를 사용하는 경우 이전 버전을 어떻게 감지합니까?

+0

BTW, "실패 함"은 꽤 기술적이지 않습니다. 상세 로그에 표시되는 관련 오류 코드뿐만 아니라 표시되는 오류 메시지 (설정 중단 대화 상자 일뿐)를 제공하는 것이 더 명확합니다. –

+0

이것은 내가 얻은 오류입니다 : 오류 1328. C : \ Config.Msi \ PTC90A.tmp 파일에 패치 적용 오류가 있습니다. 아마도 다른 방법으로 업데이트되었을 것이므로이 패치로 더 이상 수정할 수 없습니다. 자세한 내용은 패치 공급 업체에 문의하십시오. 시스템 오류 : -1072807676 – user1893305

답변

0

일반적으로 대상과 일치하지 않는 버전에 패치를 적용하려고하면 Windows Installer에서 "업그레이드 할 프로그램이 없기 때문에 Windows Installer 서비스에서 업그레이드 패치를 설치할 수 없습니다 또는 업그레이드 패치가 프로그램의 다른 버전을 업데이트 할 수 있습니다 ... "이 메시지가 나타나지 않습니까?

이 정보는 InstallShield가 아닌 해당 컴퓨터에서 관리합니다.

+0

메시지가 표시되지 않습니다. 로그에서 제품 코드와 업그레이드 코드를 비교할 때 두 코드가 모두 유효하지만 레지스트리에서 제품 코드를 다시 찾으면 데이터베이스에서 찾을 수 없다고 말합니다. 나는 그것이 어떤 데이터베이스를 언급하는지 잘 모르겠다. Flexera 포럼에서이 문제에 대한 도움을 얻으려고했지만 너무 오랜 시간이 걸립니다. – user1893305

+0

예, 레지스트리에서 모든 정보를 찾습니다. 데이터베이스는 실제로 데이터베이스와 같은 테이블을 실제로 포함하고있는 MSI 패키지입니다. 이 설치에 대한 자세한 로그를 첨부 할 수 있습니까? –

+0

로그가 꽤 로그입니다. 여기에 붙여 넣거나 첨부 할 수 있습니까? – user1893305

0

위에서 설명한 작은 업데이트 패치 대신 마이너 업그레이드 패치를 사용하면 다른 동작이 나타나는 경우를 살펴보아야합니다. ProductVersion의 처음 세 부분 중 하나를 변경하지 않았으므로 작은 업데이트를 제공하고 있습니다. Windows Installer는 버전이 동등한 것으로 간주하고 "잘못된"방향으로가는 것을 막기 위해 아무 것도하지 않기 때문에 추론하기가 훨씬 어렵습니다.

Patching and Upgrades과 작은 업데이트 및 사소한 업그레이드에 대한 링크 된 기사를 참조하십시오.