2010-01-04 4 views

답변

13

이노 설치 설명서 this page에 따르면, 환경 변수의 값은 다음 구문을 사용하여 검색 할 수 있습니다 다음에 파일의 소스 위치를 지정하려고 할 때

{%name|default} 
+1

내가 드릴 수 없습니다 어떤 이유로 env 변수를 사용하십시오. 누군가가 예제를 게시 할 수 있습니까? 출력 파일 이름에 {% OS}을 추가 했으므로 환경에서 원하는 값이 아닌 "{% OS}"문자열이 추가 된 원본 파일 이름이 반환됩니다. – Tim

+3

@Tim : [code] 내의 문자열에서 변수를 사용하려면 ExpandConstant ('{% OS}')를 사용하십시오. – panschk

14

내가 같은 문제로 실행을 [Files] 섹션. GetEnv 함수를 사용하여 새 상수를 정의했습니다.

#define Qt5 GetEnv('QT5') 
[Files] 
Source: {#Qt5}\bin\Qt5Concurrent.dll; DestDir: {app}; 
+0

이것은 정의에서 사용하는 올바른 방법입니다. {% name | default} 표기법은 거기에서 작동하지 않습니다. – pHiL

+0

정말 고마워! 지금은 기본값을 표현하는 방법을 찾고 있지만 좋은 시작입니다. – CJBrew

+0

'' #DEFINE Qt5의 GetEnv ('QT5') Qt5 # 만약 == "" #DEFINE Qt5를 "보십시오 어쩌구" 전 처리기 매크로이다'' –

-1

그것은 더 쉽게 될 수 있습니다

OutputDir={#GetEnv("TEMP")}\ 
+0

#endif 다음. 컴파일시에 해결되었습니다! –

-1

변수 TEMP 다음 기본값이 사용됩니다 존재하지 않는 경우 - ..\..\distr\을))))

OutputDir={#StringChange(GetEnv("TEMP")+"\", StringChange(GetMD5OfString(GetEnv("TEMP")), "d41d8cd98f00b204e9800998ecf8427e", "\"), "..\..\distr\")} 
+0

그건 전 처리기 매크로입니다. 컴파일시에 해결되었습니다! –