利用VS安装项目打包软件的做法
作者:朱金灿
来源:http://blog.csdn.net/clever101
昨天摸索了一下,发现使用VS安装项目来打包软件还是挺方便的。
1. 创建一个安装项目工程,如下图:
2. 设置工程属性,如下图:
在系统必备对话框中选择软件运行所必需的系统组件,VC++编译软件需要vcredist_x86和WindowsInstaller3_1,如下图:
3. 安装项目中包含三个虚拟文件夹:应用程序文件夹、用户的“程序”菜单和用户桌面,如下图:
应用程序文件夹对应的是你所安装软件的目标文件夹,用户的“程序”菜单就是用户机子上的开始菜单所呈现的内容,用户桌面就是用户机子上桌面对应的快捷方式。
你可以拖拽你的待压缩的文件夹到应用程序文件夹节点,当然也可以使用右键菜单添加,如下图:
添加后的效果如下图:
4. 添加用户的“程序”菜单,具体是在用户的“程序”菜单下添加一个文件夹:我的软件:
“在应用程序文件夹”中的.exe文件中,点击右键,创建快捷方式:
重命名“串口测试程序”,然后点击右键属性:选择Icon
双击进入选择我们之前添加的“MiXer.ico”
确定后,拖动此快捷方式到“我的软件下”。
接着给应用程序创建一个卸载程序:将C:\Windows\System32\Msiexec.exe拷贝到你的应用程序目录下,然后在把它添加到“应用程序文件夹”下的bin节点下,右键创建快捷方式,重命名为:卸载,把此快捷方式拖动到“串口程序”;
点击项目名称(Setup1),在属性中找到:ProductCode
复制此ProductCode ,粘贴到“卸载”快捷方式的Arguments属性,前面加/x空格
网上的说法是直接在bin节点添加C:\Windows\System32\Msiexec.exe(省去了我说的拷贝C:\Windows\System32\Msiexec.exe到我的输出文件夹一步),这样做是有问题的,在生成是会出现一个警告:应将“卸载PIEGeoImage”排除,原因是其源文件“C:\WINDOWS\system32\msiexec.exe”受到“Windows 系统文件保护”。生成后的卸载程序并不能用。
4. 添加用户桌面,参考第四步创建一个exe的快捷方式,然后拖拽到用户桌面节点下即可。
安装完在开始菜单中有“串口程序”的文件夹,里面有我们创建的两个快捷方式;
桌面上也有快捷方式:
参考文献:
利用VS安装项目打包软件的做法的更多相关文章
- 图解使用VS的安装项目打包程序
背景 这段时间一直在做客户端程序的打包程序,遇到各种坑.因为以前没有任何这方面的经验,历经各种折腾,费尽九牛二虎之力总算是完成了. 虽然没有太多技术含量,但是因为挺繁琐的,所以还是在此记录一下. 由于 ...
- 利用maven将项目打包成一个可以运行的独立jar包
目标:希望把Java项目打包成一个完整的jar包,可以独立运行,不需要再依赖其他jar包. 我们在用eclipse中mvn创建mvn项目的时候,选择非webapp,会默认的以jar打包形式,如下图: ...
- 将Java项目打包成exe文件
第一步:参照我之前的博客:利用IDEA把项目打包成jar包第二步:下载安装exe4j软件第三步:新建文件夹,把jre,exe文件的图标,本项目的jar包以及项目用到的jar包都放到同一目录下[很重要] ...
- C# winform程序怎么打包成安装项目(VS2010图解)
作为研发人员,在本机上开发的winform.wpf或者控制台程序需要发给其他人测试时候,一般需要对其进行打包生成setup安装文件,根据网上查找的资料并结合自己打包成功,记录如下: 注:本程序是一个利 ...
- VS制作软件安装项目,版本控制和软件升级
具体如何利用VS制作安装项目,请到我的CSDN地址下载超详细的文档(该文档来自网络) http://download.csdn.net/detail/u012373717/8723335 我要说的是版 ...
- C# 程序打包成安装项目
Xaml设置图标https://blog.csdn.net/u014234260/article/details/73648649 winform程序控制面板中卸载显示图标https://blog.c ...
- Visual Studio 2017打包安装项目
在我们用VS编好上位机后,就可以在自己电脑运行上位机,但是想其他人电脑运行上位机可能就行不通了,因为其他人电脑不一定有所需要的运行环境.这时我们就需要打包安装,把运行软件所需要的环境都打包在安装包里. ...
- C#项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标
#项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标 2012-08-25 09:11匿名 | 浏览 3286 次 C#编程 C#项目用vs2005自带的工具打包后安装的桌面快捷方式图标怎么设 ...
- Linux 首先基本包安装(vim啊什么的),源,源优化,项目架构介绍, (LNMuWsgi)Django项目相关软件mysql,redies,python(相关模块)安装配置测试
内容 补充: 查看已启动服务的端口 netstat -tulnp |grep (方式1) ss -tulnp|grep (方式2) 前期铺垫: . Linux要能上网 . 掌握Linux软件包安装方法 ...
随机推荐
- 1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
解决方法如下:项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”. 终极解决方案:VS2010在经历一些更新后,建立Win32 Console Project时会出“err ...
- 智能指针shared_ptr, auto_ptr, scoped_ptr, weak_ptr总结
看这里: http://blog.csdn.net/lollipop_jin/article/details/8499530 shared_ptr可以多线程同时读,但是涉及到写,需要加锁. share ...
- [React] Create a queue of Ajax requests with redux-observable and group the results.
With redux-observable, we have the power of RxJS at our disposal - this means tasks that would other ...
- NO.1 You must restart adb and Eclipse多种情形分析与解决方式
一:错误提示 The connection to adb is down, and a severe error has occured. You must restart adb and Eclip ...
- 74LS153 选择器 【数字电路】
74LS153 我用了八个不同频率的方波信号,用153当作信号选择器,控制环节的开关是4通道的选择器,00 01 10 11分别选择通道 0 1 2 3 以下是八选一的demo
- 给指定的用户无需密码执行 sudo 的权限
给指定的用户无需密码执行 sudo 的权限 cat /etc/passwd 可以查看所有用户的列表 w 可以查看当前活跃的用户列表 cat /etc/group 查看用户组 cat /etc/pass ...
- js32---CommonUtil.js
// BH 命名空间 namespace var BH = {} ; BH.Interface = function(name,methods){ //Interface是类.方法的名字,以后用BH. ...
- (转)Linux下查看Nginx Apache MySQL的并发连接数和连接状态
转自: http://www.ha97.com/4106.html 1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:netstat -n | awk '/^tcp/ { ...
- ListCtrl添加右键菜单(在对话框类中)
在对话框类中如何添加NM_RCLICK消息: ListCtrl控件右键单击选择属性 在右侧属性栏中选择控件事件 在控件事件中找到NM_RCLICK并添加 完成,写代码
- Writing buffer overflow exploits - a tutorial for beginners
Buffer overflows in user input dependent buffers have become one of the biggest security hazards on ...