WiX 3.7을 사용하여 MSI를 구축했습니다. 내 *의 .wixproj 프로젝트를 빌드 할 때, 나는 다음과 같은 오류가 발생합니다 :내 WiX 기반 MSI 프로젝트에서 왜 ICE24가 '2014.1.1.4'가 잘못된 버전 문자열이라고 말합니까?
error LGHT0204: ICE24: ProductVersion: '2014.1.1.4' is an invalid version string.
우리 회사가 출시 연도의 주요 버전 특이한 버전 규칙을 사용합니다. 그러나,
A version string has the format xxxxx.xxxxx.xxxxx.xxxxx where x is a digit. The maximum acceptable version string is 65535.65535.65535.65535.
그게 사실이라면 this blog에 따라, 왜 ICE24이 제품 버전에서 트리거?
그래, 버전 라벨링 체계를 채택하고 어디서나 적용 할 수 없다는 것을 알았습니다. 하지만 변경하지 않아도됩니다. MSI의 ProductVersion은 제한되어 있으며 Windows Installer는이를 레지스트리의 제품 Uninstall 키의 DisplayVersion 필드에 복사합니다. 그러나 DisplayVersion은 자유 형식 문자열입니다. 따라서 Windows Installer에서 해당 항목을 숨김으로 표시하고 (ARPSYSTEMCOMPONENT 참조) 사용자 지정 동작으로 내 자신을 만듭니다. 설치의 설치, 제거, 업그레이드, 롤백 단계를 처리하기 위해 사용자 지정 작업을주의해야합니다. –
규칙을 무시하는 것만 큼? 오히려 안정적인 설치 프로그램을 갖고 싶습니다. –
ARP의 DisplayVersion에 대한 규칙은 없습니다. 장점은 "제품 버전"이 게시자, 사용자 및 지원 직원에게 의미가 있다는 것입니다. MSI 파일의 버전은 DLL의 버전과 유사합니다. UX 공간에 유출되면 안됩니다. –