다른 조건에서 약간 다른 버전을 생성 할 수 있도록 NSIS 기반 설치 프로그램이 있습니다.파일 존재시 NSIS 스크립트 조건 컴파일
컴파일 타임에 조건을 쉽게 설정할 수 있습니다. 특정 파일이 디스크에 있으면 대체 브랜딩을 사용할 수 있습니다. 이 동작을 제공하기 위해 makensis.exe에 명령 줄 옵션을 사용할 수는 있지만 컴파일러가이 문제를 해결할 수 있다면 좋을 것입니다.
"IfExist"유형 논리를 컴파일하는 방법이 있습니까?
다른 조건에서 약간 다른 버전을 생성 할 수 있도록 NSIS 기반 설치 프로그램이 있습니다.파일 존재시 NSIS 스크립트 조건 컴파일
컴파일 타임에 조건을 쉽게 설정할 수 있습니다. 특정 파일이 디스크에 있으면 대체 브랜딩을 사용할 수 있습니다. 이 동작을 제공하기 위해 makensis.exe에 명령 줄 옵션을 사용할 수는 있지만 컴파일러가이 문제를 해결할 수 있다면 좋을 것입니다.
"IfExist"유형 논리를 컴파일하는 방법이 있습니까?
!macro CompileTimeIfFileExist path define
!tempfile tmpinc
!system 'IF EXIST "${path}" echo !define ${define} > "${tmpinc}"'
!include "${tmpinc}"
!delfile "${tmpinc}"
!undef tmpinc
!macroend
Section
!insertmacro CompileTimeIfFileExist "$%windir%\explorer.exe" itsThere
!ifdef itsThere
MessageBox mb_Topmost yes
!else
MessageBox mb_Topmost no
!endif
SectionEnd
참고 :!의 여기에 사용되는 시스템 명령은 내가 당신의 메커니즘을하는 방법을 볼 수 있지만 당신이
컴파일 타임 파일 탐지에 대한 일반적인 질문에 대한 답변이 없지만 수행하려고하는 것처럼 들리는 부분에 대한 해결책이 있습니다. 주요 설치 스크립트에서
!define CUSTOM_BRANDING
!define APPNAME "Brand X"
!define LOGO "C:\Brand_X_Logo.png"
:
파일 CustomBranding.nsh에서 :
내 설치는 다음과 같이 사용
!include /NONFATAL "CustomBranding.nsh"
!ifndef CUSTOM_BRANDING
!define APPNAME "Generic"
!define LOGO "C:\Generic_Logo.png"
!endif
인가 그 "다른 브랜드의 종류 "너는 묻고있어?
글쎄, 내 경우에는 브랜드가 아니라 설치 프로그램보다 제품이다 창에 컴파일 가정 그걸 써. 나는 내일 사무실로 돌아올 때 당신의 해결책을 시도하고 Ander의 해결책을 살펴볼 것입니다. –
Windows를 사용하는 데 제한이 있습니다. 나는 카일과 함께 내일 스핀을 받으러 코드를 가져갈 것이다. 감사. –