저는이 문제를 직접 경험했습니다. 우리는 VS 2005를 사용하여 MSI를 구축했으며, 어떤 이유로 든 실수로 마지막 릴리스에서 업그레이드 코드를 변경했습니다. 이로 인해 RemovePreviousVersions 플래그가 설정되어 있어도 프로그램 추가/제거 대화 상자에 프로그램이 두 번 표시되었습니다. 루즈 업데이트 코드에 대한 항목을 넣기 위해 업그레이드 테이블을 편집해야한다는 것을 알았습니다.
이 프로세스는 InstallShield에서 더 쉬워야하지만, 대다수의 경우 사용해야하는 VS 지침이 포함됩니다.
VS 2005에서 업그레이드 테이블을 편집 할 수있는 권한이 없으므로 Microsoft Orca라는 프로그램을 설치해야했습니다 (MS에 멋진 코드 이름이 있지만 끔찍한 코드가 있음). 제품 이름). Windows SDK와 함께 제공되므로 이미 컴퓨터에 설치되어 있습니다. 다음은 링크입니다 : http://msdn.microsoft.com/en-us/library/aa370557%28v=vs.85%29.aspx
해당 프로그램에서 MSI 파일을 열면 목록 맨 아래쪽으로 업그레이드가 표시됩니다. 처리하려는 업그레이드 코드에 대한 새 항목을 추가해야합니다. 여기를 설명하는 링크는 다음과 같습니다 http://msdn.microsoft.com/en-us/library/aa372379%28VS.85%29.aspx
는 내가 4 (msidbUpgradeAttributesIgnoreRemoveFailure)의 특성으로, 올바른 버전 번호를 제거하고 싶었 업그레이드 코드 및 PREVIOUSVERSIONSINSTALLED의 ActionProperty에 새 행을했다.
이 내용을 올바르게 이해하면 기본적으로 MSI에 RemovePreviousVersions 플래그와 함께이 다른 업그레이드 코드를 고려하여 제거 할 것이라고 말했습니다. 그것은 내 경우에 효과가 있었으므로이 중 일부가 도움이 될 것입니다.
행운을 빈다.
감사합니다 크리스토퍼 ... 앞으로 며칠 이내에이 문제를 해결할 것입니다. 정말 시간 내 주셔서 감사합니다 !!! – Jamie