这种安装COM +的方法行得通吗? [英] Would this method of installing COM+ work?

查看:84
本文介绍了这种安装COM +的方法行得通吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在尝试使用 WiX 3.7 安装 COM +程序集.我一直在使用在StackOverflow上找到的几个WiX代码段.尽管我可以生成MSI,但是当我安装MSI时,它会失败,并显示如下错误:

I've been trying to use WiX 3.7 to install a COM+ assembly. I've been using several WiX code snippets I found here on StackOverflow. Although I can generate an MSI, when I then install the msi it fails with errors that look like this:

RegisterComPlusAssemblies: DLL: C:\Program Files\Kutana\Kappris\Carson.dll
ComPlusInstallExecute:  ExceptionInfo: Code='0', Source='System.EnterpriseServices',    Description='Could not install type library 'C:\Program Files\Kutana\Kappris\Carson.tlb' into application 'COM+ Carson - Kappris Print Cache'.', HelpFile='', HelpContext='0'
ComPlusInstallExecute:  Error 0x80020009: Failed to invoke RegistrationHelper.InstallAssembly() method
ComPlusInstallExecute:  Error 0x80020009: Failed to register .NET assembly
ComPlusInstallExecute:  Error 0x80020009: Failed to register assembly, key: MyComPlusAssembly
ComPlusInstallExecute:  Error 0x80020009: Failed to register assemblies

无论我怎样尝试,WiX都无法做到这一点.我知道其他人在用WiX安装COM +时也遇到了同样的问题,但是我认为没有人会责怪WiX.

No matter what I try I can't do this with WiX. I know other people have had the same problem installing COM+ with WiX but I don't think anyone's got further than blaming WiX.

我想知道是否可以从创建MSI安装程序的组件服务控制面板中手动导出COM +应用程序.然后,我可以使用dark.exe从MSI生成WiX源代码.

I wondered if it would be OK to manually export the COM+ application from the Component Services control panel, which creates an MSI installer. And then I could use dark.exe to generate WiX source code from the MSI.

我实际上已经做到了,我可以构建一个安装COM + App的MSI.但这是个好主意吗?

I've actually done this and I can build an MSI that installs the COM+ App. But is this a good idea?

我有一个疑虑:首先,即使我使用regsvcs手动注册了程序集,该组件现在也已在GAC中注册,而该组件不在GAC中.其次,导出的MSI包含三个文件-dll,其关联的tlb和另一个"APL"文件,该文件是作为导出的副作用而生成的未记录的内部格式.

I have misgivings: Firstly, the component now gets registered in the GAC even though when I manually registered the assembly using regsvcs it wasn't in the GAC. Secondly, the exported MSI contains three files - the dll, its associated tlb and another 'APL' file which is an undocumented internal format generated as a side-effect of the export.

使用这种安装COM + App的方法,人们会看到什么问题?我应该担心我对APL文件一无所知吗?如果您能告诉我如何使用WiX做到这一点,我将对此感到满意.只是希望能够进行安装...

What problems can people see using this method of installing a COM+ App? Should I worry that I don't know anything about the APL file? If you can tell me how to do it using WiX I'd be happy with that. Just looking to be able to do the installation...

推荐答案

COM +部署 :即使我经验丰富,我也只处理过几次COM +设置开发人员.处理起来似乎很杂乱,记录极差,而且最糟糕的是:导致 intermittent problems -最糟糕的调试问题,因为我在不同的MSI运行中遇到了不同的结果.通常它可以正常工作,但有时会崩溃,然后在某些时候反复崩溃.我测试了很多.我得出的结论是,由于COM +是某种分布式事件的事件队列(我对该技术不太了解),因此在每次设置运行期间都有足够的机会混淆变量.

COM+ Deployment: I have only dealt with COM+ a few times, even though I am an experienced setup developer. It seems genuinely messy to deal with, extremely poorly documented and worst of all: causing intermittent problems - the worst kind of problems to debug since I experienced different results on different MSI runs. Generally it worked, but sometimes it crashed, and then it crashed repeatedly at some points. I tested a lot. I concluded that since COM+ is some sort of event queue for distributed events (I don't know too much about the technology) there are ample opportunities for confounding variables during each setup run.

组件服务 :我相信我最终在某一点上使用了从Component Services导出的MSI,而在其他点上,我在系统上设置了COM +应用程序,在构建时将其导入到Installshield.我记得这两种方法都存在问题.我不记得所有的细节,那是很久以前的事了.与从组件服务导出的COM dll相比,Installshield注册的COM设置要少.即使与Installshield支持人员交谈后,我也从来没有想过为什么.还必须将应用程序正确安装在构建系统上,以便能够导入它.在构建计算机上很麻烦且不受欢迎.

Component Services: I believe I ended up using the exported MSI from Component Services at one point, and at other points I set up the COM+ application on the system and imported it to Installshield at build time. As I recall there were problems with both approaches. I don't remember all the details, it was long ago. Installshield registered fewer COM settings than the exported COM dll from component services. I never figured out why, even after talking to Installshield support. It was also necessary to have the application properly installed on the build system to be able to import it. Hassle and undesirable on a build computer.

APL文件 :如果您是我,我将按原样使用导出的MSI,并且可能与安装您的应用程序其余部分的另一个MSI一起单独运行-将其全部嵌入批处理文件或使用引导程序.我绝对记得要尝试更改导出的MSI,并在此过程中反复中断它. APL文件未正确应用于COM +应用程序时出现某种问题(APL文件是某种我从未理解过的COM +设置文件-很大程度上未记录).再说一次:对整个过程的记录极差,而我却从不知道为什么会发生.

APL File: If I were you I would use the exported MSI as it is, and perhaps run it separately along with another MSI installing the rest of your application - embed it all in a batch file or use a bootstrapper. I definitely remember trying to change the exported MSI and have it break repeatedly in the process. Some sort of problem with the APL file not being applied properly to the COM+ application (the APL file is some sort of COM+ settings file that I never understood - largely undocumented). Again: extremely poorly documented the whole process, and I never figured out why it happened.

很抱歉没有更多帮助,但我仍会发布此信息以确保 这些信息在那里,人们知道他们正在得到什么 与COM +. 我建议使用从组件服务中导出的MSI,导出后请勿触摸它.

Sorry for not being of more help, but I will still post this to ensure this information is out there and people know what they are getting into with COM+. Use the exported MSI from Component Services is my advice, and don't touch it after export.

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆