VS2017项目打包安装教程

  • 一.准备工作
    • 1.安装Installer(若已经安装,则直接进行下一步)
  • 二.打包可执行程序
    • 1.创建setup打包项目
    • 2.编辑Application Folder
    • 3.编辑User's Desktop
    • 4.编辑User's Programs Menu
    • 5.安装包提供卸载功能
    • 6.设置完毕,执行build生成解决方案
  • 三.打包.net框架
    • 1.设置系统必备
    • 2.下载安装框架
    • 3.设置完毕,执行build生成解决方案
  • 四.注意
  • 结语

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

一.准备工作

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

  • 工具-扩展和更新

  • 选择联机-Visual Studio Marketplace,搜索Microsoft Visual Studio Installer Projects ,点击下载

  • 这样下载更新速度极慢,且大概率下失败。网络上有很多方法,例如修改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框架打包详细过程到此结束。如果在操作过程中出现问题,欢迎讨论。

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

  1. Visual Studio 2017 第三方依赖设置,附加依赖项和附加库目录

    Visual Studio 2017 第三方依赖.需要做的事情有:1.指定头文件所在目录.2.指定需要使用到的lib.3.指定lib文件夹,也就是代码的实现部分所在的目录. 附加依赖项 是指输入项,如 ...

  2. Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试

    由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...

  3. Visual Studio 2017 RC 下载 最新版本的发行说明

    我们非常荣幸地宣布 Visual Studio 2017 RC 现已推出! 此新版本包括我们最新的功能创新和改进. 注意 这里是 Visual Studio 2017 最新版本的发行说明. 下载:Vi ...

  4. Visual Studio 2017 调试 windows server 2016 Docker Container

    网上很多文章都是在win10下,用Docker for windows工具进行Docker的安装部署的.用知道windows server 2016已经原生支持Docker了,其windows Con ...

  5. 【更新】ReSharper v2016.3发布,Visual Studio 2017 RC初步支持

    2019独角兽企业重金招聘Python工程师标准>>> [下载最新版ReSharper试用] Visual Studio 2017 RC初步支持 ReSharper 2016.3最终 ...

  6. Visual Studio 2017下载地址和安装教程(图解版)

    Visual Studio 2017下载地址和安装教程(图解版) Visual Studio 2017不仅支持C#.C++.Python.Visual Basic.Node.js.HTML.JavaS ...

  7. Visual Studio 2017无法卸载的问题

    安装完Visual Studio 2017之后,就把下载的缓存文件给删除了(安装程序界面提示跨域删除),后来我想修改组件,想增加一些东西. 然后启动vs2017的安装器Visual Studio In ...

  8. Visual Studio 2017 - Windows应用程序打包成exe文件(1)- 工具简单总结

    最近有对一个Windows应用程序少许维护和修改.修改之后要发布新的exe安装文件,打包exe文件时,遇到了很头疼的问题,还好最后解决了,记录一下. Visual Studio版本:Visual St ...

  9. vs2017c语言没有空项目,「vs2017新建项目」visual studio 2017 创建空项目和桌面向导下的空项目...

    vs2017新建项目: visual studio 2017 创建空项目和桌面向导下的空项目 用VS2013编写和调试C语言程序,首先应建立项目工程.文件-->新建-->项目在 新建项目窗 ...

最新文章

  1. [JAVA] DUMP
  2. OpenCV图像数据访问,查询表和时间消耗测试
  3. 达梦想oracle迁移,oracle存储过程迁移达梦心得
  4. 微软北大联合提出换脸AI和脸部伪造检测器,演绎现实版「矛与盾」?
  5. DTCC 2020 | 阿里云程实:云原生时代的数据库管理
  6. ipython notebook超级好用
  7. linux下dns服务器安装,Linux下DNS服务器安装配置方法详细介绍
  8. 《社交网站界面设计(原书第2版)》——3.9 使用生命周期
  9. Java使用Swing实现五子棋。
  10. nvidia的jetson系列的方案_NVIDIAJetson系统在工业网络中的集成
  11. 手机芯片进入7纳米时代!高通确认年内发布,搭载5G,更强AI
  12. 自带内网穿透的文件同步工具Syncthing介绍
  13. ERROR Error loading vue.config.js: ERROR Error: Command failed: git describe --always报错可能的原因
  14. matlab powergui的作用,powergui模块作用
  15. tcpClient的使用
  16. cad如何多选对象_cad中选择对象,不小心多选了一条线,怎么取消这个多选的家伙...
  17. OceanBase详解(详解OceanBase特性)
  18. 就是要弄懂你之—— 同步 异步 阻塞 非阻塞
  19. 一文读懂,WMS仓库管理系统模块功能
  20. let const var 区别详解

热门文章

  1. 程序员的10000个小时理论
  2. linux dp接口显示,DP接口无法输出2K甚至1080分辨率·「已解决」
  3. 正运动学及逆运动学求解方法
  4. 数据工具sqoop用法之mysql与hive数据导入导出
  5. 国标GB/T28181协议下EasyGBS互联网无插件视频播放器起播慢或延迟高问题解决方案
  6. 雷军与陈年是真爱 凡客即将“小米化”改造
  7. 8090后一年有多少存款才算正常?存款五个等级,你在第几个等级?
  8. 北京烤鸭+腊肉炒花菜+香椿炒蛋
  9. 华为云桌面---cloudclient安装使用
  10. 护士副高需要计算机考试吗,护士晋升副高的条件