27
2014
08

Inno setup打包程序增加输入框界面,并保存输入内容到本地文件

 

Inno setup是一个小巧而强大的打包工具, 如果在安装页面增加一个文本框让用户在安装的时候输入内容呢, 并且把输入的内容保存到安装目录下 :

 

 

; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!

#define MyAppName "我的程序"
#define MyAppVersion "1.5"
#define MyAppPublisher "我的公司"
#define MyAppURL "http://www.uuxin.com/"
#define MyAppExeName "MyProg.exe"

[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (生成新的GUID,点击 工具|在IDE中生成GUID。)
AppId={{5C27E0D8-4A42-4EDC-916D-D3E9FE3CFBA9}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
LicenseFile=C:\Program Files\Inno Setup 5\license.txt
InfoBeforeFile=C:\Program Files\Inno Setup 5\license.txt
InfoAfterFile=C:\Program Files\Inno Setup 5\license.txt
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

[Files]
Source: "C:\Program Files\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

[code]
var
       myPage:TwizardPage;
       myBtn:TButton;
       ed1:TEdit;

procedure ClickmyBtn(Sender: TObject);
begin
      
end;


{ 设置页面相关代码 }
procedure EditChange(sender: TObject);
begin

 if ed1.Text = '' then
    WizardForm.NextButton.Enabled := False
  else
    WizardForm.NextButton.Enabled := True;
end;


procedure InitializeWizard();
begin
       myPage:=CreateCustomPage(wpWelcome, '标题:自定义页面', '描述:这是我的自定义页面');
       ed1:=TEdit.Create(myPage);
       ed1.Parent:=myPage.Surface;
       ed1.Top:=30;
       ed1.Width:=200;
       ed1.OnChange:=@EditChange;
end;

procedure CurStepChanged (CurStep: TSetupStep);
begin
  if CurStep = ssDone then 
  begin 
    SaveStringToFile(ExpandConstant('{app}\root.txt'),ed1.Text, False);
  end;
end;

 

// 页面切换事件
procedure CurPageChanged(CurPageID: Integer);
var
 ResultCode: Integer; 
 file: String;
  buf: String;
begin
  if CurPageID = myPage.ID then
  begin
   WizardForm.BackButton.Enabled := True;

   if ed1.Text = '' then
      WizardForm.NextButton.Enabled := False
    else
      WizardForm.NextButton.Enabled := True;
  end
end;

 

 

 

iss文件下载

iss_test.rar


 

 

 

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。