如何在Inno Setup安装程序中增加卸载密码:详细解决方案

随心笔谈1年前发布 编辑
160 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

某些 Inno Setup 用户要求在可能的情况下要求要卸载软件的用户输入密码。例如,防病毒软件可能是此要求的候选者。下面的 Inno Setup 代码显示仅在密码正确的情况下卸载软件。此方法非常弱,很容易找到密码。因此,想要使用此策略来保护其软件免受卸载的人,需要编写更安全的代码。如果用户要卸载并且不知道密码文件是否仍然可以从应用程序的文件夹中删除。在此示例中,卸载密码为 removeme 。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
[Code]
function AskPassword(): Boolean;
var
Form: TSetupForm;
OKButton, CancelButton: TButton;
PwdEdit: TPasswordEdit;
begin
Result := false;
Form := CreateCustomForm();
try
Form.ClientWidth := ScaleX(256);
Form.ClientHeight := ScaleY(100);
Form.Caption := ‘卸载密码’;
Form.BorderIcons := [biSystemMenu];
Form.BorderStyle := bsDialog;
Form.Center;

OKButton := TButton.Create(Form);
OKButton.Parent := Form;
OKButton.Width := ScaleX(75);
OKButton.Height := ScaleY(23);
OKButton.Left := Form.ClientWidth – ScaleX(75 + 6 + 75 + 50);
OKButton.Top := Form.ClientHeight – ScaleY(23 + 10);
OKButton.Caption := ‘确定’;
OKButton.ModalResult := mrOk;
OKButton.Default := true;

CancelButton := TButton.Create(Form);
CancelButton.Parent := Form;
CancelButton.Width := ScaleX(75);
CancelButton.Height := ScaleY(23);
CancelButton.Left := Form.ClientWidth – ScaleX(75 + 50);
CancelButton.Top := Form.ClientHeight – ScaleY(23 + 10);
CancelButton.Caption := ‘取消’;
CancelButton.ModalResult := mrCancel;
CancelButton.Cancel := True;

PwdEdit := TPasswordEdit.Create(Form);
PwdEdit.Parent := Form;
PwdEdit.Width := ScaleX(210);
PwdEdit.Height := ScaleY(23);
PwdEdit.Left := ScaleX(23);
PwdEdit.Top := ScaleY(23);

Form.ActiveControl := PwdEdit;

if Form.ShowModal() = mrOk then
begin
Result := PwdEdit.Text = ‘removeme’;
if not Result then
MsgBox(‘密码错误:禁止卸载。’, mbInformation, MB_OK);
end;
finally
Form.Free();
end;
end;

以上就是为您提供的 Inno Setup 安装程序在卸载时增加卸载密码解决方案,复制以上代码到 Inno Setup 脚本中修改相关代码保存即可。

© 版权声明

相关文章