博客
关于我
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/

    你可能感兴趣的文章
    Objective-C实现iterative merge sort迭代归并排序算法(附完整源码)
    查看>>
    Objective-C实现jaccard similarity相似度无平方因子数算法(附完整源码)
    查看>>
    Objective-C实现Julia集算法(附完整源码)
    查看>>
    Objective-C实现k nearest neighbours k最近邻分类算法(附完整源码)
    查看>>
    Objective-C实现k-Means算法(附完整源码)
    查看>>
    Objective-C实现k-nearest算法(附完整源码)
    查看>>
    Objective-C实现KadaneAlgo计算给定数组的最大连续子数组和算法(附完整源码)
    查看>>
    Objective-C实现karatsuba大数相乘算法(附完整源码)
    查看>>
    Objective-C实现KMP搜索算法(附完整源码)
    查看>>
    Objective-C实现Knapsack problem背包问题算法(附完整源码)
    查看>>
    Objective-C实现knapsack背包问题算法(附完整源码)
    查看>>
    Objective-C实现knapsack背包问题算法(附完整源码)
    查看>>
    Objective-C实现knight tour骑士之旅算法(附完整源码)
    查看>>
    Objective-C实现knight Tour骑士之旅算法(附完整源码)
    查看>>
    Objective-C实现KNN算法(附完整源码)
    查看>>
    Objective-C实现koch snowflake科赫雪花算法(附完整源码)
    查看>>
    Objective-C实现KPCA(附完整源码)
    查看>>
    Objective-C实现KruskalMST最小生成树的算法(附完整源码)
    查看>>
    Objective-C实现kruskal克鲁斯卡尔算法(附完整源码)
    查看>>
    Objective-C实现kth order statistick阶统计量算法(附完整源码)
    查看>>