Biçimlendirilmiş
Biçimlendirilmiş veri türü, eklenmiş özellik adlarını, tablo anahtarlarını, ortam değişkeni başvurularını ve diğer özel alt dizeleri çözümlemek için işlenen bir metin dizesidir. Dizeyi çözümlemek için aşağıdaki kurallar tanınır:
Metinde eşleşen çifti olmayan köşeli ayraçlar ([ ]) veya küme ayraçları ({ }) kalır.
[özellikadı] formunun alt dizesiyle karşılaşılırsa, özelliğin değeriyle değiştirilir. özellik adı geçerli bir özellik adı değilse, alt dize boş olarak çözümleniyor demektir. Örneğin, LaunchCondition Tablo Description sütunu Biçimlendirilmiş dize alır. ERRORTXT "Lütfen destek personelinize başvurun" olarak ayarlandıysa, başlatma koşulunda başarısız olduğu için görüntülenen metin bu dizeyi içerir. ERRORTXT ayarlanmamışsa başlatma koşulunun başarısız olması için görüntülenen metin yalnızca "Sistem yükleme gereksinimlerini karşılamıyor" olacaktır.
Koşul Açıklama Sürüm9X Sistem yükleme gereksinimlerini karşılamıyor. [ERRORTXT] Köşeli ayraçlar yinelenebilir ve özellik adları içeriden çözülür. Örneğin, metinde [[PropertyA]] alt dizesinin göründüğünü varsayalım. İlk olarak PropertyA özelliğinin değeri alınır. Değer PropertyB gibi geçerli bir özellik adıysa PropertyB değeri alınır ve [[PropertyA]] alt dizesinin tamamı PropertyB değeriyle değiştirilir. PropertyA geçerli bir özellik adı değilse veya PropertyA değeri geçerli bir özellik adı değilse, alt dize boş olur.
[%environmentvariable] formunun alt dizesi bulunursa, ortam değişkeninin değeri alt dizeyle değiştirilir.
[\x] formunun alt dizesi bulunursa, x karakteriyle değiştirilir; burada x bir karakterdir ve daha fazla işlem yapılmaz. Yalnızca ters eğik çizgiden sonraki ilk karakter korunur; diğer her şey kaldırılır. Örneğin, sabit bir sol köşeli ayraç ([) eklemek için [\[] kullanın. [\[]Köşeli Ayraç Metni[\]] metni [Köşeli Ayraç Metni] olarak çözümlendi.
Bir alt dize küme ayracı ({ }) içine alınmışsa ve köşeli ayraç ([ ]) içine alınmış özellik adları içermiyorsa, küme ayraçları da dahil olmak üzere alt dize değişmeden bırakılır.
Bir alt dize küme ayracı içine alınmışsa ({ }) ve köşeli ayraç içine alınmış bir veya daha fazla özellik adı içeriyorsa ([ ]) tüm özellik adları geçerliyse, metin (çözümlenen değiştirmelerle) küme ayracı olmadan görüntülenir.
[~] formunun bir alt dizesi bulunursa, null karakterle değiştirilir. Bu, Kayıt Defteri tablosunda REG_MULTI_SZ karakter dizeleri yazmak için kullanılır. [~] öğesinin Ortam tablosukullanarak ortam değişkenlerine değer eklemek veya önek eklemek için de kullanıldığını unutmayın.
[#dosya anahtarı] formunun alt dizesi bulunursa, dosyanın tam yolu ile değiştirilir ve dosya anahtarı değeriDosya tablosuanahtar olarak kullanılır. [#dosya anahtarı] değeri boş kalır ve yükleyici CostInitialize eylemini, FileCost eyleminiçalıştırana ve CostFinalize eylemini. [#dosya anahtarı] değeri, dosyanın ait olduğu bileşenin yükleme durumuna bağlıdır. Bileşen kaynaktan çalıştırılırsa, değer dosyanın kaynak konumunun yoludur. Bileşen yerel olarak çalıştırılırsa, değer yüklemeden sonra dosyanın hedef konumunun yoludur. Bileşenin eylem durumu eksikse, [) öğesini belirlemek için bileşenin yüklü durumu kullanılır.
[$bileşen anahtarı] formunun alt dizesi bulunursa, bileşenin yükleme diziniyle değiştirilir ve Bileşeni tablosuanahtar olarak kullanılan bileşen anahtarı değeri kullanılır. [$componentkey] değeri boş kalır ve yükleyici CostInitialize eylemi, FileCost eylemive CostFinalize eyleminiçalıştırana kadar dizin tarafından değiştirilmez. [$componentkey] değeri, bileşenin yükleme durumuna ve nerede oluştuğuna bağlıdır. Kayıt Defteri TablosuDeğer sütununda bu alt dize, bileşenin eylem durumuna veya istenen eylem durumuna başvurabilir. Diğer tüm durumlarda, bu alt dize bileşenin eylem durumunu ifade eder. Örneğin, bileşen kaynaktan çalıştırılırsa, değer dosyanın kaynak dizinidir. Bileşen yerel olarak çalıştırılırsa, değer yüklemeden sonra hedef dizindir. Bileşen yoksa, değer boş bırakılır. Windows Installer hem eylemi hem de bileşenlerin istenen yükleme durumlarını izler. Örneğin, bir bileşen zaten yüklüyse, istenen yerel duruma ve eylem durumu null olabilir. Bileşenlerin yükleme durumunu denetleme hakkında daha fazla bilgi için bkz. Özellik, Bileşen, Dosya yüklemesini denetleme.
Bir bileşen zaten yüklüyse ve geçerli yükleme sırasında yeniden yüklenmediyse, kaldırılmıyorsa veya taşınmadıysa, bileşenin eylem durumunun null olduğunu ve [$componentkey] dizesinin Null olarak değerlendirildiğini unutmayın.
[!dosya anahtarı] formunun bir alt dizesi bulunursa, dosyanın tam kısa yolu ile değiştirilir ve dosya anahtarı Dosya tablosuanahtar olarak kullanılır.
Bu söz dizimi yalnızca Kayıt Defteri veya IniFile tablolarının Değer sütununda kullanıldığında geçerlidir. Diğer sütunlarda kullanıldığında, bu söz dizimi [#dosya anahtarı] ile aynı şekilde değerlendirilir.