(转)VS制作安装包

 

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

首先在打开 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 文件即是我们的安装包。

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

时间: 2024-10-14 00:09:35

(转)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官方出品,广泛应用

运用VS制作安装包

一.VS2005制作安装包的“系统必备”选项“系统必备”,通过该选项,可以选择部署应用程序需要预先安装的组建,包括.net fx和MDAC等.“系统必备”选项中可以不仅可以选择需要预安装的组件,而且提供了“安装源”的自由选择.打开系统项目属性,选择发布->系统必备,如下图: 在系统中我们把dotnet2.0框架打包到项目布署中,当安装软件的用户当前没有dotnet2.0框架时将自动进行dotnet2.0框架的安装,安装完框架后才继续软件系统的安装.二.制作安装布署程序的步骤1.新建项目,选择安装

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