Inno Setup:来自外部表单的 WizardForm

Inno Setup: WizardForm from an external form

我试图为我的新项目创建一个安装程序,并使用外部 DLL 调用函数来创建自定义表单。除了使用 WizardForm,我可以从该自定义表单创建 WizardForm 吗?

这是我用来创建该表单的代码:

procedure NewFormCreate;
var
  rt: TTimer;
begin
  NewForm:= TForm.Create(nil);
  NewForm.BorderStyle := bsNone;
  CreateFormFromImage(NewForm.Handle, 'form.png');
  rt:= TTimer.create(nil);
  rt.OnTimer:= @WFProc;
  rt.Interval:= 1;
  rt.Enabled:= true;
  NewForm.Show;
  NewForm.Enabled:= False;
end;

如果我正确理解你的问题,你想使用你自己的 WizardForm 实现。

你不能。您只能修改现有的 WizardForm。可能是这样的:

CreateFormFromImage(WizardForm.Handle, 'form.png');

您当然可以创建和显示您自己的表单,甚至阻止 WizardForm 显示。

但是没有意义。 Inno Setup 就是关于 WizardForm。如果您不想使用它,则根本不需要 Inno Setup。在 Delphi 中构建您的自定义安装程序(如果这是您的首选 IDE)。


也许你应该向我们解释一下你真正想要实现的目标。您很可能有 XY problem.

您的 X 是否在创建形状不规则的安装程序时遇到问题?

您可以使用 Inno Setup 的图形安装程序http://graphical-installer.com/),而不是手动编写所有脚本,并在几分钟内实现类似的效果:

如果您使用 Delphi,您可以使用 RAD & Installer (http://rad-installer.com/) 直接从 RAD Studio 创建 Inno Setup 安装程序 IDE.

抱歉,自我宣传很少:)