[英]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.