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.
抱歉,自我宣传很少:)
我试图为我的新项目创建一个安装程序,并使用外部 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.
抱歉,自我宣传很少:)