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目录
习惯使用的打包工具就是 Inno Setup,而 Inno Setup 是用于安装软件的流行程序。不幸的是,没有官方的解压程序-将文件从自解压的可执行文件中取出的唯一方法是运行它。对于使用 Inno Setup 创建的安装程序的用户,Inno Setup Unpacker 可以派上用场。该工具严格从命令行运行,可让您从其安装包中快速提取安装文件。 解决此问题的一个软件是 Sergei Wanin 的 InstallExplorer,它是 FAR Manager 的插件,可以解压缩多种安装类型,包括 Inno Setup(IS)。 但是由于它没有及时更新,因此大部分时间都不支持最新的 IS,因此该程序诞生了。 Inno Setup 提取工具 Inno Setup Unpacker 中文版Inno Setup 提取工具 Inno Setup Unpacker 中文版 与 InstallExplorer 相比优点是: Innounp 是开源的,基于IS源码。 因此,它更有可能支持将来的IS版本。 它会恢复安装脚本(.iss文件)的一部分,包括注册表更改和已编译的 Innerfuse/RemObjects Pascal 脚本(如果有)。 Inno Setup 管理变得简单 Inno Setup 是一个流行且可靠的应用程序,可通过帮助您生成脚本来促进程序安装程序的创建。使用 Inno Setup 编译代码会导致从容器中解压缩安装文件,只能通过自解压文件来完成。换句话说,您需要创建一个自解压的可执行文件来封装安装文档。 Inno Setup Unpacker 可以帮助您避免此类操作,这特别有用,因为多种系统安全协议会阻止可执行文件的下载。该程序允许您通过几次按键从存档中提取文件。 从命令行运行程序 Inno Setup Unpacker 没有 GUI,但是您可以查看所有功能并从命令行轻松操作它。可能需要管理权限才能打开程序,但否则程序运行就没有问题。 Inno Setup Unpacker 的功能包括命令和选项。这些命令包括显示安装信息,详细列出文件,将文件提取到当前目录。您也可以提取不带路径的文件并测试它们的完整性。 至于选项,例如,您可以启用批处理模式,提取内部嵌入式文件,使用密码解密安装或提取所有重复文件的副本。 简单使用说明 在命令行中打开 Inno Setup Unpacker 时,您可以查看命令,选项和使用说明的列表。该程序使您可以快速,轻松地从 Inno Setup 软件包中提取文件。此外,它使用简单,无需安装。 用法 Innounp是一个控制台应用程序,它使用命令行选项来找出要执行的操作。有关使用FAR或Total Commander作为前端的更人性化的界面,请参见下面的MultiArc部分。 Windows资源管理器爱好者:nullz制作了一些.reg脚本,以将innounp添加到右键菜单中,而Richard Santaella为innounp制作了图形包装(在下载页面上获取)。 innounp [command] [options] [@filelist] [filemask …] 命令: (no) 显示常规安装信息 -v 详细列出文件(带有大小和时间戳) -x 从安装中提取文件(到当前目录,另请参见 -d) -e 提取没有路径的文件 -t 测试文件的完整性 选项: -b 批处理(非交互式)模式-不会提示您输入密码或更改磁盘 -q 提取时不指示进度 -m 处理内部嵌入式文件(例如 license 和 uninstall.exe) -pPASS 使用密码解密安装 -dDIR 将文件提取到 DIR 中(可以是绝对路径,也可以是相对路径) -cDIR 指定 DIR 是安装中的当前目录 -n 不要尝试解压缩新版本 -fFILE 与 -p 相同,但是从 FILE 读取密码 -a 处理重复文件的所有副本 -y 在所有查询中均假设为“是”(例如覆盖文件) 如果安装程序具有 setup.0(在不使用 SetupLdr 的情况下进行安装),请在 setup.0 而不是 setup.exe 上运行 innounp。 要从特定目录提取所有文件,请使用 dirname \ *.*,而不仅仅是 dirname。 默认情况下,所有文件都提取到当前目录。使用 -d 替代此行为。例如,-dUnpacked 将在当前目录内创建一个名为 Unpacked 的目录,并将提取的文件放在此处。 -c 选项很难解释。假设您在文件管理器中打开了一个安装,然后浏览到 {app}\subdir\program.exe。现在,如果将 program.exe 复制到另一个位置,将创建整个目录树
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值