【软件实战】如何在5分钟拥有一款自己的软件-编程学习交流讨论版论坛-综合讨论-ZDZL
AI 文章摘要
本文介绍如何快速制作并打包一款自己的软件:先用AI生成HTML代码并保存为本地HTML文件;然后通过HTML Compile工具将HTML转换为可运行的exe程序;再使用Inno Setup将exe封装成安装包,实现桌面快捷方式、卸载程序等完整安装体验。文章还提醒了旧版IE内核兼容性、杀毒误报、AI代码质量等常见问题,并指出更专业的开发方案可选用Electron、Tauri等框架。

【软件实战】如何在5分钟拥有一款自己的软件

如今,在这个AI盛行的时代,我们都想要通过AI来开发一个属于自己的软件,但问题就在于,代码有了,却不知道如何变成一个软件,那么今天就来教如何拥有一款自己的软件。

那么接下来,我就以“开发一款抽签软件”为例,来教大家如何拥有一款属于自己的软件。

## 1.准备工作
### 1.1 HTML Compile与软件图标
– HTML Compile百度网盘链接:[提取码:yp72](https://pan.baidu.com/s/1v3vSzXCZYoXNP_5dEBJGNA?pwd=yp72)(链接提供版本较老,可以自己去网上安装最新版本)
– 软件图标,可以自己手画,也可以直接去网上找在线logo生成器,我这里选择logo生成器,当然需要转化为ico格式,我这里提供:[freeconvert](https://www.freeconvert.com/zh-CN/ico-converter),转化完后为:

![](https://cdn.luogu.com.cn/upload/image_hosting/pznb140x.png)

## 2.完成软件代码
### 2.1 使用一个你喜欢的AI
这个很简单,选择一个你用的熟的AI完成网站代码部分,我推荐Gemini 3.5 系列,但是我在国内就以Deepseek完成

### 2.2 使用AI完成代码
接下来,你就只需要输入你的要求来让AI帮你完成即可,不过要注意:

– 代码必须为HTML
– 可以多个文件,不过只能通过一个文件打开

 

写完之后保存在**本地**,先创建一个记事本,里面写好代码后,把文件后缀名改为**HTML**,当然,也不要忘记你的文件在哪里

![](https://cdn.luogu.com.cn/upload/image_hosting/gb2ur34w.png)

## 3.HTML转换为exe
接下来就是使用HTML Compile来完成转换,请大家打开HTML Compile
### 3.1 导入HTML项目
打开软件,点击新建项目
![](https://cdn.luogu.com.cn/upload/image_hosting/jwk8uhwr.png)
选择的文件的索引文件,一般为你的软件的首页
![](https://cdn.luogu.com.cn/upload/image_hosting/25cwazua.png)
找到首页文件,点击确定
![](https://cdn.luogu.com.cn/upload/image_hosting/aapmvv3t.png)
然后你就可以看见你的网站在上面了,恭喜,你已经成功50%
![](https://cdn.luogu.com.cn/upload/image_hosting/wcq3i5n9.png)

### 3.2 项目配置
选择编辑,点击项目选项
![](https://cdn.luogu.com.cn/upload/image_hosting/y0soblte.png)
然后输入你的软件名称和图标,图标也就是一开始让你转化的ico图标
![](https://cdn.luogu.com.cn/upload/image_hosting/qr793r0g.png)
然后根据**测试**调整软件窗口大小
![](https://cdn.luogu.com.cn/upload/image_hosting/2no6gpq4.png)
接着点击编译,确定文件保存的路径和保存的名称
![](https://cdn.luogu.com.cn/upload/image_hosting/yi01163n.png)
在操作选项中,把下面的选项全部勾选,然后点击保存
![](https://cdn.luogu.com.cn/upload/image_hosting/0gha929a.png)

### 3.3 打包HTML项目
回到首页,点击上分小齿轮图标
![](https://cdn.luogu.com.cn/upload/image_hosting/w94dom42.png)
点击编译,然后等待几秒
![](https://cdn.luogu.com.cn/upload/image_hosting/he97sj7f.png)
现在,HTML项目就已经打包成了exe格式,在之前设置的保存路径中就可以看到
![](https://cdn.luogu.com.cn/upload/image_hosting/ndozxka5.png)


现在,恭喜你,你已经拥有了一个专属于自己的软件!
效果图:
![](https://cdn.luogu.com.cn/upload/image_hosting/xbegu22h.png)
但是,有人会说了:这不就是个普通的exe文件吗,那我像把我的软件推广给更多人,那怎么办呢
接下来,就是教大家如何封装exe,把他变成一个安装包。


## 4. 将EXE封装成安装包(Setup)

### 4.1 为什么要做安装包?

– 把单个exe变成“安装向导”,用户双击后按提示完成安装。
– 自动在**桌面**、**开始菜单**创建快捷方式。
– 提供**卸载程序**,方便用户彻底清理。
– 压缩文件,减少体积,且能附带必要的资源文件(如DLL、配置文件)。
– 增强专业感,提升用户信任度。

### 4.2 主流打包工具一览

目前市面上常用的免费/开源打包工具主要有:

| 工具 | 特点 | 适用人群 |
|——|——|———-|
| **Inno Setup** | 免费、脚本灵活、功能强大,支持Pascal脚本,广泛使用。 | 大多数开发者,推荐新手入门。 |
| **NSIS (Nullsoft Scriptable Install System)** | 免费、基于脚本,高度可定制,Winamp同款。 | 需要精细控制安装流程的进阶用户。 |
| **Advanced Installer** | 有免费版,图形化界面友好,商业版功能多。 | 偏好图形操作,不想写脚本的开发者。 |
| **ClickOnce / MSIX** | 微软官方技术,适合.NET应用,但限制较多。 | 主要面向Windows商店或企业环境。 |

鉴于**Inno Setup**免费、轻量、教程丰富,下面以此为例,手把手教你制作安装包。当然,因为软件本身的比上面的HTML Compile使用更加复杂,所以我尽能用文字解释清楚,并且我是用的版本比较老,可能未尽事宜,劳烦各位自行去网上查找。

### 4.3 下载与安装 Inno Setup

1. 打开浏览器,搜索“Inno Setup”或直接访问官网:[https://jrsoftware.org/isdl.php](https://jrsoftware.org/isdl.php)
2. 下载最新版的 `isetup-xxx.exe`(xxx为版本号)。
3. 双击运行,一路“Next”完成安装(建议勾选“创建桌面快捷方式”)。

### 4.4 快速创建安装脚本(向导模式)

Inno Setup 提供图形化的“脚本向导”,适合初学者,无需记忆脚本语法。

1. **启动向导**
打开桌面上的 `Inno Setup Compiler`,点击菜单栏 `File` → `New` → `Script Wizard`(或按快捷键 `Ctrl+N` 后选择向导)。

2. **填写应用基本信息**
– **Application name**:输入你的软件名称(如“运势抽签”)。
– **Application version**:版本号(如 `1.0.0`)。
– **Application publisher**:发布者名称(可填你的名字或网名)。
– **Application website**:可选,留空或填你的主页。

3. **选择应用文件夹**
– **Application destination base folder**:保持默认 `Program Files` 文件夹。
– **Application folder name**:自动根据名称生成,一般无需修改。

4. **指定主可执行文件**
– 点击 `Browse…`,找到你之前用 HTML Compile 生成的 `.exe` 文件(如 `Lottery.exe`)。
– 向导会自动添加该文件,如果有其他配套文件(如DLL、资源文件夹),可在此处一并添加。

5. **设置快捷方式**
– 勾选“Create a shortcut in the Start Menu”和“Create a desktop shortcut”。
– 你也可以自定义快捷方式名称,默认与程序名相同。

6. **选择安装模式**
– 一般选择“**用户模式**”(User)或“**管理员模式**”(Admin)。
– 若希望所有用户都能使用,建议选“管理员模式”,安装时需管理员权限。

7. **许可协议(可选)**
– 如果你有自己的 `License.txt` 或 `Readme.txt`,可以在此添加,安装时会显示给用户。
– 没有则直接跳过。

8. **选择语言**
– 默认有英文,如果你想生成中文安装界面,可以勾选“Chinese (Simplified)”等。
– 点击“Next”继续。

9. **设置输出路径和文件名**
– **Output folder**:选择生成的安装包存放位置(如桌面)。
– **Output base file name**:安装包文件名(如 `LotterySetup`)。
– **Setup password**:留空,不需要密码。

10. **完成向导**
点击“Next”直到“Finish”,向导会生成一个 `.iss` 脚本文件,并自动在编译器界面中打开。

### 4.5 微调脚本(可选)

如果你懂一些基础脚本,可以直接在编译器里修改 `.iss` 文件,例如:

“`pascal
[Setup]
AppName=我的抽签软件
AppVersion=1.0.0
DefaultDirName={pf}\MyLottery
DefaultGroupName=我的抽签
UninstallDisplayIcon={app}\Lottery.exe

[Files]
Source: “C:\path\to\Lottery.exe”; DestDir: “{app}”

[Icons]
Name: “{commondesktop}\运势抽签”; Filename: “{app}\Lottery.exe”
Name: “{group}\运势抽签”; Filename: “{app}\Lottery.exe”
“`

> 不需要深究语法,向导生成的脚本通常已经够用,你可以直接编译。

### 4.6 编译生成安装包

1. 在 Inno Setup 编译器中,点击工具栏上的绿色三角形“**Run**”按钮(或按 `F9`)。
2. 编译过程会弹出提示,若一切正常,底部输出窗口会显示“Done”和生成的 `.exe` 路径。
3. 前往你设置的输出文件夹,就能看到 `LotterySetup.exe` 安装文件了。

### 4.7 测试安装包

双击生成的安装包,按照向导逐步安装,检查:
– 桌面是否出现快捷方式。
– 开始菜单是否出现程序组。
– 程序是否能正常启动。
– 控制面板 → 程序和功能 中能否看到卸载项,并能成功卸载。

### 4.8 注意事项

– **杀毒软件误报**:部分工具(如 HTML Compile)生成的 exe 可能被某些杀软标记为“可疑”,这是正常现象。你可以选择添加数字签名,或简单告知用户临时关闭防护。
– **文件路径**:确保 `.iss` 脚本中引用的源文件路径正确,建议将程序文件和脚本放在同一目录,使用相对路径避免出错。
– **多语言支持**:若希望安装界面显示中文,可以在向导中勾选“Chinese”语言文件,或从官网下载中文语言包并添加到 `[Languages]` 段。
– **更新与升级**:后续如果要发布新版本,只需修改版本号,重新编译即可,Inno Setup 会自动覆盖旧文件(除非你指定了其他处理方式)。

### 4.9 其它打包工具简介

– **NSIS**:学习曲线稍陡,但脚本能力极强,适合需要复杂的安装逻辑(如检测环境、下载补丁)的场景。
– **Advanced Installer**:提供免费版,图形化拖拽,操作直观,适合不想接触代码的用户,但免费版会有功能限制。
– **便携版**:如果你的程序不依赖注册表,也可以直接提供单个 exe 或压缩包,用户解压即用,省去安装步骤。


**至此,你的软件已经完成了从代码到可安装产品的全部流程!**

恭喜你,你已经完成了从开发到落地的全过程!


## 5. 提示与教程未能覆盖之处

本教程从AI生成HTML代码到打包成exe,再到制作安装包,为你提供了一条极速上手的捷径。但作为一篇入门级指南,它必然存在一些“无法达到”的深度和场景。下面列出你可能遇到但教程未提及的问题、陷阱及更专业的进阶方向,供你参考。

### 5.1 关于“HTML Compile”的注意事项

– **内核依赖**:HTML Compile 使用的是老旧的 IE 内核(Trident),并非现代浏览器引擎。这意味着:
– 部分 ES6+ 或 CSS3 特性可能不被支持(例如 `flex` / `grid` 在旧版IE中兼容性差)。
– 如果你的网页使用了 `fetch`、`Promise`、`async/await` 等,可能无法运行。
– 建议在代码中添加 `<!DOCTYPE html>` 并避免使用过于前沿的API,或使用 Babel / polyfill 进行降级。
– **杀软误报**:由于这种打包方式被一些病毒制造者滥用,许多杀毒软件会直接报毒。你可以:
– 将生成的exe提交给杀软厂商进行白名单申请(流程繁琐)。
– 在发布时注明“由于打包工具特性,可能被误报,请添加信任”。
– 考虑换用 Electron 或 WebView2 方案(见后文),误报率相对较低。
– **窗口定制有限**:HTML Compile 提供的菜单栏、工具栏等定制能力较弱,如果需要自定义窗口样式(无边框、透明等),它无法满足。

### 5.2 AI生成代码的潜在问题

– **代码质量参差不齐**:AI生成的代码可能包含:
– 未使用的外部资源(如CDN链接,若网络不通则页面白屏)。
– 安全漏洞(如 XSS,如果用户输入未过滤)。
– 性能问题(如循环效率低下、内存泄漏)。
– 不完善的错误处理(网络请求失败、本地存储满等)。
– **调试难度**:在HTML Compile中调试非常困难(无法使用浏览器开发者工具),建议先在浏览器中完全测试通过后再打包。
– **更新机制缺失**:AI生成的只是单页面,没有自动更新功能。若要实现“在线更新”,你需要另外编写更新检测逻辑(如请求远程版本文件,下载新exe替换等)。

### 5.3 数据持久化与本地存储

– 如果你的应用需要保存用户数据(如历史记录、设置),在浏览器环境下可以使用 `localStorage` 或 `IndexedDB`。但在 HTML Compile 中,这些数据存储在IE的缓存目录中,可能会被清理或丢失。
– 更可靠的方式是:
– 使用 `FileSystemObject`(ActiveX)直接读写本地文件,但需要启用IE的ActiveX权限,且安全性差。
– 或者换用 Electron,它提供 `node.js` 的 `fs` 模块,可以安全地操作文件系统。

### 5.4 打包与分发中的法律与合规问题

– **字体版权**:你的HTML中可能引用了特殊字体(如Google Fonts),在制作安装包时需注意字体许可,部分字体禁止商用。
– **图标素材**:在线生成的图标可能包含模板或免费素材,请确认其使用授权,避免侵权。
– **AI生成内容的版权**:目前各国对AI生成内容的版权归属尚无统一规定,建议在软件中标注“部分内容由AI辅助生成”并保留最终审核责任。

### 5.5 安装包制作的更多细节

– **注册表写入**:如果你希望软件记住用户设置(如窗口位置),可以通过Inno Setup的 `[Registry]` 段写入注册表,但本教程未涉及。
– **关联文件类型**:若你的软件希望双击 `.lottery` 文件自动打开,则需要编写注册表关联,这涉及较复杂的脚本,未在向导中提供。
– **多语言安装界面**:Inno Setup 默认只带英文,若你希望界面完全中文,需要额外下载中文语言文件(`.isl`)并在脚本中引用。
– **静默安装参数**:高级用户可能希望 `Setup.exe /VERYSILENT` 进行无人值守安装,本教程未提及,但可以通过命令行实现。

### 5.6 超越 HTML Compile:更专业的桌面应用方案

本教程选择 HTML Compile 是为了降低门槛,但如果你希望开发真正的、可维护的桌面应用,建议学习以下技术:

– **Electron**:使用 Chromium + Node.js,功能强大,支持所有现代Web API和系统调用。打包后的应用体积较大(约50-100MB),但体验接近原生。适合中大型项目。
– **NW.js**:类似于Electron,但更轻量,在某些场景下更简单。
– **Tauri**:使用系统WebView(如WebView2),体积极小,安全性高,但需要使用Rust编写后端。
– **PWA(渐进式Web应用)**:如果你的应用不需要系统API,可以发布为PWA,用户通过浏览器访问并可“安装”到桌面,无需打包exe,跨平台。
– **WinForm / WPF + WebView2**:对于C#开发者,可以直接用.NET框架嵌入WebView2,性能好,且能调用丰富原生功能。

教程的方法适合**工具类、展示类、内部使用**的轻量应用;若计划做商业产品,强烈建议迁移至Electron或Tauri。

### 5.7 测试与交付建议

– **多环境测试**:在不同Windows版本(Win7/10/11)上测试你的exe,因为HTML Compile依赖系统IE版本,Win7下的IE8可能完全不支持现代语法。
– **模拟安装路径**:在安装脚本中,不要硬编码绝对路径,使用 `{app}`、`{pf}` 等变量,确保安装在任意目录都能正常工作。
– **提供便携版**:你可以额外提供无需安装的zip压缩包,内含exe和资源文件,方便用户直接解压运行。

### 5.8 后续维护与迭代

– 当你更新代码后,需要重新生成exe和安装包,并手动通知用户下载新版本。可以自己搭建一个简单的版本检测服务(如Gitee release),在程序中定期请求版本号,发现新版本则弹出提示。
– 学习使用版本控制(Git),记录每次修改,便于回溯。

**最后,再次祝贺你迈出了第一步!** 本教程是一条快速通道,只能帮你完成一些小型的软件,当然如果对于文章没有解释清楚或者你还有问题的地方,欢迎在下文留言。


本文部分内容采用AI润色,尤其是后面,原文跟一坨一样

      • wcqk的头像-ZDZLwcqk徽章-ZDZL创始伙伴-ZDZL等级-LV4-ZDZL超级版主0