首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在安装过程中有条件地注册某些dll。(模糊)

在安装过程中有条件地注册某些dll。(模糊)
EN

Stack Overflow用户
提问于 2009-02-20 04:21:01
回答 1查看 163关注 0票数 0

我有一个应用程序,它在某些情况下会使用设备(例如打印机)。基本上,在一个办公室将使用此打印机,而在另一个办公室将永远不会使用此打印机。

使用打印机的功能位于应用程序代码中,与打印机通信的dll在代码中引用。因此,dll是安装.msi包的一部分。

但是,如果未安装必备组件(打印机的一组驱动程序,由制造商作为单个安装可执行文件提供),则无法在安装过程中注册这些dll。驱动程序的安装包大小约为50M。

我不想在永远不会使用打印机的办公室的安装包中包含额外的50M文件。该问题的可能解决方法是什么?

最终,我希望在安装过程中能以某种方式跳过这些dll的注册。但我不知道如何处理这个问题。

我想我可以在代码中进行条件编译。但这将涉及大量的工作,以将与这种类型的打印机对话的代码与应用程序代码的其余部分完全分开。

有什么可行的解决方案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-02-20 04:45:15

对要有条件安装/注册组件的DLL进行分组。然后在MSI的Component表中,使用Condition列来依赖于要设置的属性。在MSI的locator tables中,配置行以查找先决条件并设置属性。

您可以通过阅读以下内容来了解更多信息:

http://msdn.microsoft.com/en-us/library/aa371564(VS.85).aspx

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

https://stackoverflow.com/questions/568268

复制
相关文章

相似问题

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