如何在.NET 自动安装包项目(Visual Studio Installer Projects)中设置安装包自动安装 .NET Framework环境
前言
新建一个.NET WinForm 项目
为方便演示,我这里新建一个 WinForm APP (.NET Framework) 控制台程序。如图所示:
随便放点控件上去。便于演示
安装 Installer Project 插件
新建安装项目(Setup Project)
安装包类型 | 用途 |
---|---|
Setup Projet | 创建一个可以添加文件的 Windows Installer 项目 |
Web Setup Projet | 创建一个可以添加文件的 Windows Installer Web 项目 |
Merge Module Project | 创建一个可以添加文件的 Windows Installer 合并模块项目 |
Setup Wizard | 借助安装向导创建 Windows 安装程序项目 |
这里我们选择 Setup Project
。
设置 WinForm Project 输出到Setup Project
本步骤主要演示设置.net 项目与安装程序的关联,这里我以项目输出为例进行演示。最终安装包打包过程中会自动将.net 项目生成的DLL、EXE等release输出文件输出到安装包中。当然根据你的业务需要,也可以往安装包中添加其他类型的文件、程序集等。
设置如下配置,输出类型选择Primary output(主输出)
NET Framework 安装包
注意:Debug和Release需要设置相同的先决条件,以免出错。
生成安装包
生成报错及原因分析:
首次生成会出现如下报错。
这里面主要有两个问题,一个warning,一个error。我们分别来解决:
1. 警告(Warning)的解决
警告信息如下:
解决方法:
运行结果如下,可以看到Warning消失,只剩下Error。
2. 报错(Error)的解决
报错信息如下:
错误原因分析:
微软官方解释:How to: Include Prerequisites with a ClickOnce Application
解决方法:
使用 Package.xml 添加安装程序包
查看所需安装的.NetFramework PackageFile 信息
打开 Packages 文件夹
默认情况下,该路径在64位系统上为 C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages
。如图
查看先决条件文件夹的配置信息
打开要添加的先决条件的文件夹,.net framework 4.8 对应文件夹:DotNetFX48。
然后用文本编辑器打开 Product.xml
查看我们需要手动下载的文件。
如图所示,可以看到我们需要手动下载的是两个PackageFile文件:
NDP48-x86-x64-AllOS-ENU.exe
和 NDP48-Web.exe
下载 .NET Framework PackageFile
我们可以去百度上把几个文件下载下来放在DotNetFX48目录下就可以了。
也可以去微软官方地址下载:下载 .NET Framework 4.8
下载中文语言包
进入zh-Hans
文件夹:
在文本编辑器中,打开 Package.xml 文件:
我们继续前往 .NET Framework 4.8 下载中文(简体)语言包,并放到 \Packages\DotNetFX48\zh-Hans
目录下
重新生成,error消失。
生成出来以后会多一个DotNetFX48的文件夹。
这样一来安装包就会自动安装.Net Framework环境。