打包C#程序
开源中国。
今天来使用VS2010对C#程序进行打包发布。
我们有一个C#程序。程序很简单,我们需要对它进行发布。
Contents
步骤:
建立一个安装项目。我们得到了一个Setup1项目。
在应用程序文件夹中添加项目输出。刚才选错了项目,删掉重来。选择主输出,点击确定,可以看到添加了一些文件。
为主输出创建快捷方式,并分别拖到桌面和程序菜单中。
添加项目必要的依赖文件。这里我把所有文件都放进来了,这样不是特别好。
添加卸载程序及其快捷方式。在system32下找到msiexec.exe文件,添加进来。创建它的快捷方式,并拖到程序菜单中。选中Setup1项目,在属性中找到product code一项,在unistall的快捷方式的参数中填入/x 'product code'。
右键Setup1项目,点击生成,等待打包程序。我这个程序的打包时间有点久,可能和引入过多的dll包有关。
生成成功。在项目Setup1中有个Release目录,下面有个setup.exe,点击便可进行安装。安装完成,可以看见在桌面生成一个CropPic的快捷方式,但是没有图标,可以在先前配置一下图标。点击快捷方式,运行程序。
okay!!卸载程序。卸载完成。
Thanks!!!
Appendix
操作过程见视频文件。
打包C#程序的更多相关文章
- InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)
InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) 标签: InstallShieldVS2013 2015 ...
- 使用Inno Setup 打包.NET程序,并自动安装.Net Framework
使用Inno Setup 打包.NET程序,并自动安装.Net Framework http://www.cnblogs.com/xiaogangqq123/archive/2012/03/19/24 ...
- MAC下配置gradle用eclipse 打包android程序
1.下载gradle binhttp://gradle.org/gradle-download/ 2.配置gradle,http://www.douban.com/note/311599602/htt ...
- vs2010打包winform程序详解
vs2010打包winform程序详解 最近一直在做winform程序,做完后程序打包很头疼,第三方打包工具,好用的花钱,不花钱的不好用,最后只能用vs自带的打包工具了! 打包过程vs2010(包 ...
- Windows如何打包Qt程序
很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文 ...
- vs2008打包公布程序
vs2008打包公布程序 一vs2008中新建 安装项目,确定(新建 安装向导 也能够) 二.加入内容 1.加入主要内容: 应用程序目录=>右键=>加入=>文件,找到须要的文件,包含 ...
- Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)
原文:InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) InstallShield Limited Edi ...
- Inno Setup打包的程序提升为管理员权限
Inno Setup打包的程序在Win7 64位系统上安装,安装步骤最后一步若选中运行程序,会跳出一个错误提示框. 这是因为64位win7系统运行程序时需要管理员权限,而打包的文件并没有这个权限就试图 ...
- 使用WIX打包客户端程序
原文:使用WIX打包客户端程序 用WPF为客户做了个小工具,打包的时候发现VS2012居然没有安装项目了,搜了下才知道现在推荐使用WIX来打包了http://wix.sourceforge.net/, ...
- C#打包应用程序
摘要:本文介绍在C#中手把手教你用C#打包应用程序(安装程序卸载程序) 1:新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点 ...
随机推荐
- 远程测试mysql数据库3306端口报错
错误现象:[root@localhost ~]# telnet 192.168.10.130 3306Trying 192.168.10.130...Connected to 192.168.10.1 ...
- hdoj 2829 Lawrence 四边形不等式优化dp
dp[i][j]表示前i个,炸j条路,并且最后一个炸在i的后面时,一到i这一段的最小价值. dp[i][j]=min(dp[i][k]+w[k+1][i]) w[i][j]表示i到j这一段的价值. # ...
- Open War I: 怪物繁殖,行走仿真,瞄准射击...
See below demo: Share the source codes with your guys. >>>download this "hacking meat& ...
- Java JNI调用c语言的dll测试
最近复习C语言和java语言(10年没用了,温习一下),用JNI调用C语言的dll测试,以前没做过,在网上找了很多,总结如下: 环境:windows 10(64位) + JDK(32位,版本1.7.0 ...
- Python Telnet弱口令爆破脚本及遇到的错误与问题
写得时候遇到了一个很大的问题,就是我在发送用户名,接受用户名就会一直卡住.然后等了好久后提示 recv ‘\r\nSession timed out.\r\n\r\nTelnet Server has ...
- DSC配置
#配置Remote Desktop Services服务为 自启动,并运行 Configuration Myservice{ # A Configuration block can have zero ...
- C#-动态生成40个按钮,大小(20,20),要求每行6个放置
应该为for (int i=0;i<基本数据DataSet3.Tables [0].Rows .Count ;i++) { int ...
- mysql下命令行执行sql脚本
1. 登录mysql mysql -uroot -p 2. 执行脚本 mysql>use dbname; mysql>source /home/db/xx.sql
- Android 如何添加一种锁屏方式
前言 欢迎大家我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处: CSDN:http://www.csdn.net ...
- Java下拼接运行动态SQL语句
mod=viewthread&tid=3039" target="_blank">Java拼接动态SQL的一般做法有 1.使用动态语句 非常多数 ...