我正在尝试使用Installshield生成响应文件以从对话框中读取输入。因此,在这种情况下,我有一个ApplicationServer对话框,其中的文本字段包含许可证服务器名称的字符串。我希望将该值写入响应文件。
我试图通过将此代码添加到Setup.rul来生成响应文件,希望能够运行
setup.exe -r
并获得回复
到目前为止,这是我的代码:
function Generate_SilentWriteData(hMSI)
// To Do: Declare local variables.
BOOL bDone;
STRING svSection;
LIST listID;
NUMBER nvHandle,nCmdValue;
HWND hwndDlg;
begin
//MessageBox ("Generating .iss file", SEVERE);
OpenFileMode (FILE_MODE_APPEND);
OpenFile (nvHandle, "c:\\Installer", "cominit.txt");
listID = ListCreate (STRINGLIST);
ListAddString (listID, "COMM1:", AFTER);
ListAddString (listID, "COMM2:", AFTER);
ListAddString (listID, "COMM3:", AFTER);
ListAddString (listID, "COMM4:", AFTER);
EzDefineDialog ("AskLicenceServer", SUPPORTDIR^"RESOURCE.DLL",
"COMM_DIALOG",0);
bDone = FALSE;
while (bDone=FALSE)
nCmdValue = WaitOnDialog ("AskLicenceServer");
switch (nCmdValue)
case DLG_INIT:
hwndDlg = CmdGetHwndDlg("AskLicenceServer");
SdGeneralInit("AskLicenceServer", hwndDlg, 0, "");
CtrlSetState ("AskLicenceServer", NEXT, BUTTON_CHECKED);
CtrlSetList ("AskLicenceServer",BACK, listID);
CtrlSetState ("AskLicenceServer", CANCEL, BUTTON_CHECKED);
bDone = FALSE;
endswitch;
endwhile;
EndDialog ("AskLicenceServer");
ReleaseDialog ("AskLicenceServer");
CloseFile (nvHandle);
end;
任何帮助使此代码起作用的帮助将不胜感激。
谢谢!