项目的第一个版本出来了,要做个安装包,之前没有做过,网上看看贴,写了一个,总结下,根据本项目的需要,没有写的太复杂,可能还不是很完善,仅作参考。

首先在打开 VS2010    》   文件 》新建项目

创建一个安装项目  XXX

在“目标计算机上的文件系统”下我们看见    应用程序文件夹,用户程序菜单 ,用户桌面  , 在  应用程序文件夹  右击添加文件夹(即安装后所在安装路径下生成的包含程序相关组件的文件夹)

本列中添加了  测试安装程序文件夹   ,在   测试安装程序文件夹  上右击  ,选择 添加,根据项目需要 ,将所有程序所需要的组件都添加进去,本例中 将XXX.exe  ,XXX.dll ,图标等文件添加

要实现卸载功能的话,需要将  C:\Windows\System32\msiexec.exe  程序也添加到    测试安装程序文件夹  中,然后在进一步操作

接下来,分别给主程序  XXX.exe 和 msiexec.exe  建快捷方式

同理在  用户程序菜单   中添加一个文件夹 ,并将  XXX.exe 和 msiexec.exe  的快捷方式 剪切到 该文件夹下,这样在用户点击 开始 菜单 后 就会看见我们安装程序的文件,提供了运行程序的快捷方式和卸载该程序的快捷方式。

接下来设置卸载程序的参数 :在 解决方案下 ,单击该安装项目名称 ,进入其  属性  页面 ,找到其 ProductCode 的属性值,将属性值复制下,本例中该属性值为:{226D41BC-A197-41B0-9156-2EC489089D99} (即本安装软件的ID)

然后在  卸载程序所建的快捷方式   的属性页上 的 Arguments 属性项  ,将其值赋值为  :/x{226D41BC-A197-41B0-9156-2EC489089D99}  ,/x 为命令 ,后面跟此安装的软件的ID ,这样,卸载程序才能知道运行时该卸载那个软件。

最后,在 用户桌面   添加 主程序的 快捷方式

最后我们还要设置一下相关属性,由于次软件是在.Net 下开发的,所以如果目标计算机上并没有安装相应的.Net 库文件,则安装后程序仍然无法运行,因此,需要设置此安装程序的属性,选中此安装程序,右击 ,进入  属性 页面。

单击  系统必备

程序会自动识别所需要的.Net库文件和安装程序,默认即可,在  指定系统必备组件的安装位置    选项,第一项的意思是,在安装时,若目标计算机没有.Net库文件的话,安装程序将提示用户从网上下载相应的.Net库文件。第二项的意思是 ,直接从本地计算机上将相应的.Net库文件拷贝到 此安装程序的 Debug 目录下,在目标计算机安装时,若安装程序检测到计算机未安装.Net库文件,则先安装.Net库文件,再安装该软件,无需下载.Net库文件。 因此我的程序中选择第二项,单击  确定。

最后 生成该安装包, 在Debug 目录下 找到 setup.exe 文件即是我们的安装包。

如何在更新程序时不需要卸载的情况下就能安装:

DetectNewerInstalledVersion=True
InstallAllUsers = True
RemovePreviousVersion = True

然后把版本号Version更改  再更换卸载的序列号 重新生成就可以了。

最基本的安装程序就是这些,如果复杂的大型应用可能涉及到 注册表及启动条件,安装引导界面等属性的设置,我们在  安装程序  右击  选择   视图   ,可以在里面进行相关设置,这里不再详述,以后根据需要再补充。小功告成,不足之处,欢迎大家指正...

VS2010生成安装包的更多相关文章

  1. VS2010生成安装包制作步骤

    VS2010生成安装包制作步骤   在VS2010中文旗舰版本中生成winForm安装包,可以复制你电脑中的开发环境,避免你忘记了一下配置然后在别的机器上运行不起来.也省去了Framwork的安装. ...

  2. VS2010生成安装包制作步骤 (转)

    阅读目录 VS2010生成安装包制作步骤 回到目录 VS2010生成安装包制作步骤   在VS2010中文旗舰版本中生成winForm安装包,可以复制你电脑中的开发环境,避免你忘记了一下配置然后在别的 ...

  3. Qt5.4生成安装包过程

    所需工具: 1.  HM NIS Edit 2.  windeployqt.exe 第一个工具需要自己去网上下载,第二个工具可以在qt安装目录下找到:D:\qtopengl\5.4\mingw491_ ...

  4. UWP项目生成安装包远程安装在树莓派上

    原文: UWP项目生成安装包远程安装在树莓派上 哎,好纠结啊!如果这个名字写的太长,会显得太繁琐,如果写的短又好像说不清楚,我这语言表达水平实在是令人担忧啊!不过应该能够明白啥意思吧!因为对这个感兴趣 ...

  5. Flink打包生成安装包缺少jar包

    官方默认打包生成的安装包的flink-release-1.7.0\flink-dist\target\flink-1.7.0-bin\flink-1.7.0\lib下缺少jar flink-dist项 ...

  6. Management Studio 插件生成安装包要点(以ProjkyAddin为例)

    通过Visual Studio向导生成Management 插件框架就不说了,网上能搜到不少资料.本篇重点是说明怎么设计一个插件安装包,适用于Management Studio 2005 到2014的 ...

  7. cxfreeze打包python程序的方法说明(生成安装包,实现桌面快捷方式、删除快捷方式)

    一.cxfreeze基础 1.cxfreeze功能 python代码文件转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller,这三种方式各有千秋,本人只用过py2exe和 ...

  8. 怎样使用在线Webapp生成器生成安装包

    在这篇文章中,我们来介绍怎样使用在线(online)的Webapp生成器来生产在Ubuntu手机或模拟器中能够安装的click安装包. Webapp生成器的地址:https://developer.u ...

  9. VISUAL STUDIO 2008 WINDOWS FORM项目发布生成安装包详解(转)

    转自:http://www.cnblogs.com/killerofyang/archive/2012/05/31/2529193.html Visual Studio 2008 Windows Fo ...

随机推荐

  1. codevs 1531 山峰

    codevs 1531 山峰 题目描述 Description Rocky山脉有n个山峰,一字排开,从西向东依次编号为1, 2, 3, --, n.每个山峰的高度都是不一样的.编号为i的山峰高度为hi ...

  2. HTTP错误代码

    服务器错误代码大全 ·400 - 错误的请求. ·401 - 访问被拒绝.IIS 定义了许多不同的 401 错误,它们指明更为具体的错误原因.这些具体的错误代码在浏览器中显示,但不在 IIS 日志中显 ...

  3. .NET 4.0 任务(Task)

    随着 .NET 4.0的到来,她与以前各版本的一个明显差别就是并行功能的增强,以此来适应这个多核的世界.于是引入了一个新概念---任务,作为支持并行运算的重要组成部分,同时,也作为对线程池的一个补充和 ...

  4. &12-2 查找二叉搜索树

    #1,定理 在一棵高度为h的二叉搜索树上,动态集合上的操作SEARCH.MINIMUM.MAXIMUM.SUCCESSOR和PREDECESSOR可以在O(h)时间内完成. #2,伪代码 分别是搜索, ...

  5. Spring Security笔记:Remember Me(下次自动登录)

    前一节学习了如何限制登录尝试次数,今天在这个基础上再增加一点新功能:Remember Me. 很多网站,比如博客园,在登录页面就有这个选项,勾选“下次自动登录”后,在一定时间段内,只要不清空浏览器Co ...

  6. 开发备忘:AngularJS Syntax error, unrecognized expression in template file

    在写基于Angular的项目过程中,运行 grunt test的时候,一直给我蹦出这个错误,导致我的test一直跑不过,怎么试都是失败,经过重复排查,发现是因为template file中的html元 ...

  7. Bootstrap系列 -- 10. 网格布局

    一. 实现原理 网格布局是通过容器的大小,平均分为12份(可以修改),再调整内外边距,和表格布局有点类似但是也存在区别. 实现步骤如下: (1) 数据行.row 必须包含在容器.container 中 ...

  8. Windows Phone 8 开发资料

    Design http://aka.ms/wp8devdesign Develop http://aka.ms/wp8devdoc Test http://aka.ms/wp8testing Publ ...

  9. Android开发之AutoCompleteTextView的简单使用

    这里只谈简单的使用: 代码xml: <AutoCompleteTextView android:id="@+id/actv" android:layout_width=&qu ...

  10. Unix 复制文件至指定目录

    cp /gaps/log/20160504/bxdx_20160504.log.Z   /home 将/gaps/log/20160504/bxdx_20160504.log.Z 文件复制到home路 ...