一  签名

所谓签名就是给应用程序一个身份,申请一个专利。签名的时候需要选择证书。就向我们上学一样,得奖了老师给你发个证书。如果不进行签名,杀毒软件会把你打包后的exe文件作为病毒处理。

签名的步骤:(1)右键点击所要发布的项目的属性。弹出如下图所示的窗口。

二 证书

在签名的部分提到了证书,在创建证书的时候我们一定要自己创建。因为在vs上面创建的证书默认到期时间都只有一年,这意味着每过一年你都要为你安装的应用程序再次创建一个证书。我们使用微软自带的vs控制台命令工具进行我们自己的自定义证书创建,可以设置有效期限。步骤如下:

打开Microsoft .NET Framework 的SDK命令提示,按以下步骤操作:

1、  创建一个自我签署的X.509证书(.cer)和一个.pvk私钥文件,用到makecert工具,命令如下:

2、  makecert -r -n "CN=sqs3ng " -b 01/01/2011 -e 01/01/2020 -sv myselfName.pvk myselfName.cer
按提示设置私钥密码(也可以不使用密码)即可在当前目录生成相关文件

2、利用X.509证书(.cer)创建发行者证书 (.spc),用到cert2spc工具,命令如下:
cert2spc myselfName.cer myselfName.spc

3、从.pvk和.spc格式转换成.pfx格式,用到pvkimprt工具,命令如下:
pvkimprt -pfx myselfName.spc myselfName.pvk

注意此处需要下载并安装pvkimprt.exe,否则会提示"pvkimprt"不是内部或外部命令,也不是可运行的程序或批处理文件。

pvkimprt工具下载地址如下,下载后要先解压。

http://download.microsoft.com/download/vba50/Utility/1.0/NT5/EN-US/pvkimprt.exe

按提示操作可导出.pfx证书,若第1步设置了私钥密码,此处需要输入验证

证书导出工具用于将.spc和.pvk文件导出为pfx证书文件。

导出时,会提示创建证书的密码

输入正确的密码后,出现导出向导界面,点击下一步,选择“是,导出密钥”,然后点击下一步,

出现证书类型选择界面,选择“个人信息交换
- PKCS #12(.PFX)(P)”(只有这一种可选,并且其下面的选项均不选择),再点击下一步,

出现私钥保护密码选项,输入密码,然后点击下一步,在文本框中输入要生成的文件名(一般与证书名称一致),点击下一步

显示完成窗口,并显示导出证书的信息。

三 发布

(1)web浏览器发布应用程序

首先我给大家介绍一种很快捷的方法,不用在vs上面添加部署的那个项目。也就是所谓的web浏览器发布应用程序。还是和上面一样。在所要发布的项目上面右击属性,选择publish属性

下图是应用程序再浏览器中的效果:

(2)添加安装、部署项目

右键点击整个解决方案添加安装项目。如下图

接着就开始添加主要输出的文件,就是所谓打包的项目。如下图

按照上面的步骤进入添加项目输出组窗口,如下图

接下来我来教你如何添加一个卸载程序

按照最上面的图片上显示的,添加一个输出的文件。找到C:\WINDOWS\system32目录下选择msiexec.exe文件。将msiexec.ex添加到文件夹中后,给它增加一个快捷方式,改名为delete.exe。之后修改delete.exe的属性Arguments为\x{6DCF3E96-7334-479D-B0B7-A36439E050C5},大括号中的数字是安装项目的ProductCode属性(查找此属性必须是左键选中安装项目,不是右键点击查找属性)。

之后生成安装项目。待生成成功后,就可进行安装使用。具体视图如下:

下面的是安装和卸载的视图。

<有参考网友的地方.如有冒犯,敬请原谅!>

WinForm程序安装、发布流程的更多相关文章

  1. C#Winform程序如何发布并自动升级(图解)

    C#Winform程序如何发布并自动升级(图解)     有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布 关于打包的大家可以看我的文章C# w ...

  2. 黄聪:C#Winform程序如何发布并自动升级(图解)

    有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布关于打包的大家可以看我的文章C# winform程序怎么打包成安装项目(图解)其实打包是打包,发 ...

  3. 【转】C#Winform程序如何发布并自动升级(图解)

    有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布关于打包的大家可以看我的文章C# winform程序怎么打包成安装项目(图解)其实打包是打包,发 ...

  4. C#winform程序安装时自动卸载新版本覆盖旧版本

    vs2005为winform程序做的安装包.在以有程序旧版本的机子上用新版本的安装包安装软件时提示  “以经安装该产品的另一个版本.无法继续安装此版本........” 在安装部署项目中设“Remov ...

  5. 微信小程序的发布流程

    一.背景 在中大型的公司里,人员的分工非常仔细,一般会有不同岗位角色的员工同时参与同一个小程序项目.为此,小程序平台设计了不同的权限管理使得项目管理者可以更加高效管理整个团队的协同工作 以往我们在开发 ...

  6. [转]VS2010 (C#)winform程序打包发布图解

    1.新建一个Windows窗体应用程序,例如项目名为monitor,功能略.新建的时候不要忘了创建解决方案. 2.在monitor解决方案上“右击”—— “添加”——“新建项目”,选择“其他类型项目” ...

  7. appStore上传苹果应用程序软件发布流程

    如有疑问,或者需要人帮忙,可以到QQ群:460325065首先确定帐号是否能发布, https://developer.apple.com/account,如果你打开Provisioning Port ...

  8. 【转】appStore上传苹果应用程序软件发布流程

    转载地址:http://blog.sina.com.cn/s/blog_68661bd801019uzd.html 首先确定帐号是否能发布, https://developer.apple.com/a ...

  9. appStore上传苹果应用程序软件发布流程(之前都是同事发,复制一份备用)

    首先确定帐号是否能发布, https://developer.apple.com/account,如果你打开Provisioning Portal,然后点击DisTribution看到的是下图中那样, ...

随机推荐

  1. [ActionScript3.0] 为内建类添加方法

    通过使用prototype在继承内建类特性的同时加入新方法 Array.prototype.removeElement = function (item:*):void { var index:int ...

  2. poj3253

    一道赫夫曼树的经典题目,一直以为这题的代码会很复杂,没想到书中竟描述地如此简单 #include <stdio.h> int n; long long p[20010]; //一道经典的赫 ...

  3. Golang 图片上绘制文字

    之前介绍过使用 FreeType-go 来绘制字(http://www.cnblogs.com/ghj1976/p/3445568.html),  现在相关的包被做了整合,主要是整合到了 github ...

  4. c# WinForm加载焦点

    1.c# WinForm在加载时把焦点设在按钮上 this.AcceptButton = button1; 这样在WinForm窗口中, 按钮的状态会变成窗口的默认按钮, 只要按下Enter键,就会触 ...

  5. Codeforces 519E A and B and Lecture Rooms [倍增法LCA]

    题意: 给你一棵有n个节点的树,给你m次询问,查询给两个点,问树上有多少个点到这两个点的距离是相等的.树上所有边的边权是1. 思路: 很容易想到通过记录dep和找到lca来找到两个点之间的距离,然后分 ...

  6. nyoj 76 超级台阶

    点击打开链接 超级台阶 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 注:规 ...

  7. (easy)LeetCode 263.Ugly Number

    Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers ...

  8. Android系统下的动态Dex加载

    1 问题在Android系统中,一个App的所有代码都在一个Dex文件里面.Dex是一个类似Jar的存储了多有Java编译字节码的归档文件.因为Android系统使用Dalvik虚拟机,所以需要把使用 ...

  9. 分布式消息队列的使用kakfa

    作用: 1.系统解耦 2.通过消息可以减少系统的处理压力,做一个缓冲 3.原理基于生存者消费者的模式 4.两种场景:队列(端对端 一对一).主题(一对多,广播模式) 5.消息:header.body构 ...

  10. Windows Service的安装卸载 和 Service控制(转)

    Windows Service的安装卸载 和 Service控制 原文地址:http://www.cnblogs.com/Peter-Zhang/archive/2011/10/15/2212663. ...