概述

上面两篇文章虽然很简略,不过vsto说白了就是winform开发,所以需要说的内容不是很多,下面直接到发布阶段。

这次先介绍ClickOnce的发布方式,默认右击项目 - 发布,就是这种方式。


首先描述我遇到的需求,有个DB文件需要把它打进安装包作为ClickOnce的数据文件,ClickOnce官方文档很简单的描述可以在发布设置里面设置,问题是我死活找不到相关设置,后来对比了一下winform跟vsto的,发现vsto的发布设置是精简版的,我们来看一下对比:

  • winform程序的发布设置↓↓↓

  • vsto缺少了“应用程序文件”的设置项

这个就很坑了,不过微软还是提供了后期编辑ClickOnce安装包的工具MageUI,可以后期编辑安装包的应用程序清单。


首先需要在项目里添加DB文件并设置 "复制到输出目录" 属性为 - “始终复制”

发布项目,此时发布之后目录是这样的

打开Developer Command Prompt,输入 “mageui.exe” 即可打开MageUi

  • 在MageUi里找到发布的目录打开 Application Files/版本号/[项目名].dll.manifest 文件

  • 设置db文件为数据文件

  • 保存提示“未指定入口点”可以不用理会,此时会提示需要对文件进行签名,正常给文件签名即可

  • 打开 [项目名].vsto文件(注意,不是“Application Files/版本号/”里面的文件,而是跟Application Files文件夹同级的那个文件)

  • 点击“选择清单”,然后选中上面更改过的“[项目名].dll.manifest”文件,然后一样的保存进行签名


完成上述部署这个安装包就可以正常使用了

安装之后进入ClikeOnce的数据目录查看



  • db文件有了,一切正常,fine!

VSTO踩坑记录(3)- 用ClickOnce发布outlook插件 - 我数据文件呢?的更多相关文章

  1. IDFA踩坑记录

    IDFA踩坑记录: 1.iOS10.0 以下,即使打开“限制广告跟踪”,依然可以读取idfa: 2.打开“限制广告跟踪”,然后再关闭“限制广告跟踪”,idfa会改变: 3.越狱机器安装开发证书打的包, ...

  2. python发布包到pypi的踩坑记录

    前言 突然想玩玩python了^_^ 这篇博文记录了我打算发布包到pypi的踩坑经历.python更新太快了,甚至连这种发布上传机制都在不断的更新,这导致网上的一些关于python发布上传到pypi的 ...

  3. manjaro xfce 18.0 踩坑记录

    manjaro xfce 18.0 踩坑记录 1 简介1.1 Manjaro Linux1.2 开发桌面环境2 自动打开 NumLock3 系统快照3.1 安装timeshift3.2 使用times ...

  4. DevOps落地实践点滴和踩坑记录-(2) -聊聊平台建设

    很久没有写文章记录了,上一篇文章像流水账一样,把所见所闻一个个记录下来.这次专门聊聊DevOps平台的建设吧,有些新的体会和思考,希望给正在做这个事情的同学们一些启发吧. DevOps落地实践点滴和踩 ...

  5. unionId突然不能获取的踩坑记录

    昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...

  6. CentOS7.4安装MySQL踩坑记录

    CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...

  7. ubuntu 下安装docker 踩坑记录

    ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...

  8. SpringBoot + Shiro + shiro.ini 的踩坑记录

    0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业 ...

  9. 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密

    你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...

  10. google nmt 实验踩坑记录

       最近因为要做一个title压缩的任务,所以调研了一些text summary的方法.    text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word o ...

随机推荐

  1. 两台笔记本电脑实现同一wifi下虚拟主机网络实现互通

    一台win笔记本 (安装vmware) 一台macbookpro 本人考虑到M1的macbook,无法安装vmware,这让我这个linux运维人员很是dan疼,没办法只能在自己的win笔记本上安装v ...

  2. 第二篇:低功耗模组Air724UG硬件设计手册

    ​  接着上篇,继续分享. 3.5 串口 模块提供了五个通用异步收发器:主串口 UART1.校准串口 UART2.通用串口 UART3.调试串口 HOST UART 和 ZSP UART. 3.5.1 ...

  3. n皇后编程问题

    n皇后编程问题是一个经典问题,记得2018年北京航空航天大学计算机学院的博士招聘的上机题目就是这个,这里给出几种实现方法: import time import itertools Num = 8 # ...

  4. (Python基础教程之七)Python字符串操作

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  5. apache做负载均衡器 配置

    将Apache作为LoadBalance前置机分别有三种不同的部署方式,分别是: 1 )轮询均衡策略的配置 进入Apache的conf目录,打开httpd.conf文件,在文件的末尾加入: Proxy ...

  6. Java网络编程之JavaMail发送邮件和接受邮件

    JavaMail是API 是一个标准的Java扩展,它是J2EE的范畴,在J2EE开发过程中可能会需要用到这个API.在学习JavaMail之前,有必须要对现在的互联网的邮件协议进行有个大体的了解. ...

  7. vue之vuex使用

    如图所示,它是一个程序里面的状态管理模式,它是集中式存储所有组件的状态的小仓库,并且保持我们存储的状态以一种可以预测的方式发生变化.对于可以预测,现在我不多做说明,相信在看完这篇文章之后,你就会有自己 ...

  8. 在不同形式的for循环中使用break、continue、return的效果

    我们在循环中,经常会有跳出循环,跳出本次循环继续下次循环等的场景,今天我们简单分享下.主要使用到的关键字是,break.continue.return.先将结果总结: ①在foreach中不能使用br ...

  9. kubeadm 部署k8s

    kubeadm 部署k8s 闲聊 考虑了很久,打算写一篇保姆级部署从0-1构建企业级cicd流水线,把工作上面所用到的技术点分享给大家.从最k8s,harbor,jenkins,gitlab,dock ...

  10. uniapp使用EventBus实现页面间数据传递

    前情 最近在做小程序项目,选用是当前比较火的uniapp技术栈,经常会遇到页面间消息传递的需求. 为什么要这么做? uniapp页面间数据通信方式有很多:通过url传参,状态管理库vuex/pinia ...