我已經創建了INNO,這需要一個自定義嚮導頁面wpInfoAfter創建嚮導頁的文件安裝到{}的應用程序文件夾後顯示。這是通過給wpInfoAfter實現的。 的問題是,它僅顯示「下一步」按鈕,沒有取消/返回按鈕,也右上方的對話框的合閘按鈕也將被禁用。我知道後退按鈕不是必需的,因爲它需要刪除已安裝的文件。反正有「取消」按鈕可以顯示嗎?取消按鈕不會顯示在Inno Setup的
2
A
回答
5
Cancel
按鈕在安裝後階段沒有功能,因爲InnoSetup不會在安裝過程完成後執行進一步操作,需要取消操作。所以,即使您針對該事實顯示按鈕,您也會得到一個沒有任何操作的按鈕。
個人而言,我更喜歡收集需要安裝程序在安裝開始之前您的數據庫中的信息,因爲審時度勢當用戶安裝應用程序,並乾脆取消後安裝嚮導(什麼可以很容易地發生)。這樣做之前,您可以強制用戶在實際到達應用程序之前填寫所需內容。但是如果你仍然想在安裝之後做到這一點,這是一個解決方法,用於缺少取消按鈕。
作爲一種變通方法,您可以創建自己的自定義按鈕,這將是對具有相同功能的相同位置。以下是一個示例腳本,模擬取消按鈕並僅在安裝過程後鋪設的自定義頁面上顯示它。這只是一個解決辦法,因爲你至少需要解決這個問題:
- 啓用該向導的形式(安裝階段完成後它的禁用)的收盤十字
- 莫名其妙處理ESC快捷鍵(它調用退出提示對話框,但我卻無法找到一種方法如何解決此)
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
[Code]
procedure ExitProcess(uExitCode: UINT);
external '[email protected] stdcall';
var
CustomPage: TWizardPage;
CancelButton: TNewButton;
procedure OnCancelButtonClick(Sender: TObject);
begin
// confirmation "Exit setup ?" message, if user accept, then...
if ExitSetupMsgBox then
begin
// stop and rollback actions you did from your after install
// process and kill the setup process itself
ExitProcess(0);
end;
end;
procedure InitializeWizard;
begin
// create a custom page
CustomPage := CreateCustomPage(wpInfoAfter, 'Caption', 'Description');
// create a cancel button, set its parent, hide it, setup the bounds
// and caption by the original and assign the click event
CancelButton := TNewButton.Create(WizardForm);
CancelButton.Parent := WizardForm;
CancelButton.Visible := False;
CancelButton.SetBounds(
WizardForm.CancelButton.Left,
WizardForm.CancelButton.Top,
WizardForm.CancelButton.Width,
WizardForm.CancelButton.Height
);
CancelButton.Caption := SetupMessage(msgButtonCancel);
CancelButton.OnClick := @OnCancelButtonClick;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
// show your fake Cancel button only when you're on some of your after
// install pages; if you have more pages use something like this
// CancelButton.Visible := (CurPageID >= FirstPage.ID) and
// (CurPageID <= LastPage.ID);
// if you have just one page, use the following instead
CancelButton.Visible := CurPageID = CustomPage.ID;
end;
相關問題
- 1. Inno Setup單擊取消按鈕時顯示消息框
- 2. Inno Setup在安裝過程中禁用取消按鈕
- 3. 獲取單選按鈕值[INNO SETUP]
- 4. Inno Setup的替代按鈕在wpFinished頁
- 5. 在UIImagePickerController取消按鈕不顯示?
- 6. 在UIActionSheet取消按鈕不顯示iPhone?
- 7. 在完成的頁面上啓用Inno Setup的關閉/取消按鈕
- 8. MFMessageComposeViewController上的取消按鈕不顯示
- 9. Inno Setup GetExceptionMessage在Inno Setup腳本中返回空消息
- 10. Inno Setup禁用瀏覽按鈕CreateInputDirPage
- 11. UIImagePickercontroller取消按鈕不會在iPad中顯示
- 12. 在Inno Setup的
- 13. 確定並取消按鈕不顯示
- 14. UIToolbar中的UISearchBar不會顯示取消按鈕
- 15. Inno Setup - 顯示警告頁面
- 16. Javascript提示取消按鈕不「取消」
- 17. Inno Setup的:在TInputQueryWizardPage
- 18. 按鈕不會顯示
- 19. Bootstrap不會顯示按鈕
- 20. 按鈕取消不顯示在消息框中
- 21. 在Inno Setup中使用內置消息
- 22. 會顯示消息和後退按鈕
- 23. GetComputerNameString Inno Setup的
- 24. Inno Setup的 - BCDEDIT不工作
- 25. Inno Setup的:自定義消息
- 26. Inno Setup在[代碼]
- 27. Inno Setup - 不顯示桌面上的圖標
- 28. 導航按鈕不會顯示出來
- 29. 按鈕不會顯示在幀
- 30. 按鈕不會顯示在FlowLayout中
的按鈕是H因爲沒有什麼可以取消的。你期待它做什麼? – Deanna
即使是「取消」按鈕本身也是與之相反的。點擊它完全沒有什麼,因爲@Deanna說,當你完成安裝過程時,沒有任何東西可以取消。難道你不想讓自己的按鈕取消一些安裝後處理嚮導嗎(如果你打算這麼做的話)? – TLama
該向導實際上是獲取sql服務器的詳細信息,並且它看起來空白,沒有任何關閉選項,這迫使用戶輸入正確的細節前進,因爲任何錯誤的條目將不會進一步進行,他們不能離開字段爲空好。因此認爲會有一個取消按鈕。請建議。 – anand