目录
前言
本文主要讲解inno setup如何生成一个安装包以及一些问题的解决方案,如安装时增加密码,修改默认安装路径,删除文件等。
一、下载inno setup
可前往Inno Setup Downloads (jrsoftware.org)下载安装。
二、使用
1.依次点击file-New,然后点击下一步
2.设置应用程序信息(安装包信息)
设置应用程序名称和版本号后点击下一步
3.应用程序文件夹
这里一般只用设置文件夹名称即可
4.应用程序文件
Add folder(添加文件夹) :此处添加应用程序主执行文件依赖的文件夹,一般指应用程序主执行文件所在的文件夹。
5.然后依次点击下一步
这里设置应用程序的图标,点击下一步即可。
应用程序文档信息,一般空着就行。
6.设置安装语言
默认的是英文安装,简体中文安装是没有的需要自己去官网下载中文语言包,具体方法如下:
1,去inno setup官网找到translations,点击然后下拉找到简体中文语言包Chinese (Simplified)下载下来。
2,找到Inno Setup安装文件,进入Languages子文件夹,将语言包复制进去就行。
7.编译设置
8.继续点下一步
三、其他一些常用设置
1.卸载时删除指定文件夹
ExpandConstant('{userappdata}\路径)设置删除文件夹的路径,userappdata指计算机的%appdata%文件夹。
[Code]
procedure CurUninstallStepChanged (CurUninstallStep: TUninstallStep);
var mres : integer;begin
case CurUninstallStep of
usPostUninstall:
begin
mres := MsgBox('你要删除软件残留信息吗?删除后软件使用记录无法恢复。', mbConfirmation, MB_YESNO or MB_DEFBUTTON2)
if mres = IDYES then
ExpandConstant('{userappdata}\路径),
end;
end;
end;
2.安装时创建文件夹
[dirs]
Name:"{userappdata}\文件名"
3.修改默认安装路径
DefaultDirName=C:\Program Files\WellHealthcare File
4.安装时增加密码
var
PasswordPage: TInputQueryWizardPage;procedure InitializeWizard;
begin
PasswordPage := CreateInputQueryPage(wpWelcome, '安装密码', '请输入密码以继续安装','');
PasswordPage.Add('密码:', True);
PasswordPage.Edits[0].MaxLength :=255; //设置密码最大长度
end;function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
if CurPageID = PasswordPage.ID then
begin
// 获取用户输入的密码
if (PasswordPage.Edits[0].Text <> 'password') then //替换为您设定的密码begin
MsgBox('密码错误,请重新输入!', mbError, MB_OK);
Result := False; // 阻止安装继续进行
end;
end;
end;
5,中英文配置
最近有了新的需求,需要进行中英文配置,但是我实际上对inno setup的代码是非常不熟悉的,网上也找了很多教程,基本都是教一些基础的页面操作,不过最终也算是解决了,对命令也稍微熟悉了一点,我将(4,安装时增加密码)这个功能进行了中英文配置,ActiveLanguage();可以获取到用户选择的安装语言,根据用户选择的语言设置页面,代码如下:
[Code]
var
PasswordPage: TInputQueryWizardPage;
LangID: string;
procedure InitializeWizard;
begin
LangID := ActiveLanguage();if CompareText(LangID, 'english') = 0 then
begin
PasswordPage := CreateInputQueryPage(wpWelcome, 'Installation serial number', 'Please enter the serial number to continue the installation', '');
PasswordPage.Add('Serial Number', True);
PasswordPage.Edits[0].MaxLength := 255; //设置密码最大长度
end
else if CompareText(LangID, 'chinesesimplified') = 0 then
begin
PasswordPage := CreateInputQueryPage(wpWelcome, '安装密码', '请输入密码以继续安装', '');
PasswordPage.Add('密码:', True);
PasswordPage.Edits[0].MaxLength := 255; //设置密码最大长度
end;
end;function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
if CurPageID = PasswordPage.ID then
begin
// 获取用户输入的密码
if PasswordPage.Edits[0].Text <> '123' then //替换为您设定的密码begin
if CompareText(LangID, 'english') = 0 then
begin
MsgBox('Serial number error, please re-enter!', mbError, MB_OK);
Result := False; // 阻止安装继续进行
end
else if CompareText(LangID, 'chinesesimplified') = 0 then
begin
MsgBox('密码错误,请重新输入!', mbError, MB_OK);
Result := False; // 阻止安装继续进行
end
end;
end;
end;