ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Advanced Installer 15.2汉化版实战:MSI打包流程与避坑指南

Advanced Installer 15.2汉化版实战:MSI打包流程与避坑指南 简介高级安装程序15.2汉化版是一款面向软件开发者和系统管理员的安装包制作与部署工具它基于微软标准安装格式能够生成稳定且兼容性强的安装程序。压缩包为zip格式大小约132兆字节内含便携版软件与更新日志文本文件便携版免安装即可运行方便在不同的电脑上直接使用。该版本拥有全中文界面大幅降低学习门槛同时支持多国语言、自动化脚本、升级修补等功能并可与常用开发环境良好集成借助这些能力用户可以自定义安装向导界面、编写安装逻辑快速产出专业软件包提升交付效率。更新日志详细列出了从旧版到新版的功能改进和问题修复便于用户了解版本变化目前已有三百零五人学习下载适合需要高效制作和维护软件安装包的开发者及系统管理员。1. 为什么还在用 Advanced Installer 15.2 汉化版先别急着换新版做 Windows 桌面软件分发的工程师几乎都绕不开一个问题程序编译完了怎么把它变成一个能让客户双击安装、带开始菜单快捷方式、能写注册表、能静默装到指定目录的 MSI 或 EXE。Advanced Installer 15.2 汉化版在中小软件团队和独立开发者里依然有相当高的存量不是因为它功能最全而是因为 15.2 这个版本的工程格式稳定、构建速度快加上汉化界面把“产品信息”“升级码”“自定义操作”这些概念第一次用中文摆到了普通开发者面前。这个标题能帮你解决三类问题一是把 Windows 安装包的完整制作流程跑通从新建工程到产出安装文件二是搞清楚汉化版和原版在界面、语言资源、工程文件层面的差异避免用到一半发现功能按钮缺失或构建结果异常三是掌握 15.2 版本里必须关注的参数边界——升级码、产品代码、启动条件、自定义操作这些地方一旦填错客户那边就是“装上之后旧版卸载不掉”或者“静默安装参数完全失效”。这篇笔记适合刚接触安装包制作的开发者也适合手里维护着老版本工程、想换到汉化版减少沟通成本的运维和打包专员。我会按真实做包的顺序讲先验证汉化版是否可靠再做第一个 MSI再控制安装行为最后把常见翻车点逐条拆开。2. 汉化版底层是什么先分清语言资源、整合版与补丁版很多人在网上下载“Advanced Installer 15.2 汉化版”之后第一反应是双击 exe 开始装装完看到中文界面就以为完事。这个习惯在 15.2 上特别危险因为汉化版在文件组成上至少有三条技术路线而它们的后续维护方式完全不同。2.1 汉化到底改了什么语言文件、界面资源与注册表项Advanced Installer 从很早的版本开始就内置了多语言界面支持只是官方的中文语言包未必完整。汉化版做的工作本质上是把程序安装目录下的语言资源文件替换或补充成简体中文版本。这里有一个关键概念界面语言和安装包语言是两套独立的东西。界面语言决定的是你这个打包工具的操作界面显示成中文还是英文它保存在 Advanced Installer 程序自己的配置文件或语言资源里。安装包语言决定的则是你最终构建出的 MSI 在客户机器上安装时安装向导、卸载程序、快捷方式名称显示成哪种语言这套语言信息是写进安装包数据库的和工具本身界面无关。所以当你拿到一个汉化版时要做的第一件事不是急着建工程而是先确认它属于哪种形态第一种是完整汉化安装版。这种版本用正常安装流程装完再把汉化文件覆盖到安装目录比如把简体中文的语言资源文件复制到 Language 目录。它的特点是稳定改动小卸载时会因为文件被覆盖而出现残留但工程构建一般没问题。第二种是绿色整合版。已经帮你解压好了直接运行主程序就能用注册表项在首次启动时自动写入。它的优点是省去安装步骤缺点是缺少系统级的服务注册和依赖环境比如某些字体、VC 运行库后续编译大型工程时容易在某个环节莫名报错。第三种是仅替换主程序资源的补丁版。它只修改 exe 或 dll 里的字符串表不新增语言文件。这种汉化版界面中文化程度高但内部对话框、错误提示、构建日志可能仍然是英文而且在软件自动更新时会因为文件校验不过而触发保护机制。判断一个汉化版属于哪种形态最简单的方法不是看压缩包说明而是打开安装目录看有没有独立的语言文件。常见做法是你在安装目录下找到 Bin 文件夹或者程序根目录看是否存在和语言相关的 xml 或 ini 文件以及主程序目录下是否有一个名为简体中文的文件夹。如果有说明做的是语言包整合这类汉化最干净如果只有主程序和一个所谓的补丁 exe那多半是改资源的方案后续出问题概率高。2.2 拿到汉化版后的 30 分钟体检语言切换、工程格式与小规模试编译我不建议你拿到手就直接开始打包正式项目先用 30 分钟做一轮体检确认这个汉化版是不是能放心用。体检分三步检查语言切换是否可用、确认工程文件能正常读写、跑一次最小规模的构建。第一步是语言切换。打开 Advanced Installer 15.2 汉化版进入 Tools 菜单下的 Options在 General 选项卡里找到语言选择项。汉化版通常在这里已经默认选了简体中文但你需要手动切到英文再切回中文确认界面能正常刷新没有乱码或界面变形。这个操作能验证语言资源文件是否完整如果切换后出现部分菜单变成英文说明汉化文件不完整后续你会在某些深层对话框里不断看到英文影响不大但很烦。第二步是工程读写验证。新建一个空白工程另存为 .aip 文件然后用记事本打开这个 .aip 文件检查第一行 XML 声明是否正常。.aip 本质上是 XML 格式的工程文件汉化版如果改动了工具本身的编码设置生成的 .aip 可能出现编码异常这会导致你以后用原版打开工程时出现中文乱码。我一般会在体检时故意在产品名称里填几个中文汉字保存关闭再打开看产品名称是否变成问号。如果变成问号说明这个汉化版的工程文件写入编码有问题后面做自动化构建时一定会踩坑。第三步是试编译。在工程里加一个任意文件直接构建一个最小的 MSI不修改任何默认参数。重点不是看 MSI 能不能生成而是看构建日志有没有出现乱码、中文路径能否正常解析。Advanced Installer 15.2 的构建日志如果出现中文乱码说明系统区域设置和工具内部的代码页不一致常见于部分精简版的 Windows。体检结束后记录三个数据语言切换是否顺畅、.aip 中文编码是否正常、构建日志是否干净。这三项都通过汉化版可以进入正式使用任何一项有问题我都会建议你换成原版配中文术语对照表而不是在汉化版上花时间排错因为汉化层的问题常常让正常打包流程变得不可控。3. 用 15.2 做第一个 MSI 安装包产品信息、文件清单与编译产出体检通过之后接下来就是把一个真实的程序打包成 MSI。这一章是整套流程的核心动作我会按 Advanced Installer 15.2 汉化版的实际界面顺序从左边的工程树开始把每一步要填的参数和为什么这么填讲清楚。3.1 产品信息四件套名称、版本、厂商与升级码哪个都不能乱填新建工程后在左侧树中展开 Product Details 页面这里看到的是一张产品信息表四个字段决定安装包的“身份”它们分别是 Product Name、Product Version、Manufacturer 和 Product Code / Upgrade Code。Product Name 是客户在控制面板里看到的程序名称也是默认开始菜单快捷方式的名字。它可以直接填中文但要注意长度超过 40 个字符时部分 Windows 版本的卸载列表显示会截断。Product Version 的格式是主版本号.次版本号.修订号比如 2.1.0这里不建议填 4 段或带字母的版本号因为 Windows Installer 对版本号的校验规则是四段以内的数字组合带了字母虽然能构建成功但在后续做版本升级检测时会出现大小比较异常。Manufacturer 字段决定的是默认安装目录路径的一部分默认安装路径是 [ProgramFilesFolder]ManufacturerProductName。这里有个反直觉的点很多人以为厂商名只是显示用实际它还影响升级信息的定位。后面做升级包时系统通过 UpgradeCode 和 Manufacturer 一起识别旧版本厂商名改了对不上的旧装就识别不了。Product Code 是安装包的唯一 GUID每个版本都要生成新的。Upgrade Code 是升级家族标识同一系列版本的 Upgrade Code 必须保持一致。15.2 汉化版里这两个字段旁边都有一个生成按钮但升级码不能随便点。我见过太多次因为汉化版构建时自动重置 Upgrade Code导致客户从 1.0 升级到 2.0 时旧版本变成两个独立安装程序残留。关于这个坑第 5 章会专门展开。这一段参数表是整个安装包的地基建议直接按表填写字段推荐值影响范围Product Name程序显示名建议不超过 40 字符控制面板显示、快捷方式默认名Product Version三段数字如 1.0.0升级检测、文件版本覆盖Manufacturer公司/作者名路径与会话中保持一致默认安装路径、升级信息匹配Upgrade Code固定 GUID所有版本共用旧版本识别与卸载3.2 文件与快捷方式路径引用、权限属性与安装目录变量产品信息定好之后左侧树切到 Files and Folders 页面这里是整个打包过程的骨架。左侧是目标机器的目录结构右侧是把本地文件拖进来形成的映射关系。你需要理解一个核心概念安装目录变量。Advanced Installer 15.2 中默认的目标目录是可配置的你可以在左侧树顶部看到当前安装目录默认值是 [ProgramFilesFolder]厂商名产品名。[ProgramFilesFolder] 是一个 Windows Installer 属性它在客户机器上会自动解析为 C:\Program Files 或 C:\Program Files (x86)取决于当时构建时选择的位数。实际拖文件时不要硬编码绝对路径比如不要直接把一个文件夹路径改成 D:\MyApp这样在客户机器上安装时要么失败要么装错位置。正确的做法是右键点击安装目录选择 Add Files把要安装的文件添加进来然后通过属性面板调整目标文件名和目录。如果某个文件需要固定安装到系统目录比如 C:\Windows\System32应该把目录变量改为 [SystemFolder]而不是直接写 C 盘路径。对单个文件几个属性要特别留意。Component 属性决定这个文件是哪个组件的一部分组件是 Windows Installer 的最小安装单位默认会自动生成不要让两个文件共享同一个组件否则卸载时一个文件残留会影响另一个。Permanent 属性如果勾上表示这个文件卸载时不删除适合放配置文件或日志文件但用多了会让卸载不干净只对真正需要的文件开。快捷方式的设置在左侧树里通常和文件放在一起也可以单独切到 Shortcuts 页面。新建快捷方式时需要同时指定目标文件、所在目录桌面、开始菜单程序文件夹等和工作目录。这里有一个常见失误快捷方式的目标文件必须指向组件而不是文件路径否则汉化版在后期构建时可能报错找不到目标。启动目录工作目录要填成目标程序所在的安装目录变量很多程序从快捷方式启动后找不到配置文件就是因为这一步没设。安装权限也是一个容易被忽略的配置。默认安装是先按用户级安装但如果你要写入注册表 HKLM 或系统服务必须把 Install All Users 的权限选项打开。在 15.2 里进入 Product Details 或 Repository 页面可以看到安装位置相关的选项包括按用户安装、按机器安装。做企业软件分发时我一般直接选按机器安装避免客户用普通用户权限运行时出现写权限不足。3.3 编译与产出MSI 与 EXE 自解压包的三种输出选择文件添加完成、快捷方式配置完毕之后左侧树的 Builds 区域就是控制产出格式的地方。默认会有一个名为 MSI 的构建配置当你点工具栏上的 Build 按钮或按快捷键时它直接生成一个 .msi 文件。MSI 是 Windows Installer 的标准格式适合域控分发、组策略下发和静默安装。它的特点是静默安装命令很简单客户机器只要有 Windows Installer 服务就能装不需要额外依赖。如果你需要的是一个让客户双击就能装、还能带一个引导欢迎界面的安装程序那就要在 Builds 区域右键新建一个 EXE setup 构建配置。EXE setup 本质上是一个自解压引导程序它把 MSI 作为负载打进去在客户机器上先解压再调用 MSI 安装。这个方案的好处是可以自定义引导界面的图片和文案也能在启动时检查 .NET 和 VC 运行库缺什么先装什么。代价是产物体积多个几 MB而且静默安装命令变成 setup.exe /s不能直接复用 msiexec 的参数。第三种常见输出是 Web 部署用的 EXE 包其实和第二种在构建引擎上没有本质区别只是导出目录和命名规则换了。实际企业场景里如果你要给客户提供支持离线安装的完整包我建议直接构建 EXE setup把 MSI 和 EXE 两种配置同时保留平时用 EXE 给客户自动化测试用 MSI 跑静默。构建按钮点下去之后15.2 会在底部输出构建日志。你需要盯三个关键行编译开始时的源文件数量、打包过程中是否有文件被跳过、构建成功时的产物路径和大小。日志里如果出现“warning”字样不要直接忽略先看是不是文件路径含中文导致的兼容性警告这是汉化版工程里最常见的日志噪音。4. 把安装行为控制住启动条件、注册表写入与自定义操作一个只把文件复制到目标目录的安装包在真实业务里几乎不可用。客户机器上可能缺少运行库、操作系统版本不合适、端口被占用这些都要在安装阶段拦截。Advanced Installer 15.2 真正的深度在 Installation Behavior 和 Custom Actions 两个区域也就是安装行为控制。4.1 启动条件与安装类型管理员权限、版本检查与依赖环境左侧树里找到 Launch Conditions这里是安装包在复制任何文件之前要做的“体检”。只要有一个条件不满足安装会直接中止并弹出你指定的提示语。最常见的条件是管理员权限。很多安装包在涉及写入 Program Files 或 HKLM 时客户双击安装却一直转圈后失败原因就是没有设置以管理员权限运行。在 15.2 中Launch Conditions 下右键新建条件可以选择 User Privilege要求用户必须具有管理员权限。这里要区分“安装程序本身请求管理员权限”和“安装包检测到权限不足后弹提示”前者是构建属性的设定后者是条件判断。汉化版界面里这两处都翻译成了类似“管理员”的文案但含义完全不同我建议你把条件判断这一处做完整而不是依赖操作系统弹 UAC 来兜底。操作系统版本检查是第二个高频需求。比如你的程序只支持 Windows 10 及以上或者需要 Windows Server 2012 R2 以上才能安装服务。版本条件不要自己写注册表读取逻辑直接用 15.2 预定义的系统版本条件选好对系统的要求构建时这些条件会被编译成安装包数据库里的 LaunchCondition 表。依赖环境检测则分两类一类是 .NET Framework 版本另一类是 VC 运行库。15.2 的 Prerequisites 区域自带集成方案可以检测目标机器上是否安装了指定版本的 .NET Framework如果没有可以自动安装或提示。这里要特别注意汉化版对中文系统名的识别偶尔会失败如果你的客户机器是英文系统10 和 11 的检测结果在 15.2 里可能都落在 10 的版本区间原因是版本代号在操作系统内部是 Build 号而不是市场名检测逻辑按 Build 号走是可靠的按市场名走会错。4.2 注册表与服务安装包在系统里留下的痕迹由谁决定安装程序写注册表是一个必须显式配置的行为文件复制不会自动写入注册表。左侧树的 Registry 页面可以让你可视化地添加注册表键值。这里有一个汉化版常见的概念混淆Registry 页面里写的是安装时的初始值不是每次启动都同步的配置。写注册表时要分清 HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER。机器学习安装时写入 HKLM 的键会对所有用户生效写入 HKCU 的键只对当前安装用户生效。用 15.2 做按机器安装时如果注册表写在 HKCU会出现一个典型现象管理员安装完成后普通用户运行程序找不到配置因为普通用户的 HKCU 里根本没有这些键。常见做法是把程序的核心配置写入 HKLM 下的 Software厂商名产品名同时把用户可自定义的部分在程序首次运行时写进 HKCU。这个分离方案能减少卸载残留也为后续多用户环境留了余地。在汉化版里右键注册表根节点可以直接新建键导入 .reg 文件也可以但导入后要检查向导自动转换出的类型是不是 REG_SZ很多 .reg 里与程序路径相关的键包含环境变量导入后如果有变量解析异常安装在客户机上读到的是字面量而不是实际路径。Services 页面是另一个容易被忽略的东西。如果你的产品包含 Windows 服务安装时需要把服务文件放进程序目录然后在左侧树中找到 Services 页面新建服务并指定服务可执行文件和启动类型。服务的名称建议固定写英文字符不要用中文否则在服务管理器里可能出现显示正常但 sc query 命令查不到的问题。启动类型按需选择自动或手动依赖服务关系也可以在这里配置但 15.2 对服务依赖的构建检查并不严格漏配时不会报错只在客户机器上启动服务时才暴露。4.3 自定义操作Custom Actions一段 PowerShell 的典型落地自定义操作是 Advanced Installer 里最容易让新手翻车的模块但也是解决真实业务问题的最强工具。比如安装结束后要修改某个配置文件、创建数据库、或者复制一份默认配置到用户目录这些都可以用自定义操作完成。左侧树的 Custom Actions 页面中你可以新建一个 PowerShell 脚本、VBScript 脚本、批处理或可执行文件自定义操作。执行时机有两种Install 阶段和 Uninstall 阶段。Install 阶段又细分安装开始前、安装中、安装完成后。对于写配置文件这类操作我一般放在 Install 执行序列的最后一步即安装完成之后这样能保证文件已经全部复制到目标目录脚本里可以直接引用安装目录变量。下面是一段我在 15.2 里常用的 PowerShell 自定义操作脚本用于安装完成后追加一个配置节到程序目录下的 app.conf$configPath Join-Path $INSTALLDIR app.conf $content [Database] Serverlocalhost Port1433 Add-Content -Path $configPath -Value $content -Encoding UTF8 Write-Output config updated这段脚本里的 $INSTALLDIR 是 Advanced Installer 传入的安装目录变量在自定义操作执行时会被替换成实际安装路径。注意不能在脚本里直接写死 C:\Program Files 路径不同客户机器安装目录可能不同。Add-Content 以追加方式写入避免覆盖原本存在的注释或已有配置。我建议给每个自定义操作勾选“失败时回滚安装”或者至少“失败时记录警告”避免脚本出错导致安装进程整体失败。实际项目里如果自定义操作是写日志这类非关键动作就把执行结果的退出码处理成不影响主安装流程这样即使脚本出错也不会让客户看到一个红色的安装失败界面。自定义操作的调试是一个黑匣子问题脚本在开发机上跑通不代表在客户机上能跑通。15.2 会把自定义操作的输出记录到 Windows Installer 的日志里你可以先在本机用 verbose 日志安装一遍看脚本执行行是否正确。更稳妥的办法是让脚本把关键变量写到一个临时文件里例如写入 $env:TEMP\myapp_install.log这样在没有完整安装日志的情况下也能定位问题。5. 汉化版避坑台账5 个我踩过的具体问题与排查顺序汉化版用起来顺手但坑也集中在几个固定位置。这一章是我在实际使用 15.2 汉化版过程中反复遇到的问题总结每条按现象、原因、解决的顺序写可以直接对照处理。5.1 安装后界面一半英文语言资源不完整与版本错配现象装的确实是汉化版打开后主菜单是中文但进入 Tools Options 或者部分向导对话框时内容又变回英文。原因汉化包的语言资源文件覆盖不完整或者汉化文件来自 14.x 版本和 15.2 的界面资源编号对不上。新版主程序和旧版语言包组合时不存在的资源编号会回退到默认英文。解决不要找 14.x 的语言文件来覆盖。正确做法是先卸载彻底清理安装目录和注册表中的残留再用完整的 15.2 整合版安装。覆盖前备份原语言文件一旦发现不匹配可以立刻恢复。如果你需要一个检查标准打开任意一个汉化不完全的对话框看英文文本是否带有明显的资源占位符有则说明语言包索引错位。5.2 构建出的 MSI 安装到客户机后界面仍是英文或乱码现象工具界面是中文构建出的 MSI 在客户机安装时向导却显示英文甚至出现方块形乱码。原因安装包界面语言和工具界面语言是两套独立配置。汉化只改了工具界面没有改 MSI 的语言设置。乱码则是工程文件的编码和中文字符集不一致导致。解决在左侧树中找到 Media 或 Setup Languages 相关设置把安装包的语言设为简体中文并确保对应语言的文件已加入。这个设置通常不在工具的语言选项里需要单独在工程属性中指定。乱码问题则回到第 2 章体检步骤确认 .aip 文件编码正常后重新构建。如果客户机上安装向导显示乱码但安装完成后程序正常一般是 MSI 内嵌的 UI 文本文件编码问题重建 UI 文本即可。5.3 升级包卸载不掉旧版本UpgradeCode 被汉化工程重置现象客户机器上装着 1.0双击 2.0 安装包安装完成后控制面板里出现两个同名程序卸载 2.0 后 1.0 还在旧版本数据残留。原因汉化版的工程模板新建工程时随机生成了一个新的 UpgradeCode没有沿用户旧工程的家族标识。两个安装包的 UpgradeCode 不同Windows Installer 就不认为它们是同一个产品的升级版本。解决每次新建工程后立刻打开 Product Details把 UpgradeCode 固定为原工程的值。如果你是在同一台机器上维护系列版本先打开旧版本 .aip 查看 UpgradeCode再在新工程中手动填入。这个字段建议固定并写入公司的技术文档每个打包工程师用同一个值。如果升级包已经发布且 UpgradeCode 已错只能通过修改旧版安装包的属性或使用清理工具卸载没有后悔药。5.4 汉化版打开就报错或功能按钮变灰许可证与运行库冲突现象汉化版首次运行弹出错误窗口或界面加载完成后构建按钮是灰的点不了菜单里 Build 相关选项缺失。原因部分汉化补丁在替换主程序资源时会让软件本身的许可证校验逻辑误判为试用版或损坏状态功能被锁。绿色整合版则可能缺少 VC 运行库界面能开但关键菜单初始化失败。解决先检查是否缺少运行库安装完整的 VC x86 和 x64 运行库。如果运行库齐全仍然按钮置灰说明汉化修改了程序内部状态卸载后换用另一个整合版本。不要尝试用注册表改动来恢复反复试只会让状态更乱。我一般会准备两个汉化版本一个不行就换另一个不再手动修。5.5 编译中断与工程文件打不开绿色汉化版的隐藏依赖现象编译到一半报错退出或重新打开 .aip 工程文件时提示文件损坏实际文件在别处能正常打开。原因绿色汉化版缺少完整的 COM 组件注册编译过程依赖的一些中间组件没有正确注册。另外 .aip 文件被汉化版写入时若工具崩溃导致文件句柄未释放XML 结构会出现截断。解决绿色版首次使用前用管理员身份运行一次让程序完成自注册。崩溃后打不开 .aip 时不要直接用记事本编辑先复制一份 .aip 备份用文件对比工具检查 XML 尾部是否有未闭合标签。如果难以手动修复可以用原版 Advanced Installer 打开这个工程原版对 XML 的容错更高打开后另存为新工程即可。这提醒我好看正式项目的 .aip 文件要纳入版本管理每次构建前导出一份当日快照工程损坏时至少有一个可恢复的基线。6. 让 15.2 汉化版长期稳定服役命令行编译与工程备份的收尾技巧汉化版用得久了你迟早会碰到两个需求把构建过程交给自动化脚本以及在机器出问题时快速恢复打包环境。命令行编译是 15.2 比较稳定的一个能力。安装目录下的 bin 文件夹里放着命令行工具你可以直接用命令行构建工程不打开图形界面。基础用法是这样安装目录\bin\AdvancedInstaller.com /build C:\Projects\MyApp.aip -out C:\Output\MyApp.msi这个命令需要写清楚安装目录实际路径不同汉化版本路径可能不同。/build 参数后面跟工程文件路径-out 指定产物输出路径。执行完成后命令行工具会返回退出码0 表示构建成功非 0 表示失败。你可以在构建脚本里通过检查退出码来判断是否要继续后续发布步骤。注意命令行工具是静默执行的构建日志不会自动弹出窗口你需要先手动构建一次把日志保存到指定文件再在脚本中读取。我建议维护一个构建脚本的模板把产品版本号、输出目录、是否需要生成 EXE 引导包作为参数传进去。这样每次发版时不用打开图形界面逐项检查设置脚本跑完直接拿到 MSI 和 EXE版本一致性也更好控制。工程文件的备份则是我吃过亏之后形成的习惯。现在我会在每台做打包的机器上保留两份 .aip一份是当前工作版本一份是每日构建前的快照命名带日期。这样无论汉化版崩溃还是误操作覆盖都能快速回到上一个可用状态。有一次客户反馈升级后快捷方式指向了旧目录我花了半天排查最后发现是前一天汉化版崩溃后打开备份文件时工程被静默改掉了安装目录属性。从那以后我再也不在一个 .aip 上连续改多天每次大改都另存为带版本号的新工程文件。这个习惯帮我省下的排查时间远远超过多花的那几秒。希望这些踩坑记录和参数习惯能帮你在 Advanced Installer 15.2 汉化版上少走一段弯路。本文还有配套的精品资源点击获取
返回列表