기본 썸네일 이미지

[NSIS] Installer 버전 정보 설정( + 빌드 시 변경)

2022. 10. 31. 17:03·DEV/NSIS
  • 인스톨러 자체 모듈의 버전 및 파일 설명 추가 하는 스크립트
    ( ref : https://nsis.sourceforge.io/Reference/VIAddVersionKey)
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}'
Colored by Color Scripter
cs


설명하자면, 

지정 경로에 있는 파일 (.\version\version.ini ) 을
지정된 형태의 값을 읽어 변수에 저장 (`version=` PRODUCT_VERSION) 
하여 빌드 한다.

version 파일명 및 형식은 그냥 개발자가 정하면 되고, 예시의 파일은

 이런식.

 

 

 

이렇게 설정하면, 외부의 빌드 시스템(젠킨스와 같은)에서 빌드 시 해당 파일의 값을 변경 후 빌드 하면
자동으로 변경된 버전으로 빌드 된다.

저작자표시 비영리 동일조건 (새창열림)

'DEV > NSIS' 카테고리의 다른 글

[NSIS] 함수 들  (0) 2022.10.31
'DEV/NSIS' 카테고리의 다른 글
  • [NSIS] 함수 들
retire
retire
    반응형
  • retire
    NeedRetire
    retire
  • 전체
    오늘
    어제
    • 분류 전체보기 (22)
      • DEV (21)
        • C++ (9)
        • Jenkins (6)
        • Socket (4)
        • NSIS (2)
      • PC Tips (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JAN code
    jenkins 설치
    VIAddVersionKey
    NSIS 함수
    VIProductVersion
    include guard
    Static Control
    모니터인치
    버전 설정
    순환 종속
    NSIS
    MFC
    c2143
    c++
    #pragma once
    c4430
    monitorinfoview
    헤더중복방지
    c2238
    build step
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
retire
[NSIS] Installer 버전 정보 설정( + 빌드 시 변경)
상단으로

티스토리툴바