[转载]如何用Visual Studio制作安装包
环境:Microsoft Visual Studio 2010
语言:C#
构架:.NET Framework 2.0
解决方案名称:Setup1
步骤:
1、新建项目,依次找到:其他项目类型>>安装和部署>>Visual Studio Installer>>安装项目
2、选择“应用程序文件夹”项,然后在右边的空白区域右击,选择:添加>>文件,之后选中需要添加的程序主文件(即位于../bin/Debug文件夹下的exe文件,可以在原程序制作项目中单击F6生成)。

3、在这里还可以增加其他文件,比如图标、配置文件、图片等,另外还可以建立文件夹以便程序安装后使用。要注意的是,如果建立的文件夹是空的,默认情况下是不会在安装时创建的,需要将该文件夹的“AlwaysCreate”属性设置为True方可。
4、然后为程序创建快捷方式:在添加的exe文件上右击,选择“创建XXX的快捷方式”,“XXX”为该exe文件的文件名,然后将快捷方式剪切、粘贴到“用户的‘程序’菜单”和“用户桌面”。单击某一个快捷方式,单击其”Icon”属性,选择“浏览”,找到之前添加到项目中的图标文件即可。
———————–接下来的步骤非常重要———————-
5、在“解决方案资源管理器”中的解决方案名称(本例中为“Setup1”)上右击,打开“属性”页,在弹出的新窗口的右下角有一个“系统必备”按钮,单击它。
由于我们选用的是2.0架构,因此取消默认的4.0。另外,选中“从与我的应用程序相同的位置下载系统必备组件”,确定即可。
6、仍是在解决方案名称上右击,依次选择:视图>>启动条件。然后在启动条件中单击“.NET Framework”,在属性选项卡中将其“Version”属性选为相应的版本,本例中为2.0。
一切设置妥当后,按F6就可以生成安装程序了。状态栏提示成功生成后,可以到“Setup1”项目的Debug文件夹中找到制作好的安装包,按照之前的设置会生成2个文件和1个文件夹,将他们用Winrar或其他压缩软件打包起来即可。
———————–接下来的操作是可选的———————-
1、在生成安装程序前,还可以通过单击解决方案名称(本例中为“Setup1”),之后在其属性选项卡中修改相关属性。包括“Author”(作者)、“Manufacturer”(制造商)等属性。
2、单击“应用程序文件夹”项,在属性选项卡中可以通过修改DefaultLocation属性来更改程序的默认安装位置,其值默认为“[ProgramFilesFolder][Manufacturer][ProductName]”,一般可以将“[Manufacturer]”去掉。
[转载]如何用Visual Studio制作安装包的更多相关文章
- 使用Visual Studio制作安装包
目 录 第1章 合并模块 3 1.1 SystemDll 3 1.1.1 收集文件 3 1.1.2 新建项目 4 1.1.3 增加自定义文件夹 4 1.1.4 设置部署位 ...
- Visual Studio 2003安装包
点击下载
- Visual Studio 2005安装包
点击下载
- Visual Studio 2010安装包
点击下载
- Visual Studio 2012安装包
点击下载
- Visual Studio 2013安装包
点击下载
- Visual Studio 2014安装包
点击下载
- Visual Studio 2015安装包
点击下载
- 使用VS2015制作安装包( 含相关的下载链接)
补充: 在看下面的教程过程中,如果在下面的步聚1中没有 " Visual Studio Installer", 则需要通过下面的链接进行安装 Visual Studio Insta ...
随机推荐
- iOS系统声音列表
iOS系统声音列表 效果 说明 1. 点击cell就能发出声音 2. 只需要给出声音编号,就可以,非常简单易用 源码 https://github.com/YouXianMing/iOS-Utilit ...
- 我做SAP CRM One Order redesign的一些心得体会
框架开发和应用程序的开发完全不一样. 举个具体的最近折腾我的例子: 创建新的service order,维护header的shipping data,此时order和shipping data的mod ...
- 在jupyter notebook中运行R语言
要想在jupyter notebook中运行R语言其实非常简单,按顺序安装下面扩展包即可: install.package('repr','IRdisplay','evaluate','crayon' ...
- 有料面试题之--Object里面的方法
阿里的面试题里面有个题很奇妙:你知道Object类里面有哪些方法吗? 绝大部分猿类都知道 有hashcode .equals .clone.toString 只有部分人会回答有 wait和notify ...
- 20165318 2017-2018-2 《Java程序设计》第四周学习总结
20165318 2017-2018-2 <Java程序设计>第四周学习总结 IDEA安装 按照娄老师Intellj IDEA 简易教程,我下载了IDEA但是由于没有注册学校邮箱,我没办法 ...
- 1260. [CQOI2007]涂色【区间DP】
Description 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂上红.绿.蓝.绿.红色,用一个长度为5的字符串表示这个目标:RGBGR. 每次你可以把一段连续 ...
- Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 with RU
Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 -- [ RU: 26610291 (GRID INFRASTRUCTURE RE ...
- javascript 中isPrototypeOf 、hasOwnProperty、constructor、prototype等用法
hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员. isPrototypeOf是用来判断要检查 ...
- css自问自答(一)
css自问自答(一) 1.块级元素和行内元素特性与区别? 块级:display:block <div>.<p>.<h1>...<h6>.<ol&g ...
- 模糊控制——(3)模糊自适应整定PID控制
1.原理 这种控制必须精确地确定对象模型,首先将操作人员(专家)长期实践积累的经验知识用控制规则模型化,然后运用推理便可对PID参数实现最佳调整. 自适应模糊PID控制器以误差e和误差变化ec作为输入 ...