目前的项目开发的程序是有两个依赖程序(A,B),第三方软件公司开发好了依赖程序的独立安装包A.exe 和B.exe,目前的项目方要求将我们自己开发的主程序和依赖的第三方程
序安装包打包在一起通过我们的安装包直接将其也安装了。本人初次开发做安装包,没有经验,因为之前做的测试版安装包并没有包含第三方软件的安装,且是用VS Installer 制
作,故还是想通过VS Installer来实现这一功能。摸索了一下午,基本解决这个问题,通过 VS Installer 提供的自定义操作来实现,一下是具体步骤:
第一步:先写个包含检测和调用A.exe和B.exe的win32程序,首先通过读写注册表来判断是否已经安装了所依赖的程序A和B。需要读的注册表项
为:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
或HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
App Paths的子键值只包括可执行程序的名称,而Uninstall 子键值 包含软件的详细信息,包括软件名称、路径、版本等,可以根据实现功能的复杂度来遍历哪个键值。主要通
过Registry类和Process类来操作,如何使用很简单,网上到处都是,这就不贴代码了。 写个流程

该程序写好之后,假设命名为SoftwareDetection ,将SoftwareDetection.exe 文件和使用到的资源文件 (如A和B的安装包程序)放在主程序的Debug目录下或其子目录下
第二步:写一个win32引导程序LeadSD,用来引导SoftwareDetection.exe,因为如果检测到本地计算机没有安装依赖程

本文介绍了如何使用VS Installer将主程序与第三方依赖程序A和B的安装包打包在一起。通过创建一个win32程序SoftwareDetection来检测依赖程序是否已安装,并编写引导程序LeadSD避免安装冲突。在自定义操作中设置启动流程,确保安装过程顺利进行。
最低0.47元/天 解锁文章
1660

被折叠的 条评论
为什么被折叠?



