从一个 VS 设置项目 MSI 在 64 位计算机上部署 32 和 64 位 COM 对象

发布于 2024-08-31 23:46:10 字数 262 浏览 1 评论 0原文

我有一个 Shell 命名空间扩展 C++ COM DLL,必须在 64 位计算机上同时安装 32 位和 64 位版本,因为当 32 位应用程序执行 file->打开出现的对话框是 32 位 shell。问题是我的 32 位和 64 位 COM 对象都具有相同的 progid,并且 VS 安装项目在包含两个具有相同 progid 的文件时将引发错误。如果我想为 32 位和 64 位维护相同的代码,如何解决这个问题?目前我只有两个不同的 MSI(32 和 64),并且它们都必须在 64 位机器上运行。

I have a Shell Namespace Extension C++ COM DLL that must have both a 32 bit and 64 bit version installed on a 64 bit machine, because when 32 bit applications perform a file-> open the dialog that is presented is a 32 bit shell. The problem is that both my 32 bit and 64 bit COM objects have the same progid and the VS setup project will throw an error when including two files with the same progid. How do I get around this issue if I want to maintain the same code for both 32 and 64 bit? Currently I just have two different MSI's (32 and 64) and they both must be ran on the 64 bit machine.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幽梦紫曦~ 2024-09-07 23:46:10

不给他们同样的progid吗?因为它们无论如何都不能互操作......?

Do not give them the same progid? As they are anyway not interoperable...?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文