使用vs2015自带的oneclick发布功能,构建含系统运行依赖项的安装包。
1、 编译项目
2、 完成代码开发与调试工作,确保项目可成功编译并稳定运行。
3、 查看解决方案平台架构
4、 进入项目属性 → 应用程序选项卡进行配置
5、 核对目标框架版本,如需调整请修改后重新编译,以保障兼容性与执行稳定性。

6、 生成操作
7、 构建时请将配置设为“Release”(发布模式)

8、 创建数字签名证书(已有证书可跳过此步)
9、 使用Office中内置的VBA数字证书创建工具生成新的.pfx证书文件。
10、 如不熟悉操作,可参考权威渠道提供的数字证书制作指南。

11、 对部署清单签名
12、 勾选“为ClickOnce清单签名”,并在证书存储区中选择已创建的签名证书。

13、 启动发布流程
14、 发布完成后,输出文件将自动保存至设定的目标路径。
15、 执行发布命令后,系统会列出待打包的所有应用程序文件。
16、 配置系统级依赖组件,勾选需要随应用一同分发的基础运行库。
17、 在发布设置中填写语言类型、发布者名称等元信息。
18、 每次发布均对应一次版本号递增,用于标识新发布的安装包。

19、 安装必要的底层运行环境,例如 .NET Framework 4.5.2,确保目标机器具备基础执行能力。
20、 添加关键系统组件支持
21、 启用“创建安装程序”功能,以便部署运行所必需的系统级依赖。
22、 勾选 x86 和 x64 双平台的 Microsoft .NET Framework 4.5.2 安装包,提升跨架构适配能力。
23、 设置为从应用程序所在目录同步下载所需系统组件。

24、 准备好系统依赖安装包(如 .NET Framework 4.5.2),确保其与目标系统匹配且可正常安装。
25、 开始发布
26、 若提示缺失依赖项,请查阅错误列表确认具体缺少哪些引导包。
27、 下载对应离线安装程序(Offline Installer)
28、 微软官方开发者资源中心提供全面的技术工具下载服务。该平台集中了面向开发者的各类正版软件、SDK及配套文档,支持关键词检索与分类筛选。所有资源均由微软官方维护更新,版本可靠、安全性高。建议优先通过官网获取安装文件,避免第三方渠道风险。

29、 获取完整的系统组件安装包(如 .NET Framework 4.5.2),保障运行环境完整性。
30、 完成离线安装包下载
31、 将英文版(ENU)安装包复制到 Visual Studio 安装路径下的 %VS安装目录%\SDK\Bootstrapper\Packages\DotNetFX452 目录中,注意路径拼写准确无误。
32、 将中文语言包(如 zh-Hans 或 CNS)复制至对应语言子目录,例如 %VS安装目录%\SDK\Bootstrapper\Packages\DotNetFX452\zh-Hans。
33、 默认Visual Studio 2015安装路径为 C:\Program Files (x86)\Microsoft Visual Studio 14.0,该路径下包含IDE核心模块及相关开发套件,适用于标准安装场景。

34、 补充系统运行依赖安装包(如 .NET Framework 4.5.2),确保部署环境兼容且功能完整。
35、 点击“发布”按钮启动最终打包流程
36、 若弹出提示警告,点击“下一步”继续执行。
37、 警告内容不影响发布结果,可直接忽略并进入后续步骤。

38、 在 .NET Framework 4.5.2 引导包校验过程中可能出现公钥特征值不一致的提示。
39、 右键英文版安装包 → 属性 → 数字签名 → 详细信息 → 查看证书 → 切换至“详细信息”选项卡 → 找到“公钥”字段 → 复制全部内容 → 粘贴至记事本 → 删除所有空格字符。
40、 使用文本编辑器打开 %VS安装目录%\SDK\Bootstrapper\Packages\DotNetFX452\product.xml 文件。
41、 将上一步提取的公钥字符串替换 <publickey></publickey> 标签内的原有值。
42、 中文语言包处理方式与英文包一致,需同步更新对应语言目录下的 product.xml 文件。


43、 执行发布操作
44、 点击“立即发布”完成最终构建
45、 发布结束后,可将整个输出目录整体压缩,便于分发给其他用户安装使用。
46、 Application Files 文件夹内按版本号存放各历史发布记录,建议仅保留最新版本子目录,其余旧版可安全删除以释放磁盘空间。
47、 dotnetfx452 文件夹中存放的是 .NET Framework 4.5.2 的引导安装文件,是运行依赖的核心组成部分。
48、 setup.exe 是用户端双击即可启动的主安装引导程序。











