1. 程式人生 > >【Inno Setup】設定控制面板中的程式解除安裝的圖示

【Inno Setup】設定控制面板中的程式解除安裝的圖示

裝解除安裝面板中的圖示一直是預設的圖示,哪怕設定SetupIconFile或者UninstallIconFile依然如此,後來從網上查詢資料,看到有使用UpdateIcon.dll去更新圖示,研究了一下發現是為了應對解除安裝圖示和安裝圖示不一致的情況,並不影響安裝解除安裝面板,之後更換查詢方式,尋找刪除解除安裝圖示,果然發現瞭解決方案,原來是在登錄檔中,具體方法:

[Code]

//在登錄檔中插入DisplayIcon項,指定安裝解除安裝頁面的程式圖示;
function SetUninstallIcon(iconPath:string): Boolean;
var
  InstalledVersion,SubKeyName: String;
begin
if (IsWin64()) then begin
SubKeyName :=  'Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{385D6211-F53F-4669-8368-441D552F892B}_is1';
    RegWriteStringValue(HKLM64,SubKeyName,'DisplayIcon',iconPath);
  endelse begin
SubKeyName :=  'Software\Microsoft\Windows\CurrentVersion\Uninstall\{385D6211-F53F-4669-8368-441D552F892B}_is1';
    RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath);
  end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpFinished then
  begin
    SetUninstallIcon(ExpandConstant('{app}\icon.ico'));
  end;
begin