如何自定义第三方 MSM 的功能?

发布于 2024-08-24 06:49:09 字数 333 浏览 12 评论 0原文

我正在尝试将 Visual Studio 2008 中的项目从 CRT 的静态链接转换为动态链接。这很简单,我将 CRT MSM 和策略 MSM 添加到我的 Wix 文件中,没有出现任何问题。

我对输出的 MSI 不太满意,它比我预期的要大得多。使用 Orca 查看 MSI 显示了我需要的 CRT DLL 的三个副本。从情况来看,其中一套用于 XP 之前的安装。由于系统要求是XP及更高版本,如何在不触及原始MSM的情况下删除该组件?这需要在自动化构建中完成,因此 Orca 不是一个可行的解决方案。另外,当我用 Orca 尝试时,删除文件和组件行后文件大小保持不变。

和有些相关的是,如何在保留的组件中设置永久属性?

I'm trying to convert a project in Visual Studio 2008 from static linking of the CRT to dynamic linking. This was easy enough, and I added the CRT MSM and policy MSM to my Wix file with no problems.

I am not that happy with the MSI that is output though, it is much larger than what I expected. Looking at the MSI with Orca shows three copies of the CRT DLLs that I need. From looking at the conditions, one of the sets is used for pre-XP installs. Since the system requirements are XP and later, how do I remove this component without touching the original MSM? This needs to be done in an automated build, so Orca isn't a possible solution. Plus, when I tried it with Orca, the filesize remained the same after deleting the File and Component rows.

And somewhat related, how do I set the permanent attribute in the components that remain?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

献世佛 2024-08-31 06:49:09

合并工具通常会提取 MergeMod.cabinet 并将其重建到您的 Disk1 cab 流中。我相信,如果您在合并之前使用脚本从模块中删除组件、文件、模块组件行,那么它们将被删除。

A merge tool typically extracts the MergeMod.cabinet and rebuilds it into your Disk1 cab stream. I believe if you were to use a script to delete the component, file, modulecomponent rows out of the module prior to merging it would be stripped out.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文