我使用WiX为应用程序构建安装程序(MSI),该工作正常,除了这些不合理数量的应用程序正在使用需要通过此设置更新的文件":
某些用户有时会遇到这种情况,我不太明白为什么会这样,以及如何解决这个问题。我没有看到我的应用程序的安装过程与所有这些应用程序冲突的原因,而且我不确定如何进一步调查它。
我的应用程序是一个独立的桌面应用程序 - 不是任何附加组件,也不是与列出的任何应用程序交互或依赖的东西。
我的安装过程的步骤:
有关如何解决此问题或至少调查导致此问题的建议,我们将不胜感激: - )
答案 0 :(得分:2)
仅在运行安装程序且桌面应用程序已在运行时才会发生吗?
要进一步调查,最好看的是您的日志文件。日志文件将包含有关其他进程持有的文件的详细信息,如:
Info 1603. The file C:\...\abc.exe is being held in use by the following process: Name: xyz, Id: 19010, Window Title: 'xyz'. Close that application and retry.
Info 1603. The file C:\...\abc.dll is being held in use by the following process: Name: xyz123, Id: 9243, Window Title: 'xyz123'. Close that application and retry.
确定其他进程正在使用的实际文件后,它将帮助您找出根本原因。基本上,INSTALLVALIDATE Windows安装程序操作确定活动进程当前是否正在使用一个或多个要覆盖或删除的文件。如果任何文件在File costing期间被任何进程打开执行或修改时被覆盖或删除,则会将条目添加到内部FilesInUse表中。 FilesInUse表包含文件名和完整路径的列。执行InstallValidate操作时,安装程序将在FilesInUse表中查询条目,并使用该文件确定进程的名称。 InstallValidate操作为ListBox用户界面表添加一条记录,用于此查询标识的每个唯一进程。