Kullanıcının yazılımı önceden yükleyip yüklemediğini nasıl tespit edebilirim ve eski sürümü kaldırma olasılığını nasıl sunabilirim?Eski kurulum nasıl tespit edilir ve kaldırılır?
Bunu kontrol etmek için birkaç satır yazdım. Şimdilik bu doğru mu? Bu doğruysa, kullanıcının yüklemeye devam etmek mi yoksa eski sürümü mi kaldırmak istediğini nasıl seçebilirim?
#define UNINSTKEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\setupname_is1"
var
uninstallPath: string;
function InitializeSetup: Boolean;
begin
if (RegQueryStringValue(HKLM,'{#UNINSTKEY}','UninstallString',uninstallPath)) and
(uninstallPath <> '') and (fileexists(uninstallPath)) then
begin
Result :=
(MsgBox(CustomMessage('NotVerifiedVersionFound'), mbConfirmation,
MB_YESNO or MB_DEFBUTTON2) = IDYES);
end;
{ ... }
end;
Not. İstisnalar, Inno olmayan bir kurulumdan yükseltme yaparken. Inno'yu kullandıktan sonra, bunu sizin için sihirli bir şekilde ele alır. – Deanna
Mümkün olan yinelenen [InnoSetup: Yüklenen önceki sürümü otomatik olarak nasıl kaldırılır?] (Http://stackoverflow.com/questions/2000296/innosetup-how-to-automatically-uninstall-previous-installed-version) – Deanna
@Deanna Benim için müşteri bu yazılımın her zaman bir inno kurulumuyla kurulacağı doğrudur. Ama Inno gerçekten "işlemez" değil mi? Tek yaptığı tüm eski dosyaların üzerine yazıyor. Ve bir Uninstaller oluşturabilirim. Ama ilk kurulumumdaki Kaldırma işlevselliğini istiyorum. – Exa