Visual Studio 2017项目进行打包并附加.net框架打包,菜鸟级安装教程

本文从项目创建完成之后,手把手对项目打包及安装进行细致教学分享。

一.准备工作

1.安装Installer(若已经安装,则直接进行下一步)

  • 工具-扩展和更新
    在这里插入图片描述

  • 选择联机-Visual Studio Marketplace,搜索Microsoft Visual Studio Installer Projects ,点击下载
    (1) 下载安装installer

  • 这样下载更新速度极慢,且大概率下失败。网络上有很多方法,例如修改host,ipv6等,效果不大。
    我选择点击上图右侧“详细信息”链接,进入网页下载。依旧出现网络错误。
    最终下载迅雷软件,将刚刚“详细信息”的网页地址复制到迅雷,体验一秒下载完毕。(迅雷打钱)
    当然其他下载软件也可以。

  • 下载获得InstallerProjects.vsix,双击进行安装,重新启动VS,打开要打包的工程项目。
    在这里插入图片描述

二.打包可执行程序

1.创建setup打包项目

  • 右击项目解决方案-添加-新建项目

在这里插入图片描述

  • 选择已安装-其他项目类型-Visual Studio Installer-Setup Project

在这里插入图片描述在这里插入图片描述
三个文件夹分别指向要发送到[文件安装目录下/桌面/开始菜单]中的文件。

Application Folder:用来存放程序项目的可执行文件、资源(图片、音频、视频等)、各种依赖dll文件。
User’s Desktop:用来生成桌面快捷方式
User’s Programs Menu:用来生成开始菜单快捷方式

2.编辑Application Folder

  • 击Application Fold-Add-项目输出

在这里插入图片描述

  • 选择要打包的项目-主输出-确认
    在这里插入图片描述
  • 可能会出现下列错误,我没有深究,根据错误提示,我重启了VS,以防万一,移除setup1,并将.vs空间内的setup1文件夹删除。重新创建setup打包项目,即步骤1、2,未报错误。
    在这里插入图片描述
  • 右击Application Fold-Add-Folder,创建文件夹用以保存项目需要的图片等资源。
    我创建image文件夹保存桌面快捷方式和开始菜单快捷方式的图标。
    在这里插入图片描述
  • 右击image-Add-文件,选择所需要的资源文件,我选择了icon图标。
    在这里插入图片描述

3.编辑User’s Desktop

  • 选择上一步骤产生的主输出文件-右击生成快捷方式,并重新命名。我命名为wapi。

在这里插入图片描述

  • 选中wapi,在属性窗口内点击icon-Browse-选择上一步骤中image内部icon资源。

在这里插入图片描述

  • 左键按住wapi,将快捷方式拖入User’s Desktop。
    在这里插入图片描述

4.编辑User’s Programs Menu

  • 创建开始菜单文件夹。
  • 重复步骤2,将wapi快捷方式放入WAPI文件夹内。

在这里插入图片描述
在这里插入图片描述

5.安装包提供卸载功能

  • Application Folder右键添加文件"C:\Windows\System32\msiexec.exe"。
    注:大多数人的msiexec.exe不享有权限,在最后生成过程会报警,可提前将msiexec.exe复制到桌面,再进行添加操作。
    在这里插入图片描述
  • 选中msiexec.exe文件右键创建快捷方式,命名为uninstall
    在这里插入图片描述
  • 选中uninstall快捷方式,Arguments属性设置为"/x ProductCode",其中ProductCode的值取自setup project属性中的ProductCode的值。

在这里插入图片描述

在这里插入图片描述

  • 将uninstall拖动到User’s Programs Menu下
    在这里插入图片描述

6.设置完毕,执行build生成解决方案

在这里插入图片描述

  • Debug内生成的两个文件都有安装和卸载功能,可以去尝试一下,且安装之后,控制面板的卸载程序和开始菜单里都有程序卸载功能,就不一一展示了。

在这里插入图片描述

三.打包.net框架

1.设置系统必备

  • 右击setup-属性

在这里插入图片描述

  • 进入setup属性页选择Build-Prerequisites…
  • 选择项目需要的.net版本,勾选“从与我的应用程序相同的位置下载系统必备组件”

在这里插入图片描述

  • 所需要的.net版本从项目-属性-应用程序-目标框架,进行查看

在这里插入图片描述

2.下载安装框架

首先进入C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX461
最后的数字是.net版本号4.6.1,选择自己需要的。

  • 下载NDP461-KB3102436-x86-x64-AllOS-ENU.exe

进入网页在搜索栏中搜索“Windows .NET Framework (所需要的版本号) 脱机安装程序”,选择正确的链接,下载离线安装程序包NDP461-KB3102436-x86-x64-AllOS-ENU.exe
.net 4.6.1
在这里插入图片描述

  • 将NDP461-KB3102436-x86-x64-AllOS-ENU.exe复制到C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX461文件夹下
    在这里插入图片描述

  • 下载NDP461-KB3102436-x86-x64-AllOS-CHS.exe

进入C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX461\zh-Hans,用记事本模式打开Package.xml

查找带有fwlink的网址,不止一个的选择FullLanguagePackBootstrapper所在行的网址,复制到网页搜索栏,可以下载得到NDP461-KB3102436-x86-x64-AllOS-CHS.exe
在这里插入图片描述

  • 将NDP461-KB3102436-x86-x64-AllOS-CHS.exe复制到C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX461\zh-Hans文件夹下
    在这里插入图片描述

3.设置完毕,执行build生成解决方案

在这里插入图片描述

  • Debug内生成的3个文件,多出了一个DotNetFX461文件夹保存.net框架安装包。
    在这里插入图片描述

四.注意

生成过程中,左下角输出可能出现warning:“Microsoft .NET Framework 4.6.1 (x86 和 x64)”中“PublicKey”特性的值与文件“C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-ENU.ex”的该特性值不匹配。

解决方法如下:

  • 定位到错误提示的文件,一般来说就是上面下载安装的两个安装包
  • 以NDP461-KB3102436-x86-x64-AllOS-ENU.exe为例,右键→属性→数字签名
  • 在“签名列表”中任意选择签名,然后点“详细信息”
  • 在窗口中点“查看证书”,在弹出窗口中选择“详细信息”卡片,在下面的列表中选中“公钥”
    在这里插入图片描述
  • 把公钥对应的编码拷贝到记事本,将其中的空格替换掉,可以选择编辑-替换-将空格替换为空-全部替换
    在这里插入图片描述
  • 打开同以目录下 product.xml 文件,查找 NDP461-KB3102436-x86-x64-AllOS-ENU.exe,将其对应的 publicKey 替换成刚才处理好的字符串就 OK 了。

在这里插入图片描述

  • 同理,在C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX461\zh-Hans下的NDP461-KB3102436-x86-x64-AllOS-CHS.exe和product.xml 进行相同操作。
  • 重新生成解决方案

结语

一个完整的Visual Studio 2017项目进行打包并附加.net框架打包详细过程到此结束。如果在操作过程中出现问题,欢迎讨论。

  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值