论坛风格切换切换到宽版
  • 20689阅读
  • 33回复

InnoSetup能够实现“安装细节描述”界面吗? [复制链接]

上一主题 下一主题
离线universejack
 
发帖
18
金钱
0
威望
0
只看楼主 倒序阅读 0 发表于: 2009-12-24
如迅雷安装界面,安装过程中,有点击“显示细节”按钮窗口。请问利用Inno怎样能够实现那样的界面呢?
[attachmentid=27033]
[attachmentid=27034]
离线sm800409
发帖
2
金钱
0
威望
0
只看该作者 1 发表于: 2009-12-24
我也想知道这个问题!帮你顶了
离线universejack
发帖
18
金钱
0
威望
0
只看该作者 2 发表于: 2009-12-25
有哪位高手了解,指点一下!非常感谢!
离线jeckcai
发帖
42
金钱
0
威望
0
只看该作者 3 发表于: 2009-12-26
你用NSIS做不就有了
离线restools

发帖
2848
金钱
1430
威望
143
只看该作者 4 发表于: 2009-12-26
QUOTE( Example_Test.iss )
// 脚本使用了 增强版脚本编辑器 build 091218:Beta2
// 编译器版本为 5.3.6.ee1

[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
Compression=lzma
SolidCompression=yes
OutputDir=userdocs:Inno Setup Examples Output

[Files]
Source: "MyProg.exe"; DestDir: "{app}"; BeforeInstall: AddToDetaList;
Source: "MyProg.chm"; DestDir: "{app}"; BeforeInstall: AddToDetaList;

[ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D0030107702000054504630F10B5457697A617264466F726D0A57697A617264466F726D044C656674020003546F7002000C436C69656E744865696768740366010B436C69656E74576964746803EF010D506978656C73506572496E636802600A54657874486569676874020D00F10C544E65774E6F7465626F6F6B0D4F757465724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B5061676509496E6E65725061676500F10C544E65774E6F7465626F6F6B0D496E6E65724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650E496E7374616C6C696E675061676500F302000E544E6577537461746963546578740B5374617475734C6162656C0756697369626C65080000F202010B544E65774C697374426F7808446574614C697374044C656674020003546F70022C05576964746803A1010648656967687403B9000A4974656D486569676874020D085461624F7264657202040756697369626C65080000F302020E544E6577537461746963546578740D46696C656E616D654C6162656C0756697369626C65080000F10F544E657750726F67726573734261720D50726F6772657373476175676503546F70021200000A544E6577427574746F6E0B53686F774465746142746E044C656674020503546F700230055769647468024B0648656967687402160743617074696F6E12080000003E663A79C67E82822800260044002900085461624F72646572020300000E544E65775374617469635465787409446574614C6162656C044C656674020003546F70020005576964746803A101064865696768740210084175746F53697A65080D53686F77416363656C4368617208085461624F72646572020500000000000000

[Code]
procedure ShowDetaBtnOnClick(Sender: TObject); forward;

{ RedesignWizardFormBegin } // 不要删除这一行代码。
// 不要修改这一段代码,它是自动生成的。
var
DetaList: TNewListBox;
ShowDetaBtn: TNewButton;
DetaLabel: TNewStaticText;

procedure RedesignWizardForm;
begin
with
WizardForm.StatusLabel do
begin
 
Visible := False;
end;

{ DetaList }
DetaList := TNewListBox.Create(WizardForm);
with DetaList do
begin
 
Parent := WizardForm.InstallingPage;
  Left := ScaleX(0);
  Top := ScaleY(44);
  Width := ScaleX(417);
  Height := ScaleY(185);
  ItemHeight := 13;
  TabOrder := 4;
  Visible := False;
end;

with WizardForm.FilenameLabel do
begin
 
Visible := False;
end;

with WizardForm.ProgressGauge do
begin
 
Top := ScaleY(18);
end;

{ ShowDetaBtn }
ShowDetaBtn := TNewButton.Create(WizardForm);
with ShowDetaBtn do
begin
 
Parent := WizardForm.InstallingPage;
  Left := ScaleX(5);
  Top := ScaleY(48);
  Width := ScaleX(75);
  Height := ScaleY(22);
  Caption := '显示细节(&D)';
  TabOrder := 3;
end;

{ DetaLabel }
DetaLabel := TNewStaticText.Create(WizardForm);
with DetaLabel do
begin
 
Parent := WizardForm.InstallingPage;
  Left := ScaleX(0);
  Top := ScaleY(0);
  Width := ScaleX(417);
  Height := ScaleY(16);
  AutoSize := False;
  ShowAccelChar := False;
  TabOrder := 5;
end;

{ ReservationBegin }
// 这一部分是提供给你的,你可以在这里输入一些补充代码。
ShowDetaBtn.OnClick := @ShowDetaBtnOnClick;
{ ReservationEnd }
end;
// 不要修改这一段代码,它是自动生成的。
{ RedesignWizardFormEnd } // 不要删除这一行代码。

procedure InitializeWizard();
begin
RedesignWizardForm;
end;

procedure ShowDetaBtnOnClick(Sender: TObject);
begin
ShowDetaBtn.Visible := False;
DetaList.Visible := True;
end;

procedure AddToDetaList;
begin        
DetaLabel.Caption := '安装: ' + ExpandConstant(CurrentFileName);
DetaList.Items.Append(DetaLabel.Caption);
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if
CurPageID = wpFinished then
begin
 
// 跳回前一页,忽略完成页。
 
DetaList.Items.Append('安装完成');
  WizardForm.PageNameLabel.Caption := '安装完成';
  WizardForm.PageDescriptionLabel.Caption := '安装程序已经成功完成安装。';
  DetaLabel.Caption := '完成';
  WizardForm.InnerNotebook.ActivePage := WizardForm.InstallingPage;
  WizardForm.OuterNotebook.ActivePage := WizardForm.InnerPage;
end;
end;


我的BLOG:   http://restools.hanzify.org (Inno Setup 增强版, 插件 发布站点)
离线restools

发帖
2848
金钱
1430
威望
143
只看该作者 5 发表于: 2009-12-26
第一次使用这个最新版本的脚本编辑器来发例子。
长远来说,对于论坛脚本例子的重新定制界面,我相信更加简单了。
我的BLOG:   http://restools.hanzify.org (Inno Setup 增强版, 插件 发布站点)
离线universejack
发帖
18
金钱
0
威望
0
只看该作者 6 发表于: 2009-12-28
嗷嗷感谢restools,强人!!!
离线feyuegu

发帖
17
金钱
100
威望
10
只看该作者 7 发表于: 2010-01-06
今天不虚此行。收下脚本了~
离线JunJun

发帖
438
金钱
180
威望
18
只看该作者 8 发表于: 2010-01-06
---------------------------
编译器错误
---------------------------
行 47:

列 1:

未知标识符 'ItemHeight'
---------------------------
确定  
---------------------------
离线restools

发帖
2848
金钱
1430
威望
143
只看该作者 9 发表于: 2010-01-07
楼上的,用增强版编辑器载入,然后稍微修改下界面,就会重新生成代码,以适应你的普通版 Inno Setup 。

编辑器会自动过滤不支持的属性生成代码。
我的BLOG:   http://restools.hanzify.org (Inno Setup 增强版, 插件 发布站点)