【发布时间】:2012-11-21 21:29:48
【问题描述】:
我正在尝试在我的自定义页面中创建一个自定义复选框(因为它是单页安装程序),只需要一个没有对话框或任何内容的复选框,我尝试编译的安装程序非常线性和简单。
我想以这种方式在复选框上绑定FILE3.EXE:如果选中复选框,则将文件 (FILE3.EXE) 复制到 DestDir,否则如果未选中复选框,则在安装过程中跳过文件 (FILE3.EXE)。
这是我使用的代码,显然复选框代码丢失了,因为我无法做到这一点
[Files]
Source: FILE1.EXE; DestDir: {app};
Source: FILE2.EXE; DestDir: {app};
Source: FILE3.EXE; DestDir: {app}; //OPTIONAL
[Code]
procedure ExitProcess(uExitCode: UINT);
external 'ExitProcess@kernel32.dll stdcall';
var
MainPage : TWizardPage;
FolderToInstall : TEdit;
InstallLocation : String;
procedure CancelClick(Sender: TObject);
begin
if ExitSetupMsgBox then
begin
ExitProcess(0);
end;
end;
procedure BrowseClick(Sender : TObject);
var
Dir : String;
begin
Dir := FolderToInstall.Text;
if BrowseForFolder('Browse',Dir,false) then
FolderToInstall.Text := Dir;
WizardForm.DirEdit.Text := Dir;
end;
procedure InitializeWizard();
var
LabelFolder : TLabel;
begin
MainPage := CreateCustomPage(wpWelcome,'','');
LabelFolder := TLabel.Create(MainPage);
LabelFolder.Parent := WizardForm;
LabelFolder.Top := 164;
LabelFolder.Left := 6;
LabelFolder.Caption := 'Directory:'
FolderToInstall := TEdit.Create(MainPage);
FolderToInstall.Parent := WizardForm;
FolderToInstall.Top := 182;
FolderToInstall.Left := 85;
FolderToInstall.Width := 380;
FolderToInstall.Text := WizardDirValue;
FolderToInstall.ReadOnly := True;
end;
【问题讨论】:
-
您想要一个完整的自定义解决方案,还是想要为该方法使用已经内置的功能?
-
我正在尝试在我的自定义页面中创建一个自定义复选框(因为是单页安装程序),只需要一个没有对话框或任何内容的复选框,我正在尝试编译的安装程序是非常线性和简单
-
然后在
Files部分使用Check参数创建一个复选框并创建一个自定义函数。你想把那个复选框放在哪里? -
非常感谢 TLama,如果你能发布一个例子,我会非常高兴(当然还有像我这样的自学者),这样我就能更好地理解 inno 的工作原理