一、遇到的问题

在安装了vs2017 社区版(Community)之后  想打包安装程序(winform) 还是想用之前的 installshield来打包  发现居然打不了,在官网查了    installshield不支持社区版(Community),后来尝试用vs自带的ClickOnce打包遇到以下问题:

1.严重性 代码 说明 项目  文件 行 禁止显示状态
错误 要在“系统必备”对话框中启用“从与我的应用程序相同的位置下载系统必备组件”,必须将“Microsoft .NET Framework 4.6.1 (x86 和 x64)”项的文件“DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-CHS.exe”下载到本地计算机。有关详细信息,请参见 http://go.microsoft.com/fwlink/?LinkId=616018

2.严重性 代码
说明 项目  文件 行 禁止显示状态
错误 要在“系统必备”对话框中启用“从与我的应用程序相同的位置下载系统必备组件”,必须将“Microsoft .NET Framework 4.6.1 (x86 和 x64)”项的文件“DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-ENU.exe”下载到本地计算机。有关详细信息,请参见 http://go.microsoft.com/fwlink/?LinkId=616018。

3.严重性 代码
说明 项目  文件 行 禁止显示状态
错误 因为某项目未能生成,所以无法发布

看到这个问题

二、尝试解决问题

看到这个问题很自然的想到要把这两个文件(NDP461-KB3102436-x86-x64-AllOS-CHS.exe、NDP461-KB3102436-x86-x64-AllOS-ENU.exe)下载下来放到指定的位置,才能完成打包。首先去网上下载下来这两个文件。现在关键问题是要把这两个文件放到上面位置,网上搜罗一番,基本上说的是放到

C:\Program Files\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages(32位系统) and C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages (64位系统).

或者C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\DotNetFX461\等等

尝试了各种,没有文件夹了手动创建,也并没有什么卵用。后来在SDKs中发现了ClickOnce Bootstrapper这个文件夹  打开一看果然有这些文件。(惊喜中)

后来把下载的两个文件拷贝到DotNetFX461文件夹下(系统组件选中的4.6.1),虽然没有成功,但是发现报错有变化了(少了上面的错误2),说明这个操作对打包有影响。再各种尝试,把NDP461-KB3102436-x86-x64-AllOS-CHS.exe复制到zh-Hans文件夹中,最后居然发布成功.

三、图说解决步骤

1.打开文件路径C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\

2、打开相应的文件夹(我选择的是DotNetFX461),将下载好的文件拷贝进来

3.将NDP461-KB3102436-x86-x64-AllOS-CHS.exe文件复制到zh-Hans文件夹下然后你就可以发布了

【.Net】vs2017 自带发布工具 ClickOnce发布包遇到的问题的更多相关文章

  1. 利用npm安装/删除/发布/更新/撤销发布包

    利用npm安装/删除/发布/更新/撤销发布包 什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率 ...

  2. 利用npm安装/删除/发布/更新/撤销发布包 --社会我npm哥,好用话不多

      一.什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率   1.从社区的角度:把针对某一特定 ...

  3. 【npm】利用npm安装/删除/发布/更新/撤销发布包

      什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率   1.从社区的角度:把针对某一特定问题 ...

  4. npm 安装/删除/发布/更新/撤销 发布包

    目录 一. npm安装包 1.1 什么时候用本地/全局安装? 1 当你试图安装命令行工具的时候,例如 grunt CLI的时候,使用全局安装 2. 当你试图通过npm install 某个模块,并通过 ...

  5. 如何禁用/关闭vs2017自带的Git工具的?

    对于用习惯了独立Git工具和命令行的人来说,看到Visual Studio自带的Git工具后,很是别扭,到处充满了不习惯,而且是不是还会出现电脑卡顿的现象(可能是我自身电脑配置一般的问题). 如何关闭 ...

  6. win7自带录像工具怎么打开?win7自带录像工具的使用方法

    http://www.xitongcheng.com/jiaocheng/win7_article_28327.html 制作教程的好帮手 win7自带录像工具怎么打开?win7自带录像工具的使用方法 ...

  7. 如何创建一个带诊断工具的.NET镜像

    现阶段的问题 现在是云原生和容器化时代,.NET Core对于云原生来说有非常好的兼容和亲和性,dotnet社区以及微软为.NET Core提供了非常方便的镜像容器化方案.所以现在大多数的dotnet ...

  8. 简析GeoServer服务的内部文件组织以及GeoServer自动化服务发布工具的开发思路

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.前言 通过GeoServer发布的服务,在GeoServer内部有 ...

  9. java自带BASE64工具进行图片和字符串转换

    java自带BASE64工具进行图片和字符串转换 import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...

随机推荐

  1. 20155315 2016-2017-2 《Java程序设计》第十周学习总结

    学习目标 了解计算机网络基础 掌握Java Socket编程 理解混合密码系统 掌握Java 密码技术相关API的使用 学习资源 Java和Android开发学习指南(第二版)(EPUBIT,,Jav ...

  2. 20155321 2016-2017-2 《Java程序设计》第二周学习总结

    教材学习内容总结 这星期主要学习了Java语言中的各种运算符以及基本的一些语句,除了个别地方之外大部分和以往C语言学的东西比较相似,在比较中看教材学习比较容易掌握第三章的内容,课后练习的难度也不是很大 ...

  3. 《Java 程序设计》课堂实践三

    实践题目 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 提交测试代码和运行结果截图,加上学号水印,提交码云代码链接. 代码链接 代码链接 实践 ...

  4. WPF GDI+字符串绘制成图片(二)

    原文:WPF GDI+字符串绘制成图片(二) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83 ...

  5. 北京Uber优步司机奖励政策(4月12日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  6. SpringBoot-08:SpringBoot采用json的方式实现前后台通用的配置文件

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 一.需求: 本篇博客是最近笔者做的一个项目,已经上线但是还在不断开发,有些页面上的配置,测试服务器和正式服务器 ...

  7. Linux的常用命令笔记

    这里使用的是centos操作系统 一.简单命令 (1)查看历史纪录: history (2)查看当前目录: pwd (3)查看系统当前时间和日期 date (4)查看当前登陆到系统的所有用户 who ...

  8. Power Designer逆向工程导入Oracle表,转为模型加注释

    1.打开PowerDesigner ——文件——Reverse Engineer——DataBase 2.选择所要连接数据库版本,此处使用的是oracle version 11g. 3.点击红色区域, ...

  9. leetcode-下一个排列

    下一个排列 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列). 必须原地修改,只允许使用额外 ...

  10. Laxcus大数据操作系统2.0(5)- 第二章 数据组织

    第二章 数据组织 在数据的组织结构设计上,Laxcus严格遵循数据和数据描述分离的原则,这个理念与关系数据库完全一致.在此基础上,为了保证大规模数据存取和计算的需要,我们设计了大量新的数据处理技术.同 ...