运用VS制作安装包

一、VS2005制作安装包的“系统必备”选项

“系统必备”,通过该选项,可以选择部署应用程序需要预先安装的组建,包括。net fx和MDAC等。
“系统必备”选项中可以不仅可以选择需要预安装的组件,而且提供了“安装源”的自由选择。
打开系统项目属性,选择发布->系统必备,如下图:


在系统中我们把dotnet2.0框架打包到项目布署中,当安装软件用户当前没有dotnet2.0框架时将自动进行dotnet2.0框架的安装,安装完框架后才继续软件系统的安装。
二、制作安装布署程序的步骤
1、新建项目,选择安装布署项目。
2、
选择解决方案资源管理器的项目,右键点击,选择属性。

3、
在弹出窗口中选择系统必备。

4、
将MDAC、.net框架、水晶报表框架、windows installer2.0、windows installer3.0都选中根据需要选择其它项,在我们的项目中只需要了MDAC、.net框架。
5、
选择上面的“创建用于安装系统必备组件的安装程序”。这样就会在启动安装程序时自动启动组件的安装程序。

6、
选择下面的“从与我的应用程序相同的位置下载系统必备组件”,确定。这样就自动将所需要的组件以文件夹的形式包含在安装程序的目录中了。

7、
在目标计算机上的文件系统窗口中,设计、添加程序文件,系统将自动检测程序所依赖的文件,并自动添加进安装文件。

8、
在应用程序文件夹中选择执行程序文件,右键点击,选择“创建??????快捷方式”。
9、
将创建的快捷方式拖入“用户的‘程序’菜单”和“用户桌面”(可以重命名快捷方式)。

10、
生成,OK。

11、
其它如安装目录、文件名等设置可选择项目名,在文件安装属性中分别进行设置。
三、项目打包详解
一).创建部署项目

1. 在“文件”菜单上指向“添加项目”,然后选择“新建项目”。

2. 在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。在“名称”框中键入 setup1。

3. 单击“确定”关闭对话框。

4. 项目被添加到解决方案资源管理器中,并且文件系统编辑器打开。

5. 在“属性”窗口中,选择 ProductName 属性,并键入旭友出租房管理系统

如下图所示:

二).将
主程序
项目的输出添加到部署项目中

1. 在“文件系统编辑器”中,选择“应用程序文件夹”。新建一个文件夹1.0.0.0,单击文件夹1.0.0.0,在“操作”菜单上,指向“添加”,然后选择“项目输出”。

2. 在“添加项目输出组”对话框中,选择“项目”下拉列表中的“你的项目(houselease)”。

4. 从列表中选择“主输出”组,然后单击“确定”。
如下图:


三).打包时加入卸载功能

1.在打包项目中添加文件msiexec.exe(一般可在c:\windows\system32\下找到)
2.在文件系统视力中选择应用程序文件夹,在msiexec.exe上按右键,选择创建建快捷方式,重命名快捷方式为"卸载旭友出租房管理系统"。
3.更改此快捷方式的Arguments属性
为"/x {产品id}",产品id的值为该布署项目的ProductCode属性值,直接copy就OK。

四).打包时加入安装卸载时的配置项目文件(即创建自定义操作)
1. 在打包项目中,在“视图”菜单上指向“编辑器”,然后选择“自定义操作”。

2. 在自定义操作编辑器中选择“安装”节点。在“操作”菜单上,选择“添加自定义操作”。
在“选择项目中的项”对话框中,双击“应用程序文件夹”。
选择“主输出来自SetupProcessor(活动)”项,然后单击“确定”关闭对话框。
3.
在自定义操作编辑器中选择“卸载”节点。在“操作”菜单上,选择“添加自定义操作”。
在“选择项目中的项”对话框中,双击“应用程序文件夹”。
选择“主输出来自SetupProcessor(活动)”项,然后单击“确定”关闭对话框。
注:在安装与卸载的节点都选择“主输出来自SetupProcessor(活动)”是因为我们把安装与卸载的配置文件都写在该项目中了。

五)生成,OK。其它需求就请读者慢慢研究了。

时间: 2024-11-03 03:39:59

运用VS制作安装包的相关文章

为自己编写的windows应用程序制作安装包

1 写好了一个windows程序之后如何制作安装包 这个在vs中就可以直接发布了,可以制作msi的安装包和exe的安装包. 2 window应用程序安装包做了哪些事情 rpm安装包的话,只是把相应的文件拷贝到不同的目录.那么window安装包做了什么呢? msi里面有一个table,里面是一条条的指令,windows installer会解释并执行这些指令. 它还是会把安装包里面的文件拷贝到相应的目录.关键是它除了拷贝还做了哪些事情呢? 3 安装包除了把相应的文件放到不同的目录下,还做了哪些事情

使用Qt installer framework制作安装包(不知道是否适合Mac和Linux?)

一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很明显,可执行程序体量较大,光Qt核心库加起来就得十多兆.(2)制作安装包发布.这种方式的原理也简单,就是将可执行程序和其依赖的库文件一起打包压缩,制作成安装包发布.制作安装包的工具挺多,今天要说的是Qt官方的安装包制作框架Qt installer framework.这个框架由Qt官方出品,广泛应用

java程序打包jre以及制作安装包

分享一篇文章: java程序打包jre以及制作安装包 传智&黑马咨询郑老师 java程序打包jre以及制作安装包Java的桌面程序写好以后只能在eclipse下运行是不可以的,还需要将程序拷贝到其他电脑上运行才可以,所以需要制作成其他电脑可以运行的文件,当然在安装有jdk的电脑上只需要将程序导出为jar文件就可以运行了,但是除了开发java程序人员的电脑上会安装jdk,其他人的电脑上不会有这个环境,所以还需要将java可运行的环境一同打包到程序中去,这样,在用户不安装jdk的情况下也可以运行.制

installshield 制作安装包中执行其他程序LaunchAppAndWait的简介

最近在研究用instanllshield来制作安装包,并进行数据的创建,掌握到installshield中的LaunchAppAndWait 函数该函数是在运行的时候,运行其他程序,并能传递参数以及是否静默运行的效果. 例如: szScriptPath =SUPPORTDIR+"\\CREATEORACLEUSER.SQL";    LongPathToQuote(szScriptPath, TRUE);    szCmdLine = DBUSER + "/" +

InstallShield 12 制作安装包

目  录 一.       InstallShield安装... 2 二.       InstallShield 破解... 2 三.       制作安装包... 2 (一) 打开project... 2 (二) project助手页面... 3 1.Application Information:程序信息... 4 2.Installation Architecture: 安装包结构... 4 3.Application Files:指定安装的文件默认目标路径... 5 4.Applica

python制作安装包(setup.py)

1.制作setup.py from distutils.core import setup setup(name='Myblog', version='1.0', description='My Blog Distribution Utilities', author='lujianxing', author_email='[email protected]', url='http://blog.lujianxing.com', py_modules=['foo'] ) py_modules 定

使用Qt installer framework制作安装包

一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很明显,可执行程序体量较大,光Qt核心库加起来就得十多兆.(2)制作安装包发布.这种方式的原理也简单,就是将可执行程序和其依赖的库文件一起打包压缩,制作成安装包发布.制作安装包的工具挺多,今天要说的是Qt官方的安装包制作框架Qt installer framework.这个框架由Qt官方出品,广泛应用

c# 编写windows 服务,并制作安装包

对服务的认识有很多个阶段. 第一阶段:当时还在用c++,知道在一个进程里while(True){},然后里面做很多很多事情,这就叫做服务了,界面可能当时还用Console控制台程序. 第二阶段:知道了服务要在后台执行,一般不会有界面显示,并且开机自启动,于是隐藏Console控制台界面,并且通过使用SC CREATE 将exe变为服务,并且达到开机自启动的目的.这时候还是c++ 阶段. 第三阶段:因项目需求接触c#,发现有个叫项目模板专门制作windows 服务,尝试了下,感觉还不错,省事了许多

INNO setup 制作安装包

1.获取SQLserver安装路径vardbpath:string;rtn:boolean;rtn := RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWAREMicrosoftMSSQLServerSetup','SQLPath', dbpath);if (!rtn) then dbpath := ExpandConstant('{app}'); 2.获取本机的IP地址ip:string;rtn:boolean; rtn :=RegQueryStri