2016-07-05 359 views
-1

我的Inno安裝腳本的[Run] Section存在問題。Inno Setup:安裝程序在安裝完成後從不啓動

無論我選中或取消選中出現在CurPageID = wpFinished中的複選框,我的程序都不會啓動。我設置它的默認值爲Checked

我的劇本的部分,其屬於這樣:

#define AppExec "hddbsfinder.exe" 
#define AppName "HDD Bad Sectors Finder" 

[Run] 
Filename: "{app}\{#AppExec}"; Check: CheckLaunching; Description: "{cm:LaunchProgram,{#StringChange(AppName, '&', '&&')}}"; Flags: NoWait PostInstall 

function CheckLaunching: Boolean; 
begin 
    Result := not LauncherCB.Checked; 
end; 

var  
LauncherCB: TNewCheckbox; 

LauncherCB := TNewCheckBox.Create(WizardForm); 
    with LauncherCB do 
    begin 
    Parent := WizardForm; 
    Left := (225); 
    Top := (245); 
    Width := ScaleX(14); 
    Height := ScaleY(15); 
    end; 

if CurPageID=wpSelectTasks then begin 
LauncherCB.Hide; 
LauncherCB.Checked := True; 
end; 

if CurPageID = wpFinished then begin 
with WizardForm do begin 
LauncherCB.Show; 
end; 
end; 

我的計劃從來沒有啓動,即使我選中或取消選中該LauncherCB

(默認值是Checked.

由於提前。

回答

0

Check參數postinstall運行條目用於評估是否顯示覆選框,而不是如果運行條目。

你有兩個選擇:

  • 實現使用Exec功能的推出自己的NextButtonClick(wpFinished)

  • 使用標準運行清單框,只是它移動到您需要它的位置。您可能需要將列表的.Parent更改爲WizardForm,以將其從「完成」頁面中刪除。

+0

我可以在此代碼中更改哪些內容來解決此問題? – flavalee

+0

你沒有告訴我們代碼應該做什麼。程序是否運行,當複選框被選中時?你爲什麼選中它?爲什麼您完全使用自定義複選框,而不是「完成」頁面上的標準「運行」複選框? –

+0

由於我的安裝腳本不是標準版本,它包含大量的代碼和皮膚,幻燈片和其他任務...............「標準運行復選框」在我的安裝程序中不可見因爲這個頁面覆蓋了一個大的圖像。請告訴我這個代碼有什麼問題。我希望這個代碼運行我的程序時,該複選框選中,不運行,如果不檢查。而且我想將它的默認值設置爲「Checked」。這就是這個代碼應該做的。 – flavalee

相關問題