我有一个简单的自定义操作,我在SetupProgress
对话框之前插入,显示AskOptions
对话框提供了一些快捷方式选项。使用对话框后退按钮
大多数情况下,我的表现与预期的一样,但有一种行为我找不到。如果用户单击后退按钮,我希望它转到上一个对话框,而不是继续到SetupProgress
对话框。我为我的对话框使用下面的代码(减去实际创建快捷方式的代码)。
function MyFunction(hMSI)
NUMBER nResult;
STRING szMsg, szText1, szText2, szText3;
NUMBER nReturn, nValue, nvCheck1, nvCheck2, nvCheck3;
begin
SetDialogTitle(DLG_ASK_OPTIONS, "More Options");
szMsg = "Select from the additional options below.";
szText1 = "Shortcut option 1";
szText2 = "Shortcut option 2";
szText3 = "Shortcut option 3";
nvCheck1 = TRUE;
nvCheck2 = TRUE;
nvCheck3 = FALSE;
// Display the check box (NONEXCLUSIVE) dialog.
nValue = NONEXCLUSIVE;
nResult = AskOptions (nValue, szMsg,
szText1, nvCheck1,
szText2, nvCheck2,
szText3, nvCheck3);
//This is the troublesome code... Not sure how to handle this...
//if (nResult = BACK) then
// goto [Where?];
//endif;
end;
正如你可以看到,有接近底部在那里我能胜任后退按钮一条线,我只是不知道是如何真正回到前一个对话框。
绝对回到使用MSI对话框。并从此取得成功。我去InstallScript对话框的原因是我最初使用MSI对话框,但误解了事件的工作方式。现在全部整理出来。 –