Windows 10 上的 MSI 不会注册 OCX(即使以管理员身份运行)

Windows 10 上的 MSI 不会注册 OCX(即使以管理员身份运行)

使用 Visual Studio Installer 项目构建了一个 MSI。生成的 MSI 是几年前在 Windows 7 上开发的,并且在那里运行良好。

有一个合并模块(MSM),它应该将 OCX 转储到 32 位系统文件夹(通常是C:\Windows\SysWOW64)并在其中注册HKEY_CLASSES_ROOT

当我在 Windows 10 上运行安装程序(以本地管理员组中的用户身份)时,它会将 OCX 文件添加到系统文件夹,但注册失败且没有任何提示(COM 组件只是不是当我稍后检查时,它会出现在注册表中。)

我尝试使用管理员命令提示符运行 MSI msiexec /i,但没有完成注册。

使其工作的唯一方法是,从管理员命令提示符中,使用 手动注册 OCX 文件regsvr32

有什么见解吗?我需要以某种方式更改 MSI 吗?或者以不同的方式运行它?

答案1

请按照以下步骤操作:

  1. 不要尝试通过普通用户安装 MSI(根据设计,它不应该起作用)
  2. 根据您制作 MSI 文件的方式,在您的 MSI 中添加 regsrv。
  3. 以兼容模式运行。
  4. 查看创建该文件的 msi 安装程序版本(它可能与 Win10 不兼容)
  5. 他们对 MSI 文件的处理方式做了一些改变,得到了 orcahttps://msdn.microsoft.com/en-us/library/windows/desktop/aa370557(v=vs.85).aspx并运行测试来查看问题出在哪里,它有一个针对 MSI 文件的测试套件并突出显示问题(红色)。
  6. 如果其他方法都失败了,请查看 Windows 10 SDKhttps://msdn.microsoft.com/en-us/library/windows/desktop/aa372834(v=vs.85).aspx

相关内容