合并模块和组件 GUID
我已阅读 http://robmensching.com/blog /posts/2003/10/18/Component-Rules-101 博客文章 这非常有启发性。
但是,我仍然有一些问题:
组件 GUID 的范围是什么?使用时这一切有何关系 合并不同安装程序中的模块?
假设我有两个不同的安装程序,安装到不同的文件夹 并且都使用相同的合并模块。合并模块中的组件有一个 某些 GUID,但它们安装在那些不同的文件夹中。
如果我卸载第二个安装的应用程序怎么办?有什么影响 第一个应用程序?
我尝试了这种情况,第一个安装的应用程序中的文件仍然存在 卸载第二个安装的应用程序后存在(有点预期), 但在卸载第一个安装的应用程序后会被删除,我 没想到:秒到所有组件数据都更新完了 安装程序已全部卸载。
有人可以澄清一下吗?
I've read the http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101 blogpost
which is very enlightning.
However, I still have some questions:
What is the scope of a component GUID? How does all this relate when using
mergemodules in different installers?
Lets say I have two different installers, installing to different folders
and both using the same mergemodule. The components in the mergemodule have a
certain GUID but they get installed in those different folders.
What if I uninstall the second installed application? What is the effect on
the first application?
I tried this scenario and the files in the first installed application still
exist after uinstalling the second installed application (somewhat expected),
but do get removed upon uninstalling the first installed application, which I
didn't expect: after all the component data got updated by the second
installer which is allready uninstalled.
Can someone clarify this please?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这称为共享组件,GUID 的范围仅限于产品。一般来说,你应该没问题。我一直这样做:
FOO.MSM
mergeredirectfolder\bin\foo.dll
P1.MSI [ProgramFilesFolder\Company\P1] <--- FOO.MSM
P2.MSI [ProgramFilesFolder\Company\P2] <--- FOM.MSM
有关更详细的讨论,请阅读:
关于共享组件 - Heath Stewart
This is called Shared Components and the GUID is scoped to the product. Generally, you should generally be fine. I do this all the time:
FOO.MSM
mergeredirectfolder\bin\foo.dll
P1.MSI [ProgramFilesFolder\Company\P1] <--- FOO.MSM
P2.MSI [ProgramFilesFolder\Company\P2] <--- FOM.MSM
For a more detailed discussion, read:
About Shared Components - Heath Stewart