Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在两个wix生成的msi安装程序中,卸载一个安装程序会导致另一个安装程序不工作_Windows_Wix_Installation_Wix3 - Fatal编程技术网

Windows 在两个wix生成的msi安装程序中,卸载一个安装程序会导致另一个安装程序不工作

Windows 在两个wix生成的msi安装程序中,卸载一个安装程序会导致另一个安装程序不工作,windows,wix,installation,wix3,Windows,Wix,Installation,Wix3,我有两个使用wix(3.11版)创建的安装程序。安装程序共享很少的dll/ocx文件(旧的VB模块) 单独安装时,安装人员工作正常。或者当两个安装程序都安装时。但如果我卸载了任何一个应用程序,那么另一个应用程序就不会启动(甚至不会启动) 我正在使用以下类型的组件标记 由于错误错误CNDL0047,我无法使用heat.exe获取dll:TypeLib元素未播发,因此需要 父文件元素。()。 所以我把它做成了SelfReg。现在我坚持这个问题。有没有解决这个问题的线索 虚拟化:您是否处于使用这些

我有两个使用wix(3.11版)创建的安装程序。安装程序共享很少的dll/ocx文件(旧的VB模块)

单独安装时,安装人员工作正常。或者当两个安装程序都安装时。但如果我卸载了任何一个应用程序,那么另一个应用程序就不会启动(甚至不会启动)

我正在使用以下类型的
组件
标记


由于错误
错误CNDL0047,我无法使用heat.exe获取dll:TypeLib元素未播发,因此需要
父文件元素。
()。 所以我把它做成了SelfReg。现在我坚持这个问题。有没有解决这个问题的线索

虚拟化:您是否处于使用这些应用程序的公司环境中?你能改用现代的App-V软件包吗?这是一个基本上按需安装(启动时)的包,允许它部署的应用程序运行“沙盒”或与系统上的其他应用程序隔离。应该消除干扰问题。您还可以通过VMWare等系统使用虚拟机,在其自己的操作系统中运行有问题的应用程序。如果需要,虚拟机还允许您使用管理员权限运行某些应用程序。如果贵公司有包装团队,请与他们谈谈


我提出上述建议的原因是,我知道VB6应用程序基本上无法部署。他们有各种各样的奇怪的问题,要花很长时间才能解决,而且解决的效果从来没有那么好。

这可能是更复杂的问题,但是要从臀部开始:搜索
-svb6
。在卸载一个MSI后,验证这些条目是否仍在注册表中。至少值得一看。您是否使用ProcMon.exe进行了分析,以找到导致问题的缺少注册?我可以稍后提供有关这方面的详细信息,但不是现在。我想提及的是-实际上是将注册表项放在清单文件中。这不是一件小事,但是对于VB6部署来说,不涉及注册表也是可能的。我建议您首先查看一下它是否是一个微不足道的东西。例如,缺少一个共享注册表项。感谢您的回复。很遗憾,我无法使用App-V打包工具。我将尝试按照您的建议使用选项
-svb6
。您的目标平台是什么?Windows 10?我们必须支持Windows 2012,到2016年,同样需要支持Windows 7和Windows 10。但是构建机器是Windows 2003:(。
  <Component Id="cmpFF2764B47716F09AAAEBF0C6DC2324E9" Guid="{6A11D493-3293-45DE-B169-B624A26B6D98}" Shared="yes" SharedDllRefCount="yes">
    <File Id="filB539B5FD161C1FA29A10F82339F88A83" KeyPath="yes" Source="$(var.SourceBasePath)\COMMON_FILES\Common\Servers\libsrv.dll" SelfRegCost="1"/>
  </Component>