簡體   English   中英

InnoSetup,在運行時更改Uninstallable屬性的行為?

[英]InnoSetup, change the Uninstallable property behavior at runtime?

場景

我已經創建了一個安裝程序,它將出於教育目的安裝惡意軟件應用程序,該安裝程序包含以下兩個任務:

[Tasks]
Name: hidden; Description: Hidden mode; GroupDescription: Installation Mode
Name: visible; Description: Visible mode; GroupDescription: Installation Mode

這意味着對用戶執行隱藏安裝(隱藏的目錄和文件,然后將其卸載為安裝程序),或者對用戶執行可見的安裝(常規目錄和文件且Uninstallable = True)。

問題

我默認設置為Uninstallable=True ,但是如果用戶選擇hidden任務,那么我想避免創建卸載程序。

我該怎么做呢?

您可以使用Uninstallable指令文檔中顯示的代碼:

[Setup]
...
Uninstallable=not IsTaskSelected('hidden')

[Tasks]
Name: hidden; Description: Hidden mode; GroupDescription: Installation Mode
Name: visible; Description: Visible mode; GroupDescription: Installation Mode

可選地,如果您需要用可重用函數編寫的更復雜的語句,或者訪問某些腳本代碼元素,則可以編寫一個函數,例如:

[Setup]
...
Uninstallable=IsUninstallable

[Tasks]
Name: hidden; Description: Hidden mode; GroupDescription: Installation Mode
Name: visible; Description: Visible mode; GroupDescription: Installation Mode

[Code]
function IsUninstallable: Boolean;
begin
  Result := WizardSilent or not IsTaskSelected('hidden');
end;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM