Windows Installer在“使用中的文件对话框”中显示其他应用程序的文件。 [英] Windows Installer shows files of other application in "File in Use Dialog"

查看:84
本文介绍了Windows Installer在“使用中的文件对话框”中显示其他应用程序的文件。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好!


我为公司开发了几个MSI设置。虽然不同的产品,但所有设置都使用了一些库(DLL)。但是,为了防止某种DLL ____,每个产品都在其自己的程序文件夹中包含库的副本(相应的
组件不共享且具有不同的组件GUID)。


目前,我正在准备新的升级并遇到以下行为:我安装了两个产品(A和B),两个产品都包含pc.dll的单独副本。升级A时没有启动A或B的应用程序,一切都很好(没问题,
没有警告)。但是,当A和B的应用程序启动时(假设a和b),包​​括pc.dll,"使用中的文件对话框"和出现不仅显示a,而且b。 Windows Installer日志包含多个信息行,表示a和b使用pc.dll
(在A的程序文件夹中)。当然,事实并非如此,因为我可以使用Process Explorer验证a链接A\pc.dll而b链接B\pc.dll。


现在,这显然是Windows Installer服务中的另一个错误。有没有其他人遇到过这种行为?任何人都可以想到可能的解决方法吗?


谢谢!


 

解决方案

您好El.Derwisch,


安装msi软件包时的安装目录是什么?如何在A和B应用程序中加载dll?


在我们继续之前,您可以将pc.dll从A移动到其他任何地方并运行A和B以查看它们是否可以成功运行。然后您可以按照相同的方式测试B中的pc.dll吗?无论如何,问题似乎与Windows安装程序无关,
但是应用程序,日志只显示安装中遇到的错误或其他内容。如果您能提供有关A和B结构的更多信息,或者如何创建A和B的msi包,我们将不胜感激。


问候,

Aland李


Hello, everyone!

I developed a couple of MSI setups for my company. Although different products, some libraries (DLLs) are used by all setups. However to prevent some sort of DLL ____, each product includes copies of the libraries in their own program folder (the respective components are not shared and have different component GUIDs).

Currently, I'm preparing a new upgrade and encountered the following behaviour: I've got two products installed (A and B), both including separate copies of pc.dll. When upgrading A with no applications from A or B started, everything is fine (no questions, no warnings). However, when applications from A and B are started (let's say a and b), both including pc.dll, the "File in Use Dialog" appears showing not only a, but also b. The Windows Installer log includes several info lines indicating that pc.dll (in the program folder of A) is used by a and b. Of course, this is not true, as I can verify using Process Explorer that a is linking A\pc.dll and b is linking B\pc.dll).

Now, this is obviously another bug in the Windows Installer service. Has anyone else encountered this behaviour? Can anyone think of a possible workaround?

Thanks!

 

解决方案

Hi El.Derwisch,

What is the installation directory when you install the msi package? How is the dll loaded in both A and B applications?

Before we go any further, you could move the pc.dll from A to anywhere else and run A and B to see if they can run successfully. You could then test pc.dll in B by following the same way? Whatever, the issue seems not to be related to the windows installer, but the application, the log only shows the errors or other things it met in installation. It is appreciated if you could provide more informaton about the structure of A and B or how you create the msi packages of A and B.

Regards,
Aland Li


这篇关于Windows Installer在“使用中的文件对话框”中显示其他应用程序的文件。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆