C#--打包安装项目
使用VS2015的Visual Studio Installer打包安装项目,虽然整体操作很简单,但还是有几个特殊的点需要记一下,故写下此博客方便以后查阅
第一步,创建安装项目
如下:
里面最左侧的框框有三个文件夹
1.“应用程序文件夹”即"Application Folder"表示要安装的应用程序需要添加的文件;
2.“用户的‘程序’菜单”即"User's Programs Menu"表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe;
3.“用户桌面”即"User's Desktop"表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。
第二步,右键“应用程序文件夹”,添加——文件
添加的文件一般是已经编译生成过的应用程序项目的debug目录下的exe文件(即位于../bin/Debug文件夹下的主程序exe文件);
添加后,一般它会自动把exe程序所需的依赖项也加进来,如各种dll文件,在右侧的“Detected Dependencies”里面可以看到它自动导入了哪些依赖项,方便你检查是否有遗漏
接下来,可能还剩一些文件夹或者配置文件XML等没有自动加进来,这个时候就需要自己手动添加
方式也是一样,右键“应用程序文件夹”,添加——文件夹,添加——文件,这里就不再赘述
第三步,创建快捷方式
右键主程序exe文件,选择“创建快捷方式到……”
然后,中侧框框里会出现一个快捷方式项,将它剪切,粘贴到“用户桌面”文件夹下
至于快捷方式的名称、图标、描述等其他属性,可以在属性面板中设置,如下
第四步,添加卸载程序
既然有安装就有卸载,卸载程序其实是一个Windows操作系统自带的程序(C:Windows\System32\Msiexec.exe),只不过是通过给它传特殊的参数命令,来让它执行卸载
添加和设置卸载程序的操作如下:
首先,将卸载程序放在“应用程序文件夹”目录下,右键“应用程序文件夹”,添加——文件,在系统盘下找到这个路径文件——C:Windows\System32\Msiexec.exe添加进去
由于Msiexec.exe这个名字不够直观,所以一般接下来我们会对它重命名,一般改为“卸载.exe”或“UnInstall.exe”,然后给它创建快捷方式并将快捷方式放到“用户程序菜单”目录下
接下来是很关键的一步,设置卸载参数,告诉卸载程序该卸载哪个
首先,找到安装项目的ProductCode,在安装项目的属性面板中可以看到,如下
复制此ProductCode ,粘贴到“卸载.exe”快捷方式的Arguments属性,前面加/x空格,如下
Arguments=“/x {81575537-5736-457F-9DBE-857C1F67BE70}”记得/x后面一定要有个空格
第五步,其他设置
如果还想对安装程序进行其他设置,比如,友化安装欢迎界面,自定制安装步骤,修改注册表,设置启动条件(比如要求必须先安装指定的.net FrameWork版本才可以启动)等,可以右键安装项目,在View中可以进行选择设置,如下
有需要可以再去研究,这里就不详细赘述了
第六步,设置系统必备
一般我们开发的程序都有一个目标框架,也就是所依赖的.net Framework版本环境,如.net Framework 2.0/3.5/4.0/4.5等
要想我们的程序能在电脑上正常运行,首先就得保证电脑上装有指定的.net Framework版本框架,可以在安装包的属性中设置,启动安装前检查操作系统中是否安装了指定版本的框架或其他依赖,设置方法如下:
右键安装包项目,点开“属性”
然后点击“Prerequisites……”
选择你程序需要的.net Framework版本以及其他依赖项
选择“从组件供应商的网站上下载系统必备组件”,这样一来,即使电脑上没有安装需要的.net Framework也不要紧,只要设置了这项,安装程序会自动从微软的官网上下载对应的组件并安装,是不是很方便
第七步,生成打包安装文件
右键安装项目,选择重新生成
然后打开解决方案文件夹下的Debug或Release文件夹,就可以看到生成的安装文件
生成的setup.exe与setup.msi的区别
setup.exe里边包含了对安装程序的一些条件的检测,比如需要.net的版本是否安装等,当条件具备后,setup.exe接着调用setup.msi,而setup.msi则可以直接运行,如果你确定条件都具备的情况下。
C#--打包安装项目相关推荐
- VB.net:VB.net编程语言学习之添加引用打包安装项目的简介、案例应用之详细攻略
VB.net:VB.net编程语言学习之添加引用&打包安装项目的简介.案例应用之详细攻略 目录 关于添加引用 1.SW的二次开发,需要引用多个Solidworks库文件即dll文件
- 使用VS自带的打包工具,制作winform安装项目
开发环境:VS2008 Access 操作系统:Windows XP 开发语言:C# 项目名称:**管理系统 步骤: 1.打开开发环境VS2010,新建项目,选择其他项目类型,再选择"安装项 ...
- C# 程序打包成安装项目
Xaml设置图标 https://blog.csdn.net/u014234260/article/details/73648649 winform程序控制面板中卸载显示图标 https://blog ...
- C# winform程序怎么打包成安装项目(图解)
转自:https://blog.csdn.net/u011981242/article/details/51059441#comments 开发环境:VS2010+SQL Server 2008 操作 ...
- 利用VS安装项目打包软件的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 昨天摸索了一下,发现使用VS安装项目来打包软件还是挺方便的. 1. 创建一个安装项目工程,如下图: 2. 设置工程属性 ...
- JAVA项目的打包及生成.exe文件或者打包安装软件
总体思路是先打成jar再把jar打成exe.主要看1.3和2.3里的内容就可以了. 1.将项目打成jar: 1.1要将项目打包成jar文件,方法很多,可以用Eclipse自带的打包工具Ant打包,也可 ...
- 使用VS 自带的打包工具,制作winform安装项目
开发环境:VS 2008 Access 操作系统:Windows XP 开发语言:C# 项目名称:**管理系统 步骤: 第一步:打开开发环境VS2008,新建项目,选择其他项目类型,再选择" ...
- vs2010发布、打包安装程序(超全超详细)
1. 在vs2010 选择"新建项目"----"其他项目类型"----"Visual Studio Installerà"安装项目&quo ...
- 转[WinForm] VS2010发布、打包安装程序(超全超详细)
1. 在vs2010 选择"新建项目"→" 其他项目类型"→" Visual Studio Installer→"安装项目": 命 ...
- 使用pyinstaller打包python_使用pyinstaller打包Python项目,python
00 前言 上一篇文章写的是使用百度aip实现一个图片转文字的小工具( https://blog.csdn.net/George_Clancy/article/details/105551872 ), ...
最新文章
- strust2自定义interceptor的基本方法及操作
- MySQL-MMM实现MySQL高可用
- Metasploit编码模块技巧
- orcle 删除表报正在使用_删除文件时提示正在使用无法删除?这款免费软件帮你快速解决问题...
- bat 指定jdk_微服务开发 bat 一键批量启动 jar(效率小技巧)
- Excel宏的易错点
- 如何让 Flutter 应用更好地使用 SVG?
- python和台达plc通讯_台达PLC通信协议ModbusASCII(DVP)
- Python基础__Python序列基本类型及其操作(1)
- echart移上去显示内容_Echarts X轴内容过长自动隐藏,鼠标移动上去显示全部名称方法...
- 关于安装TOMCAT解压版环境配置流程
- easypoi 大数据 百万_燃烧大数据 | 分析了2百万份成绩后发现,女跑者更稳?
- ClassGraph使用
- 计算机实战项目之 [含论文+任务书+中期检查表+答辩PPT+源码等]基于javaweb宠物领养网站
- 戴尔服务器盘安装系统安装win7系统教程,戴尔系统光盘安装win7系统方法
- tungsten mysql_ETL之Tungsten Replicator
- oracle的sid如何修改,Oracle数据库修改实例名SID的方法步骤
- 【火炉炼AI】机器学习050-提取图像的Star特征
- outlook邮箱附件无法打开,提示无法创建文件
- python识图找图_【python 图像识别】图像识别从菜鸟
热门文章
- 【超图+CESIUM】【基础API使用示例】28、超图|CESIUM -【坐标转换】世界坐标转经纬度
- 潇洒郎: websockets 服务端设计:多线程执行async方法
- 数字人轻松学习Blender系列之八:建模-1
- 央行数字货币——DCEP的那些事儿
- JavaWeb开发——软件国际化(动态元素国际化)
- ROS下使用摄像头进行机器人巡线功能(附带功能包链接)
- 弹性伸缩定时任务支持Cron表达式
- nfc加密卡pm3和pm5区别_为了省门禁卡的钱,买了NFC读卡器,到底值不值
- 一篇教你随意下载网易云音乐歌曲的博客!
- HTML和CSS中电子字体的显示与制作