2017-09-18 7 views
0

WIX .wxs 프로젝트 파일의 문자열을 기반으로 GUID 생성을 시드 할 수있는 방법이 있습니까? 이 새로운 GUID를 생성합니다 (예 : major.minor.built.revision) 나는 내 프로그램을 마이너/메이저 버전을 변경할 때 있도록WIX 설치 프로그램의 어셈블리 버전에서 시드 GUID 생성

<Product Id="Seeded GUID from $(var.MajorVersion)$(var.MinorVersion)" 
     Name="PCMTec" 
     Language="1033" 
     Version="$(var.BuildVersion)" 
     Manufacturer="weeooowwwww" 
     UpgradeCode="This GUID never changes"> 
</Product> 

목표는 그렇지 않은 그러나 단지 건설/개정 번호 경우입니다.

이 작업은 수동으로 수행 할 수 있지만 자동화 할 수 있어야합니다.

편집 : 이와 같은 GUID를 마사지하면 어떤 문제가 있습니까?

"9AAADB83-ACF1-4DB8-BE8B-69C8061A $ (var.GUIDInsert)"을

버전 0.35의 경우 GUIDInsert가 "0035"을 동일 것 인. 마지막 4 자리 16 진수는 GUID의 노드 ID (예 : GUID의 임의/고유 부분)의 일부입니다.

예 끝에 9AAADB83-ACF1-4DB8-BE8B-69C8061A이 일을 본질적으로 잘못된 것은 당신이 9999에서 롤오버 일단하지만 결국 부족할 것이 없다 을 0035

답변

0

추가 된 버전 번호 0000까지. 당신은이 많은 릴리스에 도달 할 수 없지만 여전히 고려해야 할 사항입니다. 물론 5 자리 숫자로 변경할 수 있습니다.

하지만 처음에 왜 이것을하고 싶은지 궁금합니다. 실제로 이렇게 할 필요는 없습니다. 이 GUID는 "제품"을 나타냅니다. 다른 빌드/리비전의 다른 바이너리를 사용하는 경우 이전 빌드의 것과 동일한 MSI가 실제로 생성됩니까?

자동으로 생성 된 GUID를 Product Id="*"과 함께 사용하여 발생하는 문제를 해결하려고합니까?