【发布时间】:2020-07-28 15:55:59
【问题描述】:
我正在使用 Wix 为一个应用程序创建安装程序,该应用程序虽然是 64 位,但使用了一些较旧的 32 位 COM。我发现我必须将组件标记为 Win64="no" 才能使该 COM 的注册反映在 Wow6432Node 中。
但是,如果这样做,我将无法再将该组件安装在与应用程序的其余部分相同的目录中,因为我在构建时收到以下错误消息:
Light0204:ICE80:这个 32BitComponent MyCom.dll 使用 64BitDirectory APPLICATIONFOLDER
我不想将我的 COM 安装在 32 位文件夹中;我宁愿把我的应用程序放在一起。但是,如果我删除组件上的 Win64="no" 标记,则该组件无法正确注册并且我无法使用它。 那么,我是否可以将我的 32 位 COM 与我的 64 位应用程序的其余部分一起安装,并且仍然让 Wix 进行注册而不诉诸自我注册?
【问题讨论】:
-
我猜这是导致构建失败的错误? You can suppress such ICE errors。如果可以,编译 32 位可能不会那么糟糕?我认为将该文件安装到 32 位文件夹也可以,但我知道您不喜欢它。
标签: com wix 32bit-64bit