我有一个奇怪的msi !!!
我已经在64位机器上安装了我的32位msi(target = x86),除了一些无法加载的COM dll并且“尝试加载格式不正确的程序”之外,每件事似乎都能正常工作。来自HRESULT的异常:0x8007000B)“此错误。
我注意到相同的COM dll在开发环境中的64位机器上工作正常。我无知为什么msi安装COM有问题。
此致
吉里什
答案 0 :(得分:0)
您的C#程序(exe项目)必须编译为x86(32位)才能加载x86库。
答案 1 :(得分:0)
如果您使用InstallShield创建MSI,则合并到注册表中的COM信息可能位于或未位于正确的位置。由于InstallShield通常会在安装程序构建期间提取注册表信息,并在安装时将其合并到注册表中,如果您没有对此进行双重检查,它可能会或可能不会使事情正确。
您需要确保32位组件的COM信息仅存在于Wow6432Node键下。