将用户完成的表单添加到Inno Setup

时间:2012-12-01 16:36:33

标签: inno-setup

我想添加一个小表单,在程序安装时由用户使用Inno Setup填写。然后需要通过电子邮件将表单发回给我和预定义的电子邮件地址。

表单需要少数字段,如;

  • 用户名
  • 地址
  • 电子邮件
  • 电话#等。

有了一个例子,我希望能够改进我想要的字段。

任何对此的帮助都会受到赞赏,其他方面我对Inno Setup的性能非常满意,并且能够执行所有其他任务。

1 个答案:

答案 0 :(得分:4)

对于数据捕获,您可以调用CreateInputQueryPage函数在向导中创建新页面。

以编辑形式获取输入页面专用

示例:

[Code]
var
  Page: TInputQueryWizardPage;
  UserName, UserCompany: String;

procedure InitializeWizard();
begin
  Page := CreateInputQueryPage(wpWelcome,
  'Personal Information', 'Who are you?',
  'Please specify your name and the company for whom you work, then click Next.');

  { Add items (False means it's not a password edit) }
  Page.Add('Name:', False);
  Page.Add('Company:', False);

  { Set initial values (optional) }
  Page.Values[0] := ExpandConstant('{sysuserinfoname}');
  Page.Values[1] := ExpandConstant('{sysuserinfoorg}');
end;

对于电子邮件部分,由于Inno Setup缺少发送电子邮件支持,我的建议是

  • 创建一个专门发送电子邮件的简单应用程序,将其作为安装的一部分包含在表单完成后调用它
  • 寻找Inno安装程序扩展,也许支持发送电子邮件(我不知道)
  • 而不是直接发送电子邮件,您可以创建一个网络桥:您网站中的一个简单网页,通过获取参数接收信息,然后向您发送电子邮件。由于您可以通过Windows API调用执行此操作,因此可以更轻松地在Inno Setup中直接实现。这不是最安全的方法,好像有人发现它可能会被滥用来向您发送虚假的电子邮件,但您可以编码以尽量减少机会。