2016-04-13 21 views
0

InstallShield'da bir temel MSI projesi oluşturdum. Bir senaryoya ulaşmak istiyorum. Bunun için, kurulum sırasında MsiSetProperty() installScript işlevini kullanarak bir özellik ayarlıyorum. Ama aynı zamanda kaldırma sırasında aynı mülkün değerini okumak istiyorum. Kurulum sırasında ayarlanan kaldırılmakta olan mülkün değerine ihtiyacım var.Kaldırma sırasında mülkün değeri nasıl okunur?

Kurulum sırasında ayarlanan kaldırılmakta olan özellik değerini geri almanın herhangi bir yolu var mı?

cevap

0

Bunun için bir geçici çözüm denedik. Kurulum sırasında & yükleme sırasındaki kayıt defteri değerini ayarlayarak, bu özelliği kaldırma ve mülke bir değer ayarlama.

0

Kaldırma sırasında bir mülkün okunması, yükleme sırasında okunmasıyla aynıdır: siz, MsiGetProperty() numaralı telefonu arayın ve ertelenmiş bir bağlamda ise, CustomActionData özelliği aracılığıyla iletmeniz gerekir. Ertelenmiş bir bağlamda bir özellik belirlemenin fazla bir şey yapmadığına dikkat edin.

Ancak, muhtemelen sizi tetikleyen özelliklerin, Windows Installer oturumlarında genel olarak korunmadığıdır. Yüklü bileşenler için DirProperties gibi otomatik olarak korunan istisnalar vardır. Ancak, mevcut eylem sona erdiğinde çoğu özellik basitçe unutulur. Tipik bir öneri, kısaca, mülkün değerini bir kayıt defteri anahtarına kaydetmek ve bir sistem aramasıyla geri okumaktan oluşan 'özellik özelliğini hatırla' seçeneğini izlemektir.

+0

PropertyManager'da "PROP123" bir özellik oluşturdum ve değerini 0 olarak ayarladım. Sonra bir Özel Eylem "CA123" oluşturdum ve bu sayede "PROP123" değerini 1 olarak ayarlıyorum. Çalışıyorum Sadece kurulum sırasında "CA123". "PROP123" okuduğum sırada kaldırma sırasında değeri 0 alıyorum. İşte kaldırma sırasında değer 1 istiyorum. Bana bunu nasıl başarabileceğimi tarif edebilir misin? –

İlgili konular