首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将由两个不同的MSI安装程序安装的应用程序。

问将由两个不同的MSI安装程序安装的应用程序。
EN

Stack Overflow用户
提问于 2018-05-09 06:29:46
回答 1查看 56关注 0票数 0

我有一个应用程序,它将由两个不同的MSI安装程序( INSTALLER1和INSTALLER2 )安装。也可以通过保持相同的、GUID、和路径来实现这一点。用例1. INSTALLER1 安装的应用程序,经过INSTALLER2卸载一段时间后,它会通知INSTALLER1它已经卸载了吗? 2.应用程序由INSTALLER1安装,经过INSTALLER2升级一段时间后,它会通知INSTALLER1吗?或者需要检查其他东西,如升级代码,包代码,组件ID应该是相同的(除了GUID)

任何指针都会有帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-05-09 19:32:51

我找到了另一个职位,我认为这也是你的职位。Can a single component installed by two different installers, if we keep same GUIDs and Paths for files,services, registries, upgrade codes?

你用“产品”这个词的方式令人困惑。在您的另一篇文章中,您将引用合并模块,这些模块是以组件形式排列的文件的集合。合并模块将被另一个安装包占用。合并模块没有升级代码,也没有包代码或产品代码。

如果我理解您的问题,如果您在合并模块中正确配置了组件,那么无论安装多少产品,组件规则都将生效。不需要“通知”。

因此,假设您创建了合并模块,文件安装到C:\Program \MyGreatApp。MSI_1和MSI_2使用合并模块1.0.0。客户安装MSI_2时,此时您的组件信息被写入注册表,并指示MyGreatApp组件是1.0.0版本,客户在安装MSI_1时此时会注意到MyGreatApp组件已经安装,并且版本为1.0.0,此时该组件将不会安装,因为它已经存在于系统上。假设您发布了MyGreatApp v2.0.0,而MSI_2使用了这个合并模块。如果客户安装MSI_1,那么如果客户稍后安装MSI_2,则安装MyGreatApp v1.0.0,安装时会看到组件已安装,但版本为1.0.0,因此根据组件规则,它有一个较新的版本。

因此,从安装程序问题来看,这应该符合组件规则。

您必须问的问题是,当应用程序从v1.0.0升级到v2.0.0时,会不会导致代码中断。但是,如果您的文件是独立于主MSI编译的,那么如果您的文件被用作主应用程序中的引用,而且这是一个使用强名称密钥文件的.NET程序集,那么您将得到依赖关系而不是找到的错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50246825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档