InstallShield-업그레이드 설치 프로그램을 빌드하는 방법


0

문맥

현재 다음 버전의 소프트웨어 설치 프로그램을 작성해야합니다.

이전 버전 (v16)의 모든 프로젝트 파일이 있으며 현재 v17을 빌드하고 있습니다.

InstallShield 2015 Professional Edition (버전 22 | 서비스 팩 2)을 사용하고 있습니다

문제

여기에 기본 MSI 프로젝트 파일이 있으며 버전 번호를 변경하고 다음 버전의 소프트웨어에 필요한 사항을 변경했습니다. 그러나 설치 프로그램을 실행할 때 이미 버전 번호가 있음에도 불구하고 이미 설치되어 있다고 말합니다 다른)

이 문제를 조사 할 때 이에 대한 게시물이 많이 있지만 "제품 코드"또는 "업그레이드 코드"또는 두 코드 모두 또는 코드 또는 다른 코드가 누락되어야하는 결정적인 답을 찾을 수 없습니다.

도움을 주시면 감사하겠습니다.

답변:


1

소프트웨어 설계 방법에 따라 다릅니다. 여러 버전을 나란히 실행할 수 있습니까? 하나의 버전 만 실행할 수 있습니까?

체크 아웃 제품 코드에 대한 Microsoft 기사 뿐만 아니라 Upgradecode을 .

업데이트에 대해 다음 중 하나라도 해당되면 제품 코드를 변경해야합니다.

  • 동일한 시스템에서 원본 제품과 업데이트 된 제품을 함께 설치할 수 있어야합니다.
  • .msi 파일 이름이 변경되었습니다.
  • 기존 구성 요소의 구성 요소 코드가 변경되었습니다.
  • 기존 기능에서 구성 요소가 제거됩니다.
  • 기존 기능이 기존 기능의 자식으로 만들어졌습니다.
  • 기존 하위 기능이 상위 기능에서 제거되었습니다.

업그레이드 코드의 경우 다음 예가 제공됩니다.

다음 두 시나리오는 UpgradeCode 사용을 보여줍니다.

  • 제품 A와 제품 B는 동일한 ProductLanguage, ProductVersion 및 UpgradeCode와 함께 제공되었습니다. 제품 A와 제품 B의 제품 코드는 서로 다릅니다. 제품에 동일한 UpgradeCode가 할당되었으므로 Upgrade 테이블을 사용하여 제품 A의 이전 버전을 제품 B의 이전 버전과 구별 할 수 없습니다.이 경우 제품을 무시하는 제품 A의 업그레이드 설치를 수행 할 수 없습니다. B. 이들은 서로 다른 제품이므로 각각 다른 업그레이드 코드가 할당되어 있어야합니다.
  • 제품 A의 영어 및 프랑스어 버전은 동일한 ProductVersion 및 UpgradeCode와 함께 제공됩니다. 제품 A의 영어 및 프랑스어 버전은 서로 다른 제품 언어 및 제품 코드를 갖습니다. 영어 버전과 프랑스어 버전이 모두 동일한 UpgradeCode를 공유하더라도 이전 영어 버전 만 감지되고 업그레이드되고 이전 프랑스어 버전은 무시되도록 업그레이드 테이블을 작성할 수 있습니다. 제품의 다른 언어 버전은 동일한 UpgradeCode를 사용할 수 있습니다.

따라서 업그레이드 코드는 기술적으로 다른 버전의 실제 업그레이드와 아무 관련이 없습니다. 제품 코드를 변경해야합니까? 그러나 제품 코드를 변경하면 이전 버전의 제거를 자동화 할 수 있습니까? 도움을 주셔서 감사합니다 :)
Gaza

기사에서 언급했듯이 실제로 직면하고있는 내용에 따라 다릅니다. 작은 소프트웨어, 작은 업그레이드, 패치 또는 주요 업그레이드가 될 때마다 어떤 소프트웨어를 사용하고 있는지 전혀 알지 못합니다. 설치 프로그램의 "레이아웃"을 변경할 때마다 변경하지 마십시오. 아마 할 수는 있지만 그렇게하는 방법을 조사해야합니다. 결국 이전 버전의 제품 코드 및 업그레이드 코드를 알고 있습니다.
세스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.