博客
关于我
Inno Setup打包教程
阅读量:643 次
发布时间:2019-03-14

本文共 3037 字,大约阅读时间需要 10 分钟。

Inno Setup 是一个免费的 Windows 安装程序制作软件,最初发布于 1997 年,经过多年更新至版本 5。作为一款极简实用的打包工具,Inno Setup 可以根据需求灵活配置,且运行稳定。

安装教程

下载安装

官方下载地址可通过浏览器直接获取。安装完成后即可开始使用。

权限设置

Inno Setup 打包的程序安装时,若选中运行程序会提示权限不足。解决方法是为软件添加管理员权限。

具体步骤:

  • 打开 Inno Setup 的安装目录,找到 SetupLdr.e32 文件。

  • 下载 eXeScope.exe,将 SetupLdr.e32 拖入该程序中。

  • 在 XPMainifest > 1 目录中,修改 level 值并调整相应 ASCII 码。

  • 修改完后保存,安装包图标会显示管理员权限符号。

  • 打包教程

    打开 Inno Setup 软件,进入文件 > 新建菜单选择。

    步骤:

  • 填写程序名称、版本、发布者等信息,选择输出文件夹和图标路径。

  • 配置压缩算法和其他选项,完成后编译脚本。

  • 在脚本中可添加运行检测逻辑,确保程序已关闭后继续安装。

  • 脚本代码示例

    #define MyAppName "test"
    #define MyAppVersion "1.0"
    #define MyAppPublisher "sakuya"
    #define MyAppExeName "test.exe"
    [Setup]
    AppId={241FCDA1-8869-439C-9C7F-BF0061ADE5BC}
    AppName={#MyAppName}
    AppVersion={#MyAppVersion}
    AppVerName={#MyAppName} {#MyAppVersion}
    AppPublisher={#MyAppPublisher}
    DefaultDirName={pf}\{#MyAppName}
    DefaultGroupName={#MyAppName}
    OutputDir=C:\Users\Lenovo\Desktop
    BaseFilename=test
    SetupIconFile=C:\Users\Lenovo\Desktop\heart.ico
    CompressAlgorithm=lzma
    SolidCompression=yes
    PrivilegesRequired=none
    [Languages]
    Name: "chinesesimp"
    MessagesFile: "compiler:Default.isl"
    [Tasks]
    Task: desktopicon
    Name: "desktopicon"
    Description: "{cm:CreateDesktopIcon}"
    GroupDescription: "{cm:AdditionalIcons}"
    Flags: unchecked
    OnlyBelowVersion: 0,6.1
    [Files]
    Source: "C:\Users\Lenovo\Desktop\test\test.exe"
    DestDir: "{app}"
    Flags: ignoreversion
    Source: "C:\Users\Lenovo\Desktop\test\*"
    DestDir: "{app}"
    Flags: ignoreversion recursesubdirs createallsubdirs
    [Icons]
    Name: "{group}\{#MyAppName}"
    Filename: "{app}\{#MyAppExeName}"
    Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"
    Filename: "{uninstallexe}"
    WorkingDir: "{app}"
    [Run]
    Filename: "{app}\{#MyAppExeName}"
    Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"
    Flags: nowait postinstall skipifsilent
    [Code]
    var ErrorCode: Integer;
    IsRunning: Integer;
    procedure InitializeSetup():
    Result := true;
    if FileExists(ExpandConstant('{pf}\test\test.exe')) then
    MsgBox('程序已经安装在你的系统中了!', mbInformation, MB_OK);
    Result := false;
    end;
    while IsRunning > 0 do
    if MsgBox('安装程序检测到客户端正在运行。' #13#13 '您必须先关闭它然后单lick“是”继续安装,或按“否”退出!', mbConfirmation, MB_YESNO) = idNO then
    Result := false;
    IsRunning := 0;
    else
    Result := true;
    IsRunning := FindWindowByWindowName('test');
    end;
    end;
    end;
    procedure InitializeUninstall():
    Result := true;
    IsRunning := FindWindowByWindowName('test');
    while IsRunning > 0 do
    if MsgBox('安装程序检测到客户端正在运行。' #13#13 '您必须先关闭它然后单lick“是”继续安装,或按“否”退出!', mbConfirmation, MB_YESNO) = idNO then
    Result := false;
    IsRunning := 0;
    else
    Result := true;
    IsRunning := FindWindowByWindowName('test');
    end;
    end;
    end;
    procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep):
    case CurUninstallStep of
    usUninstall:
    end;
    usPostUninstall:
    ShellExec('open', 'http://www.baidu.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
    end;
    end;

    转载地址:http://aeulz.baihongyu.com/

    你可能感兴趣的文章
    MySQL 创建新用户及授予权限的完整流程
    查看>>
    mysql 创建表,不能包含关键字values 以及 表id自增问题
    查看>>
    mysql 删除日志文件详解
    查看>>
    mysql 判断表字段是否存在,然后修改
    查看>>
    mysql 协议的退出命令包及解析
    查看>>
    mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
    查看>>
    mysql 多个表关联查询查询时间长的问题
    查看>>
    mySQL 多个表求多个count
    查看>>
    mysql 多字段删除重复数据,保留最小id数据
    查看>>
    MySQL 多表联合查询:UNION 和 JOIN 分析
    查看>>
    MySQL 大数据量快速插入方法和语句优化
    查看>>
    mysql 如何给SQL添加索引
    查看>>
    mysql 字段区分大小写
    查看>>
    mysql 字段合并问题(group_concat)
    查看>>
    mysql 字段类型类型
    查看>>
    MySQL 字符串截取函数,字段截取,字符串截取
    查看>>
    MySQL 存储引擎
    查看>>
    mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
    查看>>
    MySQL 存储过程参数:in、out、inout
    查看>>
    mysql 存储过程每隔一段时间执行一次
    查看>>