2010-01-04 23 views

cevap

13

Inno Setup belgelerinde this page göre, ortam değişkenleri değeri aşağıdaki sözdizimi kullanılarak alınabilir: dosyaların kaynak konumunu belirtmek için çalışırken

{%name|default} 
+1

ben alamıyorum bir sebepten dolayı env değişkenlerini kullanır. Birisi bir örnek verebilir mi? Çıkış dosya adına {% OS} ekledim ve geri aldığım tek şey, çevreden istediğim değeri değil, "{% OS}" dizgisine sahip orijinal dosya adı. – Tim

+3

@Tim: Değişkeni [kod] 'nuzun içindeki bir dizgede kullanmak istiyorsanız, ExpandConstant (' {% OS} ') – panschk

14

Ben aynı sorun koştu [Dosyalar] bölümü. Yeni bir sabit tanımlamak için GetEnv işlevini kullandım.

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

kullanın. Bu, tanımlarda kullanmak için doğru yoldur. {% name | default} notasyonu orada çalışmıyor. – pHiL

+0

Bu harika, teşekkürler! Şimdi bir varsayılan değeri ifade etmenin bir yolunu arıyorum, ama bu iyi bir başlangıç. – CJBrew

+0

'' #define Qt5 getenv ('QT5') Qt5 #if == "" #define Qt5 "deneyin bla" bir önişlemci makro var '' –

-1

Hatta daha kolay olabilir:

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

#endif. Derleme zamanında çözüldü! –

-1

değişken TEMP varsayılan değer kullanılır yoksa - ..\..\distr\))))

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

Bu bir ön işlem makrosu. Derleme zamanında çözüldü! –

İlgili konular