今天,小白就来给各位做个打包的新手教程,此文仅是为了记录自己的学习过程与方便其他初次接触的打包的朋友们总结一下,希望大家能够受用。废话不多说,下面我们就来讲解下打包工程。首先,在项目中添加一个安装项目,然后可以自定义最终的Exe执行名称,如下图。

接下来,在应用程序文件夹中右键,选择必要的文件。(将你你已经生成并运行的程序找到如标记文件夹下的文件,全部添加进去,包括数据库,配置文件等内容。但是要注意将文件夹建立的相对应,文件结构一致)

同时,把需要创建程序快捷方式的图标也添加进来:后缀名为:ico

接下来,在创建的项目名称(Setup1)上点击右键:属性,然后接下来选择系统必备,即选择.NET的版本,和Windows Installer3.1(可选项),并 选择:“从与我应用程序相同的位置下载系统必备组件”,这样安装包就会打包.NET FrameWork ,在安装时不会从网上下载.NET  FrameWork组件;但是安装包会比较大。(3.5的尤其大!因为他包括了2.0,3.0,3.5的.net framework环境),在vs2010下面,如果要打包.net framework 2.0,可以选择3.5,里面就自动包含了2.0的环境,但是这样会照成安装包200多M,如果要解决这个问题,可以从安装过VS2005或者vs2008的电脑的安装目录如:C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages 下找到dotnetfx文件夹 copy到VS2010安装目录如:C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages下。这样在系统必备里面就可以选择2.0的环境了。

见链接:http://www.cnblogs.com/wangqc/p/vs2010framework3_5sp1.html,接下来,点击应用程序文件夹,可以通过设置参数来设置安装文件的目录(路径),如下图。第一个为系统主目录(默认C:\Programe),第二个为公司名([Manufacturer]),第三个为应用程序名称,这样在安装时就会创建两层的文件路径。需要删除DefaultLocation中的:[Manufacturer] 。删除后只有应用程序的名称。

然后左击点击项目名称(setup1),在属性中设置参数如下图:其中Author 为作者;Manufacturer为公司名称;ProductName为应用程序的名字;

例如我们设置为:BeyondKKO;Manufacturer:自由公司;ProductName:串口测试。把InstallAllUsers 设置为True 。(这样在“控制面板”程序中会显示公司的名称;

在安装时会默认为“任何人”,否则默认为“只有我”)

接下来就轮到创建应用程序图标与在安装程序中加入写在功能了。首先要为主程序创建快捷方式,即在应用程序文件夹”中的.exe文件中,点击右键,创建快捷方式:

然后将新建号的快捷方式重命名“前台收银系统”,然后点击右键属性:选择Icon

确定后,拖动此设置好的快捷方式到“用户桌面”,然后在用户的‘程序’菜单”中添加一个文件夹,命名为:“前台收银系统”,然后同样的方式创建一个快捷方式,拖动到“前台收银系统”中;

然后给.NET应用程序创建一个卸载程序:在“应用程序文件夹”中添加:C:Windows\System32\Msiexec.exe,右键创建快捷方式,重命名为:卸载,把此快捷方式拖动到“前台收银系统”中;

点击项目名称(Setup1),在属性中找到:ProductCode,复制此ProductCode ,粘贴到“卸载”快捷方式的Arguments属性,前面加/x空格

完成以上步骤,就可以生成解决方案了。生成解决方案后,在debug文件夹中就是我们需要的安装包.该文件夹下面的exe文件就是可执行安装文件了。

如果上面有什么讲的不明白的地方,可以qq联系我,可以看联系方式。

最新文章

  1. Windows server 2012 添加中文语言包(英文转为中文)(离线)
  2. linux下进度条的编写和实现
  3. React Native实践之携程Moles框架
  4. mysql order by 出现Using filesort的解决办法
  5. jQuery过滤选择器
  6. Xamarin.iOS项目编译提示Could not AOT the assembly
  7. 用fabric部署维护kle日志收集系统
  8. android事件分发介绍
  9. Java 编程的动态性,第 7 部分: 用 BCEL 设计字节码--转载
  10. CJOJ 2044 【一本通】最长公共子序列(动态规划)
  11. AOP入门之静态代理
  12. spring boot系列03--spring security (基于数据库)登录和权限控制(下)
  13. unicode文件处理(如果是ANSI编码就不需要了)
  14. centos/linux下的安装mysql
  15. Bigger-Mai 养成计划,Docker之安装,部署
  16. Java面试2018常考题目汇总
  17. linux下修改时间戳
  18. Codeforces 585D Lizard Era: Beginning
  19. sqlserver 优化
  20. 【转载】抓包工具Fidder详解(主要来抓取Android中app的请求) 包括https

热门文章

  1. [dpdk] 读官方文档(2)
  2. ASP.NET一些公共方法commTools
  3. yum change source repo centos共存安装sun jdk6和jdk7
  4. Magento订单打印(pdf格式)
  5. 打开Apache自带的Web监视器
  6. 在Fedora8上配置Tomcat6.0.37
  7. 使用 Redis 实现分布式系统轻量级协调技术
  8. LeetCode Meeting Rooms
  9. python笔记 - day7
  10. POJ 1528问题描述