安装包UI美化之路-借助AI快速使用nsNiuniuSkin制作安装包

拿到一套安装包方案后,大家通常先要做几件事:换成自己产品的 LOGO,修改名称和版本号,把程序文件放进去,再接上安装完成后的启动、快捷方式等行为。如果还不熟悉 NSIS 和 DuiLib,光是找到这些内容分别放在哪个文件里,就需要花一些时间。

今天介绍一种借助 AI 编程来完成这些操作的方法。nsNiuniuSkin 的解决方案包中,除了脚本、模板和工具,还附带了一份 AGENTS.md。让 AI 先读这份文件,再结合包内文档和现有示例处理需求,就可以更快地开始安装包制作。

下面以 DuiLib 版的 leeqia_simple 模板为例,看看从拿到方案到生成自己的安装包,可以怎样与 AI 配合。

一、先让 AI 看懂解决方案

AGENTS.md 是提供给 AI 的项目工作说明。它把安装包制作中的几个关键问题交代清楚:项目目录怎么组织,改界面应该查什么文档,业务逻辑放在哪里,以及完成后怎样验证。

比如,修改一个按钮时,AI 需要知道的不只是它的颜色和大小,还包括这个按钮有没有绑定安装事件。AGENTS.md 会引导它先查 UI 属性和接口文档,再结合模板修改,减少猜错属性、改断按钮关联的情况。

文档中有这样一段约定:

复制代码
4. 修改 UI XML
   - 页面 XML 放在 `SetupScripts/<project>/skin/`。
   - 控件属性先查 `docs/安装包UI属性设置指南.md` 和 `docs/属性列表.xml`。
   - 控件 `name` 要稳定,NSIS 脚本会通过控件名绑定事件和设置属性。
   - 图片、GIF、背景资源路径要相对皮肤目录可解析。

还有一条针对接口调用的要求:

不要发明不存在的插件接口。所有 nsNiuniuSkin:: 调用必须能在 docs/nsNiuniuSkin接口文档.md 中找到。

这样,即使我们还没有系统学过 NSIS 语法和 DuiLib 布局,也可以先把期望的界面和操作行为说清楚,让 AI 按现有方案完成具体修改,再通过实际运行检查结果。

二、打开完整目录,准备好产品资料

在 Codex 中打开解压后的解决方案目录,让 AI 能同时访问根目录的 AGENTS.mddocs/SetupScripts/ 以及配套打包工具。不要只拿出一份脚本单独开始。

如果使用的是完整源码仓库,这里对应的是其中的 Release/ 目录;如果使用的是导出的解决方案包,直接打开解压后的根目录即可。本文后面的路径,都以这个工作目录为起点。

开始前准备好以下信息就够了:

要提供的内容 示例或说明
产品名称、版本号 我的应用,1.0.0.0
主程序文件名 MyApp.exe,要与实际文件一致
待安装文件 已编译好的程序及运行所需文件,默认放在 FilesToInstall/
界面素材 LOGO、安装与卸载图标、宣传配图;有参考设计图也一起提供
文案与协议 产品介绍、安装提示、用户许可协议,以及需要的语言版本
安装行为 默认目录、快捷方式、是否开机启动、安装完成后怎样启动程序

资料准备好后,可以先这样告诉 AI。下面的产品名和路径都是示例,使用时换成自己的实际内容:

复制代码
请先阅读当前目录的 AGENTS.md 和 docs/打包项目说明.md,
确认现有模板、打包入口和文件组织方式。

我要制作"我的应用"的安装包,版本为 1.0.0.0,
主程序是 MyApp.exe,完整程序文件已经放到 FilesToInstall/。

请以 SetupScripts/leeqia_simple 为基础,复制为 myapp 项目。
先列出要修改的文件及用途,再按这些需求完成配置。
已有模板保留,项目特有修改优先放在 myapp 目录内。

如果拿到的方案中没有 leeqia_simple,可以把提示词中的模板名换成包内已有的模板,让 AI 先根据文档确认它是否适合自己的界面。

三、把安装界面换成自己的产品

先看一下简洁模板的安装首页。中间是产品 LOGO、名称和快速安装按钮,底部保留协议入口及自定义选项:

制作自己的安装包时,可以从这几个看得见的地方开始改。AI 会根据需求分别找到图片、XML 布局、产品配置和语言文案,不需要我们逐个记住它们的文件名。

这些内容在当前模板中的位置如下:

修改内容 对应位置
产品名称、版本、主程序及默认安装目录 项目中的 soft_setup.nsi 及打包入口配置
安装首页 skin/configpage.xml
安装进度页、完成页 skin/installingpage.xml、skin/finishpage.xml
LOGO、轮播配图等 skin/images/
安装与卸载图标 项目目录中的 logo.ico、uninst.ico
中英文文案 LanguageFiles/lang_msg_2052.ini、lang_msg_1033.ini

例如,可以把素材交给 AI,再提出这样的要求:

复制代码
请按 AGENTS.md 的要求,修改 myapp 项目的安装界面。

使用我提供的 LOGO 和图标,保留简洁模板的白色背景,
把主要按钮改成品牌蓝色,产品名称使用"我的应用"。
保留快速安装、自定义安装目录和协议入口。

安装进度页使用我提供的产品配图及两组介绍文案,
保留原有的轮播布局和真实安装进度显示。
如果项目启用了中英文,两种语言的文案一起更新。

请先查 UI 属性指南;保留现有按钮、路径输入框和进度条的 name,
同时检查已有的 @1.5x、@2x 图片,避免放大后仍显示旧 LOGO。

这里特别提到控件 name,是因为它关系到界面与脚本的连接。例如 btnInstall 对应安装按钮,editDir 是安装目录输入框。外观可以调整,名称随意改掉后,原来的事件或取值逻辑就可能找不到控件。

安装进度页的示例效果如下。图片与文字分别配置,换产品介绍时,可以让 AI 同时调整配图、文案及其位置。图中的宣传文字属于模板演示内容,使用时应替换成自己产品的实际介绍。

四、把安装行为接到自己的程序上

界面换好后,还要让安装包真正服务于自己的软件。比如文件安装到哪里,桌面快捷方式指向谁,安装完成后点击按钮启动哪个程序,以及卸载时哪些数据需要保留。

这些需求直接用日常语言说清楚即可。延续前面的例子,可以继续发送:

复制代码
请继续完成 myapp 的安装业务配置:

1. 安装 FilesToInstall/ 内完整的程序文件,主程序为 MyApp.exe。
2. 默认创建桌面快捷方式,允许用户取消;默认不开机启动。
3. 安装完成后,点击完成页的启动按钮才打开 MyApp.exe。
4. 卸载时清理安装文件和快捷方式,用户生成的数据需要保留;
   请先根据程序实际的数据目录给出清理范围,路径不明确时问我。

请查阅接口文档和现有回调,优先复用已有能力。
项目扩展优先放在 customize.nsh;如果某项行为由公共脚本控制,
请先说明现有调用关系,再选择对其他模板影响最小的接入方式。
不要重复定义已有函数,也不要凭空编写插件接口。

需要留意,customize.nsh 是项目扩展的位置,但并不意味着所有回调都已经定义在其中。例如当前模板的部分安装和完成逻辑位于公共 setup_control.nsh,应让 AI 先找到真实调用位置,再决定怎样接入。

如果业务中还涉及安装前检查、依赖安装、在线下载等内容,也按"触发时机、输入信息、成功与失败后怎样处理"说明需求。拿不准的接口和参数,让 AI 回到包内文档查询。

五、让 AI 完成打包,并交代验证结果

修改完成后,还可以继续让 AI 执行打包,不必再手工寻找每个工具的调用方法:

复制代码
请根据 AGENTS.md 检查 myapp 的脚本、图片、语言文件和待安装文件,
生成一个便于重复使用的打包入口,并实际执行。

本次先制作本地测试用的 nozip 安装包,使用 package.py 时
明确设置 package_mode=2、need_sign=False,关闭 TEST_SLEEP 演示延时。
输出名称为 MyApp_Setup_1.0.0.exe。

请核对当前脚本的真实参数与文件覆盖行为,
不要把示例产品的名称、目录或主程序名带入结果。
完成后告诉我生成文件的位置、以后重复打包的命令,
以及哪些项目已经验证、哪些还需要实际安装检查。

方案中的 prepare.bat 用于准备皮肤包、语言文件和安装文件等内容,最终安装包通常输出到 Output/。如果采用已有的 build-*.bat,要先看清其中的配置:部分入口会执行签名,并在打包结束后启动安装器。

另外,pre_define.nshskin.zip 属于流程生成或覆盖的内容。产品配置应落实到对应入口,界面修改应落实到 skin/ 源文件,避免这次改好、下次打包又恢复了。

生成 EXE 后,建议在测试环境走一遍完整流程:

  1. 查看首页、协议、路径选择和语言切换,确认名称、图片与文案都已替换。
  2. 实际安装,检查文件位置、进度显示和快捷方式。
  3. 从完成页启动主程序,确认目标文件及启动行为正确。
  4. 检查卸载结果,确认用户数据按约定保留。
  5. 有多语言或高 DPI 使用场景时,再检查对应显示效果。

发现问题时,把具体页面截图、期望结果或编译错误交给 AI,要求它沿着现有文档和脚本继续定位。这样一次只处理一个明确问题,修改结果也更容易核对。

结语

有了随方案附带的 AGENTS.md,我们可以从"我希望安装包怎样显示、怎样工作"开始,把查目录、查接口、改脚本和运行打包的工作交给 AI 协助完成。对于还不熟悉 NSIS 和 DuiLib 的朋友,先从现有模板换 LOGO、改文案开始,再逐步接入业务,是一个容易上手的做法。

愿天下没有难做的安装包!

相关推荐
xy345315 小时前
Axure 9.0 中继器创建与设置步骤
前端·ui·html·axure·原型·产品设计
兰亭妙微UI设计公司1 天前
兰亭妙微APP界面设计公司分享: iPhone Duo 登场|3 大核心要点,拆解折叠屏 UI 适配设计思路
ui·交互
智购科技自动售货机工厂1 天前
2026自动售货机端侧AI降本逻辑:从云端API到本地推理的成本重构~YH
人工智能·python·ui·面试·交互
HwJack202 天前
【HarmonyOS开发小实践】ArkUI 应用级状态AppStorage 与跨页面共享、持久化
ui·华为·性能优化·harmonyos
undsky_3 天前
传统色 × 现代和弦:专为 UI/UX 打造的国风配色 Skill
ui·ai·aigc·ai编程·ux
Wang's Blog4 天前
Java框架快速入门: Spring Security+OAuth2之多因子认证与TOTP实战
java·spring·ui
Huanzhi_Lin4 天前
UI业务模块化随笔
ui·mvc·mvp·ecs·ui框架·模块化开发
Quor5 天前
Zorv AI GenUI 技术架构深度解析:从双面设计到安全边界
人工智能·ui·架构