1
2
3
4
5
6
7
8
9
10
11
12
|
!define PRODUCT_NAME "Test Product"
!define COMPANY_NAME "Test Company"
!define PRODUCT_VERSION "1.0.1.25"
VIAddVersionKey 'ProductName' '${PRODUCT_NAME} Setup'
VIAddVersionKey 'Comments' '${PRODUCT_NAME} Setup'
VIAddVersionKey 'CompanyName' '${COMPANY_NAME} Co., Ltd.'
VIAddVersionKey 'LegalCopyright' 'All Rights Reserved.'
VIAddVersionKey 'FileDescription' '${PRODUCT_NAME} Setup'
VIAddVersionKey 'FileVersion' '${PRODUCT_VERSION}'
VIAddVersionKey 'ProductVersion' '${PRODUCT_VERSION}'
VIProductVersion '${PRODUCT_VERSION}'
|
cs |
빌드 하면, 속성->자세히 에 노출되는 파일 정보 설정됨
- NSIS 사이트 예시대로 하면,
저중에 자주 변경되는(사실상 빌드 때마다 변경되는) 파일 버전을 변경하기 위해선
빌드 시 마다 스크립트 파일을 열어서 수동으로 변경해야 하는 불편함이 있다.(사실상 하드코딩이기에)
그래서 빌드 시 자동으로 버전 정보 적용하는 방법
1
2
3
4
5
6
7
8
9
10
11
12
13
|
!define PRODUCT_NAME "Test Product"
!define COMPANY_NAME "Test Company"
;!define PRODUCT_VERSION "1.0.1.25" ;제거
!searchparse /file .\version\version.ini `version=` PRODUCT_VERSION ;추가
VIAddVersionKey 'ProductName' '${PRODUCT_NAME} Setup'
VIAddVersionKey 'Comments' '${PRODUCT_NAME} Setup'
VIAddVersionKey 'CompanyName' '${COMPANY_NAME} Co., Ltd.'
VIAddVersionKey 'LegalCopyright' 'All Rights Reserved.'
VIAddVersionKey 'FileDescription' '${PRODUCT_NAME} Setup'
VIAddVersionKey 'FileVersion' '${PRODUCT_VERSION}'
VIAddVersionKey 'ProductVersion' '${PRODUCT_VERSION}'
VIProductVersion '${PRODUCT_VERSION}'
|
cs |
설명하자면,
지정 경로에 있는 파일 (.\version\version.ini ) 을
지정된 형태의 값을 읽어 변수에 저장 (`version=` PRODUCT_VERSION)
하여 빌드 한다.
version 파일명 및 형식은 그냥 개발자가 정하면 되고, 예시의 파일은
이런식.
이렇게 설정하면, 외부의 빌드 시스템(젠킨스와 같은)에서 빌드 시 해당 파일의 값을 변경 후 빌드 하면
자동으로 변경된 버전으로 빌드 된다.