64位应用程序中的Wix 32位COM

64位应用程序中的Wix 32位COM,com,wix,32bit-64bit,Com,Wix,32bit 64bit,我正在使用Wix为一个应用程序创建一个安装程序,虽然它是64位的,但使用一些较旧的32位COM。我发现我必须将组件标记为Win64=“no”,以便在WOW6432节点中反映该COM的注册 但是,如果我这样做,我将无法再将该组件安装在与应用程序其余部分相同的目录中,因为我在生成时收到以下错误消息: Light0204:ICE80:此32位组件MyCom.dll使用64位目录应用程序文件夹 我不想在32位文件夹中安装COMs;我宁愿把我的申请放在一起。但是,如果我删除组件上的Win64=“no”标记

我正在使用Wix为一个应用程序创建一个安装程序,虽然它是64位的,但使用一些较旧的32位COM。我发现我必须将组件标记为Win64=“no”,以便在WOW6432节点中反映该COM的注册

但是,如果我这样做,我将无法再将该组件安装在与应用程序其余部分相同的目录中,因为我在生成时收到以下错误消息:

Light0204:ICE80:此32位组件MyCom.dll使用64位目录应用程序文件夹

我不想在32位文件夹中安装COMs;我宁愿把我的申请放在一起。但是,如果我删除组件上的Win64=“no”标记,该组件将无法正确注册,我将无法使用它。
因此,我是否可以在64位应用程序的其余部分安装32位COM,并且仍然让Wix进行注册而不必求助于自注册?

处理此问题的典型方法是创建32位MSI和64位MSI,然后使用引导程序(如Wix Burn)封装它们

我倾向于主要进行.NET开发,通常我只编译32位的应用程序,而不是任何CPU。一个64位进程占用32位COM服务器的AFAIK很棘手


处理此问题的典型方法是创建32位MSI和64位MSI,然后使用引导程序(如WiX Burn)封装它们

我倾向于主要进行.NET开发,通常我只编译32位的应用程序,而不是任何CPU。一个64位进程占用32位COM服务器的AFAIK很棘手


我想这是一个导致构建失败的错误。如果可以的话,编译32位可能没那么糟糕吧?在我看来,将该文件安装到32位文件夹也不错,不过我知道您不喜欢它。我想这是一个导致构建失败的错误。如果可以的话,编译32位可能没那么糟糕吧?在我看来,将该文件安装到32位文件夹也不错,不过我知道您不喜欢它。