inno setup包装库文件,并设置为系统环境变量

  1. 安装inno setup安装包,

2、安装后设置以管理员权限运行此程序,修改环境变量需要管理员身份运行此程序

  1. 将需要分离出来的动态库文件单独放在一个文件夹中
  2. 启动inno setup软件,选择创建新的脚本文件,下一步

  1. 不创建空的文件,下一步
  2. 填写相关安装包的信息,下一步
  3. 选择默认选项,下一步
  4. 因为是动态库包,没有主执行程序.exe,勾选此选项

  1. 选择刚刚分离好的需要打包的目录,作为打包的目录,下一步
  2. 默认选项,下一步
  3. 许可证文件,默认不填,下一步
  4. 默认选项,为电脑上所有用户安装,不填,下一步
  5. Windows注册表文件,无,默认不填,下一步
  6. 软件安装向导语言,选择Chinese中文语言,需要在程序运行目录的Language文件夹中加入Chinese.isl文件,下一步
  7. 安装包输出的目录,可以设置安装包的图标icon以及名称,下一步
  8. 不使用预编译指令,不勾选,下一步,完成设置
  9. 可以保存脚本文件,用于添加后续的添加注册表代码
  10. Inno setup软件生成的脚本文件
  11. 在脚本结尾添加此段代码,用于将此安装包的安装路径加入到系统用户变量中

[Run]

Filename: "{app}"; Description: "Running My Program"; Flags: postinstall skipifsilent runascurrentuser

[Code]

function InitializeSetup(): Boolean;

begin

  Result := True;

end;

procedure AddPathToEnvironmentVariable(const PathToAdd: string);

var

  CurrentPath, KeyPath: string;

  RootKey: integer;

begin

  // 选择是添加到系统环境变量还是用户环境变量

 

  // 对于用户环境变量,使用:

  RootKey := HKCU; // 或者 HKLM 如果你想添加到系统环境变量 (需要管理员权限)

  KeyPath := 'Environment'; // 用户环境变量

 

  // 对于系统环境变量,使用:

  // RootKey := HKLM;

  // KeyPath := 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment';

  // 获取当前的 PATH 环境变量值

  if not RegQueryStringValue(RootKey, KeyPath, 'Path', CurrentPath) then

    CurrentPath := '';

  // 检查是否已经存在该路径,避免重复添加

  if Pos(PathToAdd, CurrentPath) = 0 then begin

    // 如果不存在,则添加新路径

    CurrentPath := CurrentPath + ';' + PathToAdd;

    // 更新注册表中的 PATH 环境变量

    RegWriteStringValue(RootKey, KeyPath, 'Path', CurrentPath);

    // 发送 WM_SETTINGCHANGE 消息通知系统环境变量已更改

    {PostMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, Integer('Environment'));}

  end;

end;

procedure CurStepChanged(CurStep: TSetupStep);

var

  ErrorCode: Integer;

begin

  if CurStep = ssPostInstall then (*这也是注释*) {这是注释}

  begin

  {

      这是注释

  }

  (***)

    // 等待之前 [Run] 段中的程序完成

    // 注意:因为我们在 [Run] 段中设置了 nowait 标志,所以我们需要在这里手动等待程序结束。

    // 如果你希望脚本等待程序完成后再继续,可以移除 nowait 标志或使用其他方法等待进程结束。

   

    // 假设我们有一个函数 WaitForProgramToFinish 来等待程序完成(需要你自己实现)

    // WaitForProgramToFinish('{app}\MyProg.exe', ErrorCode);

    // 程序结束后添加路径到环境变量

    AddPathToEnvironmentVariable(ExpandConstant('{app}'));

  end;

end;

20、点击inno  setup软件中的执行按钮,在输出目录生成安装包文件.exe

21、点击运行,运行完毕后,将安装包中库解压到相应设置好的文件夹,并将对应的路径加入到用户环境变量中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值