VS2010安装项目程序打包操作详解
(转自:http://blog.sina.com.cn/s/blog_74f702e60101at62.html)
1、打开VS2010,选择 新建项目---其他项目类型---Visual Studio Installer----安装项目
这是在VS2010中将有三个文件夹,
1.“应用程序文件夹”表示要安装的应用程序需要添加的文件;
2.“用户的‘程序’菜单”表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe;
3.“用户桌面”表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。
2、在应用程序文件夹,点击右键添加文件:添加要打包的文件(添加的文件一般是已经编译过应用程序的debug目录下的文件)
如果debug下面有子文件则需要"添加文件夹",例如data,然后将对应子文件里的内容添加到此文件夹中;
3、在创建的项目名称(Setup1)上点击右键--属性
选择系统必备
然后选择.NET的版本,和Windows Installer3.1(可选项)
选择:“从与我应用程序相同的位置下载系统必备组件”
这样安装包就会打包.NET FrameWork ,在安装时不会从网上下载.NET FrameWork组件;但是安装包会比较大。
------------------------------------------我是华丽丽的分割线-------------------------------------
【解决VS2010发布.NET 2.0 创建的项目,安装.NET FrameWork3.5的问题】
VS2010发布.NET2.0的版本,在创建安装程序时,需要设置启动条件:在项目名称(setup1)上,点击右键选择“视图”----“启动条件”:
然后VS2010会创建如下文件:
在“启动条件”中, 点击“.NET Framework”在Version上面选择.NET Framework 2.0;
这样.NET Framework 2.0上创建的项目在安装时,就不会安装.NET3.5或其他版本,
也不会重启(解决.NET 2.0 创建的项目,安装.NET FrameWork3.5的问题)。
---------------------------------结束喽!继续.NET Framework 4.0的打包哦-------------------------
4、.设置安装文件的目录(路径):
创建的项目名称(setup1)点击左键,在属性中设置参数如下:
其中Author 为作者;Manufacturer为公司名称;ProductName为应用程序的名字;
把InstallAllUsers 设置为True 。
(这样在“控制面板”程序中会显示公司的名称;
在安装时会默认为“任何人”,否则默认为“只有我”)
左键点击“应用程序文件夹”,如下图:第一个为系统主目录(默认C:\Programe),第二个为公司名([Manufacturer]),第三个为应用程序名称,这样在安装时就会创建两层的文件路径。需要删除DefaultLocation中的:[Manufacturer] 。删除后只有应用程序的名称。
5、创建应用程序和卸载程序
在应用程序文件夹中的exe文件,点击右键创建快捷方式,命名“我的小工具”,确定后,拖动此快捷方式到“用户桌面”;
在“用户的程序菜单”中添加一个文件夹,命名为:“程序小工具”,
然后同样的方式创建CheckingApplication.exe一个快捷方式(“我的小工具”),拖动到“程序小工具”中;
然后给.NET应用程序创建一个卸载程序:
在“应用程序文件夹”中添加:C:Windows\System32\Msiexec.exe
在msiexec.exe上右键创建快捷方式,重命名为:卸载,把此快捷方式拖动到“程序小工具”;
击项目名称(Setup1),在属性中找到:ProductCode
复制此ProductCode ,粘贴到“卸载”快捷方式的Arguments属性,前面加/x空格
6、 完成以上步骤,就可以生成解决方案了。
7、生成解决方案后,在debug文件夹中就是我们需要的安装包.
8、 安装完在开始菜单中有“程序小工具”的文件夹,里面有我们创建的“我的小工具”和“卸载”;当然桌面上也有我们创建的快捷方式。
VS2010安装项目程序打包操作详解的更多相关文章
- VS2012程序打包部署详解
VS2012没有自带打包工具,所以要先下载并安装一个打包工具.我采用微软提供的打包工具: InstallShield2015LimitedEdition.下载地址:https://msdn.micr ...
- 【转】VS2012程序打包部署详解
上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...
- [转载]VS2012程序打包部署详解
上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...
- (转) VS2012程序打包部署详解
程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因微软没有将打包工具集成在开发环境中,但是我知道总会有解决办法的. 经过翻阅资料发现 ...
- VS2012及以上版本 程序打包部署详解
引用: http://blog.csdn.net/zhang_xinxiu/article/details/9099757 程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的 ...
- VS2012 QT程序打包部署详解
1.设置安装程序集 InstallShield安装完成后,执行以下步骤右键解决方案-->添加-->新建项目-->其他项目类型-->安装和部署,具体操作如下图: 2.发布程序 在 ...
- 用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解
关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- Python3调用C程序(超详解)
Python3调用C程序(超详解) Python为什么要调用C? 1.要提高代码的运算速度,C比Python快50倍以上 2.对于C语言里很多传统类库,不想用Python重写,想对从内存到文件接口这样 ...
- CentOS 6.3下Samba服务器的安装与配置方法(图文详解)
这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下 一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...
随机推荐
- [转]C++中const、volatile、mutable的用法
原文:https://blog.csdn.net/imJaron/article/details/79657642 const意思是“这个函数不修改对象内部状态”. 为了保证这一点,编译器也会主动替你 ...
- Android自定义权限
一.自定义权限 自定义权限,一般是考虑到应用共享组件时的安全问题.我们知道在四大组件 AndroidManifest 中注册的时候,添加 exported = "true" 这一属 ...
- R语言矩阵栅格显示矩阵颜色显示
效果如下:
- 关于怎么在CSDN中修改代码行中字体的颜色
先吐槽一下自己的心路历程吧,自己现在也是在CSDN中发表了自己好几篇的原创博文,但每一篇博文自己总感觉怪怪的,就是说不出自己哪里有毛病呢,知道今天恍然大悟,原来自己的代码行真心丑的要死,没有呈现出在编 ...
- 雷林鹏分享:XML 实例
XML 实例 这些例子演示了 XML 文件.XML 格式化和 XML 转换(XSLT). 还演示了与 XML 一起使用的 JavaScript(AJAX). 查看 XML 文件 查看一个简单的 XML ...
- Channel L 自然拼读法 Teacher:Lamb
# 今日学习的 bl fl pl cl gl br cr gr pr fr tr dr # 上课内容 was he <--- h在中间出现的情况连读 was he 这里的 ...
- Juniper基础配置
root> show configuration | display set 配置按set行显示,查看的配置为未commit的配置(commit check)root# set sys ...
- JavaScript Transpilers: 为什么需要用它们?Babel的使用介绍。
英文原文 https://scotch.io/tutorials/javascript-transpilers-what-they-are-why-we-need-them 摘译(文章内的代码有些过期 ...
- Vue.js示例:GitHub提交(watch数据,created钩子,filters过滤); 网格组件(功能:1.检索,2排序);
GitHub提交 codePen: https://codepen.io/chentianwei411/pen/wEVPZo 注意:频繁看案例,可能会被限制. 重点: 表单输入绑定, 单选按钮的使 ...
- NYOJ - 整数划分(四)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=746 要求对一个n的整数插入m个乘号,求最大结果. 构造dp:dp[i][j]表示枚举至j ...