2012-10-29 21 views
5

Inno Setup'ın yükleme sırasında kayıt defteri anahtarlarını ve/veya değerlerini nasıl oluşturacağını/değiştireceğini biliyorum ve kaldırırken bir değeri, anahtarı vb. Silebileceğinizi biliyorum. Ancak, kaldırma işlemi tamamlandığında Inno Setup'ın bir anahtarın değerini gerçekten değiştirmesi için herhangi bir yol var mı?Inno Kurulumu: Kaldırma sırasında bir kayıt defteri anahtarı değeri ayarlamanın herhangi bir yolu var mı?

Oluşturduğum kurulum, başka bir uygulamanın, yüklü olduğunu belirten 1 değerine kullandığı bir dword anahtarının değerini değiştirir ve bu uygulama kaldırıldığında, kaldırılmasını belirten 0 değerine geri yüklenecek değere ihtiyacım var . Bu, gerçek anahtar/değeri silmeden mümkün mü?

cevap

8

Sen usPostUninstall veya usDone

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); 
begin 
    if CurUninstallStep = usPostUninstall then 
    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\My Company\My Program', 
     'UserName', ExpandConstant('{sysuserinfoname}')); 
end; 
+0

teşekkür ile procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); yılında (DWord, Binary, StringValue, vb) belirli RegWrite fonksiyonunu kullanabilirsiniz, bu gerçekten çalışır. Ancak, RegWriteStringValue'nin REG_SZ tipi değerleri için olduğuna dikkat edilmelidir. Bu yüzden benim durumumda, adından da anlaşılacağı gibi, DWord değerleri için RegWriteDWordValue kullanmam gerekiyor. Beni doğru yola koy, o yüzden teşekkürler! – jmwhitman

+0

Sorun değil. Girişte DWord', Binary', 'String' den bahsettim. İhtiyacınız olanı bilmediğim için, String ile bir örnek verdim. – RobeN

İlgili konular