调用RegistrationServices.RegisterAssembly()方法时调用时遇到问题。我正在编写一个安装程序,该程序应该尽可能通用。此安装程序调用RegisterAssembly,并使用"任何CPU"建立目标。
安装程序应该在配置文件中注册用户指定的组件。例如,这可以是DLL。尝试注册使用目标x86构建的DLL时出现问题。在安装程序(使用"任何CPU"构建)在x64平台上运行时,对RegistrationServices.RegisterAssembly()的调用失败,因为RegisterAssembly调用尝试注册x64二进制文件但事实上是32位。
简而言之,我想以某种方式调用RegisterAssembly方法,它应该在程序集为32位时尝试注册32位程序集,否则注册64位程序集。除了必须为两个平台重建安装程序之外,还有什么办法吗?