inno setup的安装及简单使用

安装

使用

1 添加中文安装字体

  • 点击官网左边的Translations–找到Chinese (Simplified)下载后放在该安装目录下的Languages\文件夹下

2 制作使用管理员权限启动的安装包

  • 使用ResourceHacker修改inno setup安装包脚本的level

    2.1下载安装Resource Hacker
    • Resource Hacker 免费软件,用于查看,修改,添加和删除 Win32 可执行文件的资源。内置了一个内部资源编译器和反编译器
    2.2 安装并打开ResourceHackesr

在这里插入图片描述

2.3 修改为管理员权限
  • 修改inno setup资源
  • 使用ResourceHacker打开innosetup的SetupLdr.e32的Mainfest里第24行level改为requireAdministrator
    在这里插入图片描述

相关语法

1.安装完成之后运行指定程序

[Run]
Filename: "{app}\GAME.exe"; Flags: nowait skipifsilent
  • nowait – 不等待完成就处理下一个条目。

    • [官方说明,处理下一个 [Run] 条目前或完成安装前不等待进程执行完成]
  • skipifsilent — 如果后台运行则不提示点击“完成”。

    • [官方说明] ,仅在 [Run] 段有效。告诉安装程序如果安装程序在后台运行则跳过这个条目。

2.安装包使用中文

[Languages]
Name: "chinesesimplified"; MessagesFile: "compiler:Languages\ChineseSimplified.isl"

3.把安装自动注册dll文件

  • dll文件放到安装目录下顺便注册
[Files]
Source: "..\x64\Release\sdUkey.dll"; DestDir: "{app}"; Flags: ignoreversion  restartreplace uninsrestartdelete regserver

4.安装过程静默安装第三方安装包

  • 释放安装包到安装目录后执行安装相关函数

[Files]
Source: ".\ePass3003-SimpChinese.exe"; DestDir: "{tmp}"; AfterInstall: RunInstaller

  • 执行的函数内容

[Code]
procedure RunInstaller;
var
  ResultCode: Integer;
begin
  if not Exec(ExpandConstant(CurrentFileName), '/S', '', SW_SHOWNORMAL   ,
    ewWaitUntilTerminated, ResultCode)
  then
    MsgBox('Other installer failed to run!' + #13#10 +
      SysErrorMessage(ResultCode), mbError, MB_OK);
end; 

5 安装完成后立即运行程序

[Run]
Filename: "{app}\win32Key.exe"; Flags: nowait skipifsilent

6 设置开机自启

[Tasks]
Name: "startupicon"; Description: "开机启动"; GroupDescription: "{cm:AdditionalIcons}";   
[Icons]                                                                                
Name: "{userstartup}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: startupicon

7.安装之前卸载

[Code]
function InitializeSetup(): boolean;
var
  ResultStr: String;
  ResultCode: Integer;
begin
  if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{10CCA44C-9F7F-4B59-AC5E-637332E62D60}is1', 'UninstallString', ResultStr) then
    begin
      ResultStr := RemoveQuotes(ResultStr);
      Exec(ResultStr, '/silent', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
    end;
    result := true;
end;

相关目录说明

目录目录说明
{tmp}第三方安装包安装过程存放临时文件的
{app}用户选择的安装目录
{sys}系统目录system32或者sysWOW64目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值