2012-02-02 50 views
2

目前,我有我的[運行]的Inno Setup的腳本Inno Setup的:與CLI標誌禁止安裝後複選框

Filename: {app}\App.exe; Description: {cm:LaunchProgram,App}; Flags: nowait postinstall

的部分病例的99.9%以下,這是完美的,該複選框默認打勾,並且應用程序在靜默安裝(我們用於自動更新)後啓動,但總是有一種情況不是。

本質上,我需要一種方法來在靜默安裝中禁用/取消選中該命令行中的該選項。我試過使用任務和組件,但是這些添加額外的頁面和複選框,我真的不想出現。

任務似乎是迄今爲止最簡單的方法,如果有辦法阻止正常安裝過程中出現的複選框,則可以打開任何想法!

乾杯。

回答

2

我不確定關閉或取消選中它,但是您可以通過使用「Check」參數來調用腳本函數,從最後一頁中完全刪除它(或不)。

[Run] 
Filename: {app}\App.exe; Description: {cm:LaunchProgram,App}; Flags: nowait postinstall; Check: NoRunSwitch 


[Code] 
function NoRunSwitch: boolean; 
var 
    i: integer; 
begin 
    // Return TRUE to show the checkbox on the final page, return FALSE to hide it. 
    Result := True; // In case there are no parameters 
    for i := 1 to ParamCount do 
    begin 
    // Tweak the switch parsing to suit your needs here 
    Result := not (UpperCase(ParamStr(i)) = '/NORUN'); 
    if not Result then break; 
    end; 
end; 

編輯:在重新閱讀你的消息後,我不知道,但你可能會問如何爲所有無提示安裝這樣做呢?如果您在任何無提示安裝期間都不希望發生這種情況,則可以使用「skipifsilent」標誌。如果您的意思是您的靜默安裝只是條件的一部分,您可以使用上述的Check方法,並且可以在檢查功能中使用'WizardSilent'來確定安裝程序是否以靜默方式執行。

+0

布拉德,非常感謝!到底是什麼我!爲了澄清其他任何人,我們希望它在運行安裝程序的任何實例中自動啓動,但在選擇的情況下(如無人蔘與安裝),我們不希望它自動啓動,因此希望標誌。再次感謝! – Tram 2012-02-06 06:53:33